續接上集,深入剖析索引重建進階選項、統計更新細節、歷程清除與備份任務關鍵配置、清除維護任務實務參數。
USE [AdventureWorks];
GO
ALTER INDEX [AK_SalesOrderDetail_rowguid] ON [Sales].[SalesOrderDetail]
REBUILD WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON,
SORT_IN_TEMPDB = ON, IGNORE_DUP_KEY = OFF, ONLINE = ON);
GO
ALTER INDEX [IX_SalesOrderDetail_ProductID] ON [Sales].[SalesOrderDetail]
REBUILD WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON,
SORT_IN_TEMPDB = ON, ONLINE = ON);
GO
ALTER INDEX [PK_SalesOrderDetail_SalesOrderID_SalesOrderDetailID] ON [Sales].[SalesOrderDetail]
REBUILD WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON,
SORT_IN_TEMPDB = ON, ONLINE = ON);
GO
| 選項 | 說明 |
|---|---|
| 資料庫 | 所有/所有系統/所有使用者/指定資料庫 |
| 物件類型 | 資料表、檢視表、或兩者 |
| 選擇範圍 | 特定資料表/索引 (若物件類型選「兩者」則不可用) |
| 更新對象 | 全部現有統計資料 / 僅欄位統計 / 僅索引統計 |
| 掃描類型 | 完整掃描 (FULLSCAN) / 樣本百分比 / 樣本列數 |
**建議**:大型資料表維護窗口充足時用 `FULLSCAN`;窗口緊湊或極大表用 `SAMPLE 10 PERCENT` 或 `SAMPLE 10000 ROWS`。
USE [AdventureWorks];
GO
UPDATE STATISTICS [Sales].[SalesOrderDetail] WITH FULLSCAN;
DECLARE @dt DATETIME = '2007-10-21T09:26:24';
EXEC msdb.dbo.sp_delete_backuphistory @dt;
GO
EXEC msdb.dbo.sp_purge_jobhistory @oldest_date = '2007-10-21T09:26:24';
GO
EXECUTE msdb..sp_maintplan_delete_log NULL, NULL, '2007-10-21T09:26:24';
EXEC msdb.dbo.sp_start_job @job_id = N'35eca119-28a6-4a29-994b-0680ce73f1f3';
| 選項 | 說明 |
|---|---|
| 備份資料庫 | 所有/所有系統/所有使用者/指定清單 |
| 備份元件 | 完整資料庫 / 指定檔案與檔案群組 |
| 備份集過期 | 天數或具體日期,過期後允許覆寫 |
| 備份目的地 | 磁碟檔案 / 磁帶 (需裝置存在) / 網路共享 |
| 多檔案/鏡像 | 單一/多檔案條狀、鏡像備份集 (Enterprise) |
| 每資料庫建立檔案 | 自動命名、可選建立子資料夾 (權限繼承父資料夾,需收緊 NTFS ACL) |
| 驗證備份完整性 | 備份完成後執行 `RESTORE VERIFYONLY`,確保可讀性 |
記錄傳送內建獨立記錄備份/複製/還原作業。若維護計畫再建立記錄備份,將產生**兩組不連續的記錄備份鏈**。還原時需**兩組鏈完整合併**才能恢復至故障點,否則中斷點無法跨越。解決方案:啟用記錄傳送後,維護計畫**僅保留完整/差異備份任務**,記錄備份完全交給記錄傳送作業。
下集將示範精靈建立完整維護計畫、任務排序原則、排程配置、報表與通知設定。