Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Daftar semua kolom indeks &indeks di SQL Server DB

Ada dua tampilan katalog "sys" yang dapat Anda lihat:sys.indexes dan sys.index_columns .

Itu akan memberi Anda hampir semua info yang mungkin Anda inginkan tentang indeks dan kolomnya.

EDIT:Kueri ini hampir mendekati apa yang Anda cari:

SELECT 
     TableName = t.name,
     IndexName = ind.name,
     IndexId = ind.index_id,
     ColumnId = ic.index_column_id,
     ColumnName = col.name,
     ind.*,
     ic.*,
     col.* 
FROM 
     sys.indexes ind 
INNER JOIN 
     sys.index_columns ic ON  ind.object_id = ic.object_id and ind.index_id = ic.index_id 
INNER JOIN 
     sys.columns col ON ic.object_id = col.object_id and ic.column_id = col.column_id 
INNER JOIN 
     sys.tables t ON ind.object_id = t.object_id 
WHERE 
     ind.is_primary_key = 0 
     AND ind.is_unique = 0 
     AND ind.is_unique_constraint = 0 
     AND t.is_ms_shipped = 0 
ORDER BY 
     t.name, ind.name, ind.index_id, ic.is_included_column, ic.key_ordinal;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana saya bisa menghapus baris duplikat dalam tabel

  2. Cara Mengembalikan Semua Batasan CHECK yang Tidak Tepercaya di SQL Server (Contoh T-SQL)

  3. Buat Hubungan di SQL Server 2017

  4. Cari Tahu apakah Tabel Dipartisi di SQL Server (T-SQL)

  5. Bagaimana saya bisa melakukan sesuatu seperti:GUNAKAN @databaseName