0

特定のテーブル MyTable でいくつかのテストを行っていますが、MyTable に関連しないデータベースのすべてのテーブル/プロパティを削除する必要があります。

スクリプトや SQL Server Management Studio (2012) でそれを行うにはどうすればよいですか?

免責事項: これはローカルのテスト環境でのみ行われるものであり、本番環境について心配する必要はありません。

4

1 に答える 1

0

この便利なスクリプトの結果に含まれていないものをすべてドロップするクイック カーソルを作成できます。

WITH DepTree (referenced_id, referenced_name, referencing_id, referencing_name, NestLevel)
AS 
(
SELECT  o.[object_id] AS referenced_id , 
 o.name AS referenced_name, 
 o.[object_id] AS referencing_id, 
 o.name AS referencing_name,  
 0 AS NestLevel
FROM  sys.objects o 
WHERE o.name = 'dim_table_name'

UNION ALL

SELECT  d1.referenced_id,  
 OBJECT_NAME( d1.referenced_id) , 
 d1.referencing_id, 
 OBJECT_NAME( d1.referencing_id) , 
 NestLevel + 1
 FROM  sys.sql_expression_dependencies d1 
JOIN DepTree r ON d1.referenced_id =  r.referencing_id
)
SELECT DISTINCT referenced_id, referenced_name, referencing_id, referencing_name, NestLevel
FROM DepTree WHERE NestLevel > 0
ORDER BY NestLevel, referencing_id; 
于 2015-10-23T00:43:46.203 に答える