是否有一個腳本可以找到沒有集羣索引但具有Sql server 2008 R2的主鍵的表?請告訴我。找到沒有集羣索引但帶有表上的主鍵的表
1
A
回答
2
事情是這樣的:
SELECT
so.name AS TableName,
si.name AS IndexName,
si.type_desc AS IndexType,
si.is_primary_key
FROM
sys.indexes si
JOIN sys.tables so ON si.[object_id] = so.[object_id]
WHERE
si.type IN (0, 2)
AND si.is_primary_key=1
ORDER BY
so.name
+0
或更好:從SQL Server ** 2005 **開始,使用更具體的'sys.tables' - 節省您不必爲表格指定'type ='U'' ..... – 2013-02-26 15:56:28
+1
@ marc_s:我更新了答案。這是你的意思嗎? – Arion 2013-02-26 16:09:35
+0
好多了!另外:我認爲它應該是'si.type IN(0,2)' - 「0」是「堆」,「2」是其他非聚集索引。 – 2013-02-26 16:16:09
1
select O.name
from sys.objects as O
inner join sys.indexes as I1
on O.object_id = I1.object_id
inner join sys.indexes as I2
on O.object_id = I2.object_id
where O.type = 'U' and -- U = Table (user-defined)
I1.type = 0 and -- 0 = Heap
I2.is_primary_key = 1
相關問題
- 1. 在表的主鍵上有索引嗎?
- 2. 沒有主鍵的聚集索引
- 3. Zend_Db_Table_Exception:表必須有一個主鍵,但沒有找到
- 4. zend Framework quickstart表必須有一個主鍵,但沒有找到
- 5. 複製帶有索引但沒有數據的Oracle表
- 6. MYSQL沒有鍵/索引的加入表
- 7. 表沒有主鍵
- 8. 沒有主鍵的表格
- 9. 沒有主鍵的Rails表
- 10. 在表中沒有任何索引的主鍵?
- 11. 沒有主鍵的表的列表
- 12. 錯誤有在引用表上沒有主或候選鍵
- 13. 有在引用表上沒有主或候選鍵
- 14. 創建一個沒有聚集索引的mysql主鍵?
- 15. 發票項目表集羣索引表
- 16. 有在引用表上沒有主或候選鍵的引用列列表中的外鍵
- 17. MySQL查找所有帶有全文索引列的表格
- 18. Lucene的搜索沒有找到關鍵字索引字段
- 19. 表沒有主鍵c#
- 20. 表沒有主鍵(MissingPrimaryKeyException)
- 21. SQL Server中主鍵(集羣)和集羣唯一索引之間的區別
- 22. 卡桑德拉主鍵沒有集羣鍵
- 23. 數據保存到表沒有主鍵
- 24. Erlang:獲取多主機羣集上所有節點的列表
- 25. 任何表中都沒有找到索引 - 是否有可能?
- 26. Cassandra選擇可能沒有主鍵的集羣密鑰範圍
- 27. 沒有主鍵的表的JPA實體
- 28. 沒有聚集索引的表被認爲是堆表?
- 29. 我們如何找到沒有任何索引的表格(PostgreSQL)
- 30. 在分區表上設置羣集主鍵的更好方法?
您可以使用元數據方案。 – 2013-02-26 14:40:36