事件
3月31日 下午11時 - 4月2日 下午11時
最大的 SQL、網狀架構和 Power BI 學習事件。 3 月 31 日 - 4 月 2 日。 使用程式代碼 FABINSIDER 來節省 $400 美元。
立即註冊適用於:SQL Server
Azure SQL 資料庫
Azure SQL 受控執行個體
報告和更正目錄檢視中不準確的頁面和資料列計數。 這些不準確的內容可能會使 sp_spaceused
系統預存程序傳回不正確的空間使用方式報表。
DBCC UPDATEUSAGE
( { database_name | database_id | 0 }
[ , { table_name | table_id | view_name | view_id }
[ , { index_name | index_id } ] ]
) [ WITH [ NO_INFOMSGS ] [ , ] [ COUNT_ROWS ] ]
要報告與更正空間使用方式統計資料之資料庫的名稱或識別碼。 如果指定 0,就會使用目前的資料庫。 資料庫名稱必須符合識別碼的規則。
要報告與更正空間使用方式統計資料之資料表或索引檢視的名稱或識別碼。 資料表和檢視表名稱必須符合識別碼的規則。
要使用之索引的識別碼或名稱。 若未指定,陳述式會處理指定資料表或檢視表的所有索引。
接受即將指定的選項。
隱藏所有參考訊息。
指定利用資料表或檢視表中目前的資料列計數來更新 row count 資料行。
DBCC UPDATEUSAGE
會更正資料表或索引中每個資料分割的資料列、使用頁面、保留頁面、分葉頁和資料頁的計數。 如果系統資料表中沒有不準確的內容,DBCC UPDATEUSAGE
不會傳回任何資料。 如果找到且更正了不準確的內容,就不會使用 WITH NO_INFOMSGS,DBCC UPDATEUSAGE
會傳回系統資料表要更新的資料列和資料行。
DBCC CHECKDB
已經增強,可偵測到頁面或資料列計數變成負數。 偵測到此狀況時,DBCC CHECKDB
輸出會包含警告及執行 DBCC UPDATEUSAGE
以處理此問題的建議。
我們的建議如下:
DBCC UPDATEUSAGE
,因為 SQL Server 在大部分情況下會維護中繼資料。 DBCC UPDATEUSAGE
應該視需要執行,例如,當您懷疑 sp_spaceused
傳回不正確的值時。 DBCC UPDATEUSAGE
可能需要一些時間才能在大型資料表或資料庫上執行。DBCC UPDATEUSAGE
(例如每週)。DBCC UPDATEUSAGE
會傳回 (值可能不同):
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
需要 系統管理員 固定伺服器角色或 db_owner 固定資料庫角色中的成員資格。
下列範例會在資料庫名稱中指定 0
,而 DBCC UPDATEUSAGE
會報告目前資料庫的已更新頁面或資料列計數資訊。
DBCC UPDATEUSAGE (0);
GO
下列範例會將資料庫名稱指定為 AdventureWorks2022
,且會抑制所有參考訊息。
DBCC UPDATEUSAGE (AdventureWorks2022) WITH NO_INFOMSGS;
GO
下列範例會報告 Employee
資料庫中 AdventureWorks2022
資料表的已更新頁面或資料列計數資訊。
DBCC UPDATEUSAGE (AdventureWorks2022, 'HumanResources.Employee');
GO
下列範例會指定 IX_Employee_ManagerID
來做為索引名稱。
DBCC UPDATEUSAGE (AdventureWorks2022, 'HumanResources.Employee', IX_Employee_OrganizationLevel_OrganizationNode);
GO
事件
3月31日 下午11時 - 4月2日 下午11時
最大的 SQL、網狀架構和 Power BI 學習事件。 3 月 31 日 - 4 月 2 日。 使用程式代碼 FABINSIDER 來節省 $400 美元。
立即註冊