Sql-Server

使用者數據庫設置是否會影響系統數據庫的維護作業時間?

  • March 29, 2018

我有一個 SQL Server 2008,對於維護解決方案,我使用 Ola Hallengren 腳本。最近,在這台伺服器上的 15 個數據庫中,我對其中的三個(不是系統數據庫,而是使用者數據庫)進行了兩次更改。我刪除了鏡像並將恢復模式從完全更改為簡單。這完成了在 SQL Server Management Studio 上執行 sql 命令。

從我進行這些更改的那一天起,我就注意到 Ola Hallengren 的 sql 作業的異常行為,用於對系統數據庫進行完整性檢查和完整備份。要理解,雖然 2 分鐘足以執行並完成作業,但現在它需要大約 10 分鐘來完成相同的作業。因此,此時 SQL Server 上的 I/O 會增加,並且會出現超時。

我不知道,如果執行以下命令可能會影響系統數據庫,我也找不到任何地方。

ALTER DATABASE <database_name> SET PARTNER OFF
and
USE master ;
ALTER DATABASE <database_name> SET RECOVERY SIMPLE ;

其中 database_name 是我進行更改的使用者數據庫,而不是系統。

是否有可能使這些更改影響系統數據庫上的任何內容?

這些更改不會影響系統備份執行所需的時間。

作為第一步,我將更改作業計劃,以便完整性檢查和系統備份不會同時執行。

還要確保沒有其他作業與其中任何一個同時執行。

如果您沒有適當的監控,請在備份執行時跳轉到伺服器,查看伺服器的負載情況。您也可以嘗試將 Fulls 向後移動一個小時左右,看看時間變化是否有影響。

在對 Sql Server 進行了一個星期的調查後,又離線了 3 個數據庫,看來我終於通過在 msdb 系統數據庫上重建索引來解決問題。我查看了索引的碎片化,其中大多數平均超過 50%。重建索引、完整性和完整備份系統數據庫的 sql 作業恢復正常時間完成。

問題仍然存在,因為我沒有定義根本原因以及重建索引後問題似乎得到解決的原因。

引用自:https://dba.stackexchange.com/questions/127080