sql >> Databasteknik >  >> RDS >> Sqlserver

lista över tabeller utan index i sql 2008

Detta bör täcka det du letar efter. dvs tabeller som är heaps (inga klustrade index) och inte har några icke-klustrade index. Den använder det nya sys. tabellobjekt som användes 2005/2008.

dessutom vill du antagligen leta efter tabeller som har ett klustrat index, men som inte har några icke-klustrade index (detta är den andra delen av uttalandet som jag har lämnat kommenterat.

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. Hur undviker man dela med noll-fel i SQL?

  2. Laravel 4.2 BIT datatypproblem

  3. MySQL Cross Table Constraint

  4. MySQL rad i antal kolumner och summa