Sql-Server

找不到正在創建備份的程序

  • December 21, 2017

我們在客戶伺服器上安裝了一個 SQL Server 2008 實例。客戶的 IT 部門負責機器的各種備份。

SQL Server 日誌顯示每天晚上 7 點都有完整備份,但我們找不到 SQL Server 中安排的任何計劃的證據。

我們聯繫的技術人員無法告訴我們是否有某種自動備份,他們只告訴我們整台機器正在備份。

使用我在這個論壇執行緒中找到的腳本,我發現物理設備名稱是 GUID,這意味著這是一個外部備份過程

USE [msdb]
GO 
SELECT 
   [bs].[database_name], 
   [bs].[backup_start_date], 
   [bs].[backup_finish_date], 
   [bs].Server_name,
   [bs].user_name AS [BackupCreator] ,
   [bmf].physical_device_name
FROM msdb..backupset bs  
INNER JOIN msdb..backupmediafamily bmf ON [bs].[media_set_id] = [bmf].[media_set_id] 
ORDER BY [bs].[backup_start_date] DESC

這是來自上述查詢的一行:

db_name 2015-09-16 19:01:23.000 2015-09-16 19:01:28.000
SERVER_NAME NT AUTHORITY\SYSTEM
{424F084A-F35D-4A66-8FC7-072268A89A77} 5

此外,備份開始和完成日期僅跨越 5 秒,所以我想很明顯這不是 sql server 的工作。

這是日誌中的一行:

2015-09-03 19:02:30.71 備份

數據庫已備份。

數據庫:db_name,創建日期(時間):2012/10/12(20:52:11),轉儲頁面:3290021,

第一個 LSN:276028:152755:172,最後一個 LSN:276028:152827:1,轉儲設備數:1、

設備資訊:

(FILE=1,TYPE=VIRTUAL_DEVICE:{’{95380B0A-D50B-408F-B95F-1AB8975BA7F8}5’})。

這只是一條資訊性消息。無需使用者操作。

那麼,既然他們無法幫助我們,我能做些什麼來追踪負責備份的過程呢?我們需要這個是因為我們想以有序的方式協調備份,並且為了使日誌保持在一個合理的大小也做事務日誌備份(現在我們每週都會收縮日誌,這不是一個好方法走)。

我想我找到了負責備份的程序。

我在 Windows 系統事件日誌中搜尋了資訊,並在備份感興趣的時間段中找到了以下行:

Informazioni    16/09/2015 19:01:28 MSSQLSERVER 18264   Backup
Informazioni    16/09/2015 19:01:28 MSSQLSERVER 18264   Backup
Informazioni    16/09/2015 19:01:28 MSSQLSERVER 18264   Backup
Informazioni    16/09/2015 19:01:28 ESENT   2006    ShadowCopy
Informazioni    16/09/2015 19:01:28 ESENT   2006    ShadowCopy
Informazioni    16/09/2015 19:01:28 ESENT   2003    ShadowCopy
Informazioni    16/09/2015 19:01:28 ESENT   2003    ShadowCopy
Informazioni    16/09/2015 19:01:28 MSSQLSERVER 3198    Server
Informazioni    16/09/2015 19:01:28 MSSQLSERVER 3198    Server
Informazioni    16/09/2015 19:01:28 MSSQLSERVER 3198    Server
Informazioni    16/09/2015 19:01:28 MSSQLSERVER 3198    Server
Informazioni    16/09/2015 19:01:28 MSSQLSERVER 3198    Server
Informazioni    16/09/2015 19:01:28 MSSQLSERVER 3198    Server
Informazioni    16/09/2015 19:01:28 MSSQLSERVER 3198    Server
Informazioni    16/09/2015 19:01:28 MSSQLSERVER 3198    Server
Informazioni    16/09/2015 19:01:28 MSSQLSERVER 3198    Server
Informazioni    16/09/2015 19:01:25 MSSQLSERVER 3197    Server
Informazioni    16/09/2015 19:01:25 MSSQLSERVER 3197    Server
Informazioni    16/09/2015 19:01:25 MSSQLSERVER 3197    Server
Informazioni    16/09/2015 19:01:25 MSSQLSERVER 3197    Server
Informazioni    16/09/2015 19:01:25 MSSQLSERVER 3197    Server
Informazioni    16/09/2015 19:01:25 MSSQLSERVER 3197    Server
Informazioni    16/09/2015 19:01:25 MSSQLSERVER 3197    Server
Informazioni    16/09/2015 19:01:25 MSSQLSERVER 3197    Server
Informazioni    16/09/2015 19:01:25 ESENT   2001    ShadowCopy
Informazioni    16/09/2015 19:01:25 ESENT   2001    ShadowCopy
Informazioni    16/09/2015 19:01:25 ESENT   2001    ShadowCopy
Informazioni    16/09/2015 19:01:25 MSSQLSERVER 3197    Server
Informazioni    16/09/2015 19:01:23 ESENT   2005    ShadowCopy
Informazioni    16/09/2015 19:01:23 ESENT   2005    ShadowCopy
Informazioni    16/09/2015 19:01:11 BeVssProvider   0   Nessuna
Informazioni    16/09/2015 18:38:06 VSS 8224    Nessuna
Informazioni    16/09/2015 18:29:01 VSS 8224    Nessuna

您可以清楚地看到 MSSQLSERVER 上的備份活動在 BeVssProvider 啟動的其他活動之前和之前很短,繼續使用 ESENT 的 ShadowCopy。

我搜尋了這些名稱,並且 BeVssProvider 連結到Symantec Backup Exec™ for Windows Servers ( http://systemexplorer.net/it/file-database/file/bevssprovider-exe )。

所以我猜這個軟體每天都在為機器拍攝快照(我不是這個領域的專家)。

2015-09-03 19:02:30.71 備份數據庫已備份。數據庫:db_name,創建日期(時間):2012/10/12(20:52:11),轉儲頁面:3290021,第一個 LSN:276028:152755:172,最後一個 LSN:276028:152827:1,轉儲設備數:1、設備資訊:(FILE=1,TYPE=VIRTUAL_DEVICE:{’{95380B0A-D50B-408F-B95F-1AB8975BA7F8}5’})。這只是一條資訊性消息。無需使用者操作。

備份消息中的事實VIRTUAL_DEVICE清楚地表明這不是 T-SQL 作業或 SQL Server 計劃的備份,因此您不會在 SQL Server 的任何地方找到它。您要麼有一些third party工具或windows inbuilt backup mechanism正在執行正在執行此備份的工具。

現在,如果您真的想找出備份的來源,請諮詢 windows 團隊或儲存團隊,您會得到一個不錯的主意。如果所有利益相關者都說他們不知道備份的來源(這極不可能),您可以通過禁用SQL Server VSS writerfrom來阻止此類備份的發生Services.msc

此類第三方備份依賴 SQL Server VSS 編寫器服務來連接到數據庫並進行備份。

在繼續上述操作之前,我建議您與備份/Windows 管理員交談,如果他們不知道任何此類備份,您可以繼續禁用此服務。否則你不能,你應該與他們協商更多關於這方面的資訊。

請閱讀有關 VSS 備份的資訊

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