データ型uniqueIdentifierの列に構築されたすべてのクラスタードインデックスを検索しようとしています。明らかに、これはクラスタ化されたインデックスのためのひどい選択であり、私はそれらのすべてを見つけて削除しようとしています。これまでに書いたスクリプトは、uniqueIdentifierを持つすべてのテーブルのすべてのクラスタード・インデックスを返します。助けてください。ここでのスクリプトは次のとおりです。SQL Server - 特定のデータ型に基づいて構築されたすべてのクラスタードインデックスを検索するスクリプト
select distinct object_name(i.object_id) AS tablename, i.name AS indexname, i.type_desc as type
from sys.indexes i
join sys.index_columns ic on ic.object_id = i.object_id and ic.index_id = i.index_id
join sys.columns c on c.column_id = ic.index_column_id
join sys.types t on t.system_type_id = c.system_type_id
join sys.objects o on o.object_id = i.object_id
where t.name = 'uniqueidentifier'
and i.type_desc = 'clustered'
and object_name(i.object_id) not like 'sys%'
あなたの行方不明のビットが**の値がランダムに割り当てられている場合には(**例えばひどい選択です – RichardTheKiwi
をOBJECT_ID含めるべきでON句sys.columns、であるように見えます'newid()'を通して)。シーケンシャルな値が割り当てられているのであれば、必ずしもひどい選択ではありません。 –