Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

списък на таблици без индекси в sql 2008

Това трябва да покрива това, което търсите. т.е. таблици, които са купчини (без клъстерен индекс) и нямат никакви неклъстерирани индекси. Той използва новия sys. таблични обекти, използвани през 2005/2008.

в допълнение, вероятно искате да потърсите таблици, които имат клъстериран индекс, но нямат неклъстерирани индекси (това е втората част от твърдението, което съм оставил коментирано.

SELECT 
     schemaname = OBJECT_SCHEMA_NAME(o.object_id)
    ,tablename = o.NAME
FROM sys.objects o
INNER JOIN sys.indexes i ON i.OBJECT_ID = o.OBJECT_ID
-- tables that are heaps without any nonclustered indexes
WHERE (
        o.type = 'U'
        AND o.OBJECT_ID NOT IN (
            SELECT OBJECT_ID
            FROM sys.indexes
            WHERE index_id > 0
            )
        )
        --    OR
        -- table that have a clustered index without any nonclustered indexes
        --(o.type='U' 
        --        AND o.OBJECT_ID NOT IN (
        --    SELECT OBJECT_ID 
        --        FROM sys.indexes 
        --        WHERE index_id>1))  


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Възстановяване на база данни на SQL Server - главният ключ не се отваря

  2. Как мога да заключа един ред в SQL Server по начин, подобен на SELECT FOR UPDATE WAIT на Oracle?

  3. Заменете цялата дума с помощта на ms sql server replace

  4. Какво е СТАТИСТИЧЕСКО ВРЕМЕ в SQL Server?

  5. Как да създам колона, изчислена от друга колона?