Sql-Server

使用分佈式維護計劃備份多個實例係統數據庫

  • April 2, 2016

我正在執行多個 SQL Server 2104 實例的伺服器上執行維護計劃。

我已經制定了一個夜間維護計劃,為所有使用者數據庫執行備份,備份設置為創建自己的子目錄。

這在目前設置下非常有效——所有備份都位於它們自己的特定位置。

但是,我很好奇如果多個實例上的數據庫共享相同的數據庫名稱會發生什麼 - 有沒有辦法在維護計劃中添加額外的級別以包含實例名稱?

我也不是 SQL Server 維護計劃的擁護者——很久以前就使用過它們,並且到處都有片狀錯誤,而且我也必須維護和支持多個 SQL Server 實例的多個 DB FULL 和 TRANSACTIONAL 日誌備份。

為了簡化 DBA 備份操作,最好看看使用 PowerShell。您可能需要測試並了解一些語法,但它非常健壯。您可以在所有實例上備份所有數據庫,並在 SQL Server 實例名稱後附加一個變數,以便名稱或您的完整備份 bak 文件可能類似於 ..bak。

我認為您必須從 BAK 文件名中解析某些字元,因此使用簡單的 PowerShell 替換命令(例如,將“\”替換為“_”等)可以輕鬆解決此問題,並且您可以循環所有 SQL Server 實例名稱在一個程式碼塊中 - 如果您不想在文件級別指定實例名稱,甚至不需要使用單獨的子文件夾。您還可以將每個實例的第一級子文件夾創建為 /SQLInstanceName ,然後每個子文件夾都可以包含數據庫名稱,以獲取另一個快速的想法——雖然不確定維護計劃是否可以做到這一點。

這是非常強大的東西,一旦你開始使用它,事情就會變得容易得多。

如果您願意,我可以向您發送一些我用於此類目的的範例腳本,並且還需要一些 SQL Server 實例級別的配置來啟用 SQL PS 等,但我想我對此有註釋,我也可以提供.

下面有兩篇文章用於初步研究等。如果您希望我提供進一步的資訊,請告訴我,但這是我的一些快速想法。

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