web-dev-qa-db-ja.com

SQLファイル内のオブジェクトを一覧表示します

データベースをSQL2014からAzureSQLに移行しようとしています。

SSMSでは、データベースを右クリックしてから、「データベースをWindows AzureSQLデータベースにデプロイする」タスクを選択できます。

データベースがSECONDARYファイルグループを使用しているため、このタスクは失敗します。すべてのインデックス、ヒープなどをSECONDARYファイルグループからPRIMARYファイルグループに移動するプロセスを実行しました。

ただし、43MBのデータが含まれているため、SECONDARYファイルグループ内のファイルを削除できません。ファイルグループ内のすべてのオブジェクトを一覧表示するために私が見つけたすべてのスクリプトは、ファイルに何も残っていないと言っています。

ファイルを削除してSECONDARYファイルグループを削除できるように、このファイルグループにまだ何があるかを確認するにはどうすればよいですか?

1
Pattison

各ファイルグループのLOBオブジェクトを一覧表示するこのスクリプトを見つけました。結果に基づいて、SECONDARYファイルグループを使用しているテーブルを見つけることができました。

SELECT
    au.*,
    ds.name AS [data_space_name],
    ds.type AS [data_space_type],
    p.rows,
    o.name AS [object_name]
FROM sys.allocation_units au
    INNER JOIN sys.data_spaces ds
        ON au.data_space_id = ds.data_space_id
    INNER JOIN sys.partitions p
        ON au.container_id = p.partition_id
    INNER JOIN sys.objects o
        ON p.object_id = o.object_id
WHERE au.type_desc = 'LOB_DATA'
1
Pattison