Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

डेटाबेस में अद्वितीय बाधाओं और अनुक्रमणिका की सूची प्राप्त करें

चूंकि अद्वितीय बाधाओं को इंडेक्स के रूप में कवर के तहत लागू किया जाता है, इसलिए आप यह सारी जानकारी सीधे sys.indexes से प्राप्त कर सकते हैं:

SELECT
  [schema] = OBJECT_SCHEMA_NAME([object_id]),
  [table]  = OBJECT_NAME([object_id]),
  [index]  = name, 
  is_unique_constraint,
  is_unique,
  is_primary_key
FROM sys.indexes
-- WHERE [object_id] = OBJECT_ID('dbo.tablename');

सभी डेटाबेस के लिए दोहराने के लिए (और संभवतः किसी विशिष्ट तालिका के लिए फ़िल्टर के बिना):

DECLARE @sql NVARCHAR(MAX) = N'';

SELECT @sql += 'SELECT db = ' + name + ',
    [schema] = OBJECT_SCHEMA_NAME([object_id]),
    [table]  = OBJECT_NAME([object_id]),
    [index]  = name, 
    is_unique_constraint,
    is_unique,
    is_primary_key
  FROM ' + QUOTENAME(name) + '.sys.indexes;'
FROM sys.databases
WHERE database_id BETWEEN 4 AND 32766;

EXEC sp_executesql @sql;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. तालिका से सभी डेटा को एक सम्मिलित एसक्यूएल प्रारूप में कैसे निर्यात करें?

  2. SQL सर्वर डेटाबेस में सभी विदेशी कुंजी बाधाओं को कैसे निष्क्रिय करें - SQL सर्वर / TSQL ट्यूटोरियल भाग 77

  3. एसक्यूएल 2008 में इंडेक्स के बिना टेबल की सूची

  4. गतिशील SQL के साथ संग्रहीत प्रक्रियाओं पर SQL सर्वर अनुमतियाँ

  5. जांचें कि क्या तालिका में OBJECTPROPERTY () के साथ SQL सर्वर में एक विदेशी कुंजी है