1

SQL Server 2008-R2 データベースがあり、そのデータを別の SQL Server 2008-R2 データベースに移行しています。データベースには 400 を超えるテーブルが含まれていますが、BLOB 形式で保存された画像とドキュメントを含むすべてのテーブルを検索し、それらのアイテムを別のデータベース (SQL 2008-R2) に配置する必要があります。

次のスクリプトを使用して、Binary、Image、Varbinary、Varchar(MAX)、nVarchar(MAX) のいずれかを持つすべてのテーブルを見つけました。

SELECT 
    OBJECT_NAME(c.id) as TableName,
    c.name as ColumnName, 
    c.colid As ColumnOrder,
    st.name as UserType,
    bt.name as BaseType
FROM 
    dbo.syscolumns c
    INNER JOIN dbo.systypes st ON st.xusertype = c.xusertype
    INNER JOIN dbo.systypes bt ON bt.xusertype = c.xtype
WHERE 
    OBJECTPROPERTY(c.id,'ISTABLE') = 1
    AND((st.name = 'nvarchar' AND c.length = 8000) OR
        (st.name = 'varchar' AND c.length = 8000) OR 
        (st.name in('sql_variant','varbinary','binary','image')))
ORDER BY
    OBJECT_NAME(c.id), 
    c.colid

しかし、これはリストを半分にするだけです。これらのテーブルごとに SELECT ステートメントを作成する以外に、このデータベースで BLOB ファイルを見つける簡単な方法はありますか?

4

0 に答える 0