索引碎片會嚴重影響查詢效能。定期檢查「掃描密度」應接近 100%。
DECLARE @table_id INT
SET @table_id = OBJECT_ID('你的資料表名稱')
DBCC SHOWCONTIG(@table_id)
重點觀察 Scan Density,若低於 100% 表示有碎片。
DBCC DBREINDEX('資料表名稱', 'PK_索引名稱', 100)
填入主鍵索引名稱,填因子 100 表示填滿頁面。
DBCC DBREINDEX('資料表名稱', '', 100)
注意:極度碎片化的資料表,即使重建也不一定能達 100%,視資料分布而定。
錯誤訊息:「以前進行的程序建立了掛起的檔案操作,執行安裝程式前,必須重新啟動」
sqlsp.out 顯示:[TCP/IP Sockets]Specified SQL Server not found.
原因:SP3 安裝過程未監聽 TCP/IP 埠。
在 Query Analyzer 或 `isql` 執行:
SELECT @@VERSION
回傳範例:
Microsoft SQL Server 2000 - 8.00.760 (Intel X86) Dec 17 2002 ... Enterprise Edition on Windows NT 5.0 (Build 2195: Service Pack 3)
關鍵版本號對照:
| 版本號 | 對應版本 |
|---|---|
| 8.00.194 | SQL Server 2000 RTM |
| 8.00.384 | SP1 |
| 8.00.534 | SP2 |
| 8.00.760 | SP3 |
亦可用 `xp_msver` 取得更詳細資訊。
最常用也最關鍵的操作。新手必須掌握: