2016-11-23 63 views
1

選擇我得到在整個數據庫,並從以下查詢其行計數總表中未列出:記錄而從表中MSSQL

SELECT SCHEMA_NAME(A.schema_id) + '.' + 
      A.Name, SUM(B.rows) AS 'RowCount' 
    FROM  sys.objects A 
    INNER JOIN sys.partitions B ON A.object_id = B.object_id 
    WHERE  A.type = 'U' 
    GROUP BY A.schema_id, A.Name 
    Order By 'RowCount' desc 

之後,我得到下面的結果我:

enter image description here

然後終於,當我試圖從該表

select * from dbo.[xxx_$Retail ICT Header]

012的一個提取記錄

它給出0行作爲輸出......任何線索?

+3

以及您的表名是[Ltd_ $ Retail ICT Header]而不是[xxx_ $ Retail ICT Header]的外觀。 –

+1

@ Rich Benner:是的,先生我知道......但爲了安全起見,我在這裏寫xxx! ! –

+4

那真是愚蠢。你在圖片中向我們展示了你的餐桌名稱。沒有理由說,只要你的表名是正確的,你的最終查詢就不會工作。另外,請檢查您是否連接到SSMS中的正確數據庫,您是否仍然與主人連接? –

回答

0

要獲得每個表中的行數,請嘗試在查詢下面,然後通過運行select查詢進行交叉檢查。

SELECT s.name+'.'+o.name, 
    ddps.row_count 
FROM sys.indexes AS i 
    INNER JOIN sys.objects AS o ON i.OBJECT_ID = o.OBJECT_ID 
    INNER JOIN sys.schemas s on s.schema_id= o.schema_id 
    INNER JOIN sys.dm_db_partition_stats AS ddps ON i.OBJECT_ID = ddps.OBJECT_ID 
    AND i.index_id = ddps.index_id 
WHERE i.index_id < 2 AND o.is_ms_shipped = 0 ORDER BY o.NAME 
+0

同樣的問題。我認爲應該鎖定那張桌子!但我如何檢查表是否被鎖定? –

+0

運行上述查詢後,表名稱的行數是多少?它是否大於零?你檢查了嗎?@dev.Sumit – User

+0

是@Srinath先生我檢查了它,rowcount大於零。所以你怎麼看 ??是否對該表有某種保護? –