पर बनाए गए सभी क्लस्टर इंडेक्स को खोजने के लिए स्क्रिप्ट मैं डेटा प्रकार अद्वितीय इडेंडिफायर के कॉलम पर बनाए गए सभी क्लस्टर इंडेक्स को खोजने का प्रयास कर रहा हूं। जाहिर है यह क्लस्टर इंडेक्स के लिए एक भयानक पसंद है, और मैं उन सभी को खोजने और उन्हें हटाने की कोशिश कर रहा हूं। जिस स्क्रिप्ट को मैंने अभी तक लिखा है, वह सभी तालिकाओं के लिए सभी क्लस्टर इंडेक्स लौटाता है जिनके पास एक अद्वितीय इडेंटिफायर है। कृपया मदद करे। यहाँ स्क्रिप्ट है:एसक्यूएल सर्वर - एक विशिष्ट डेटा प्रकार
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%'
यह अपने लापता बिट की तरह लग रहा खंड पर sys.columns, जो object_id शामिल करना चाहिए – RichardTheKiwi
यह ** यदि ** मूल्यों बेतरतीब ढंग से आवंटित किया जा रहा है एक भयानक पसंद है (उदाहरण के लिए 'newid()' के माध्यम से)। यह अनुक्रमिक मान असाइन किए जाने पर * जरूरी * एक भयानक पसंद नहीं है। –