簡體   English   中英

SMO 備份失敗,錯誤 1827(完整數據庫)

[英]SMO Backup fails with error 1827 (full database)

我正在使用 SqlExpress 2012(我必須這樣做,別無選擇)。

在極少數情況下,數據庫會滿載。
現在我想備份整個數據庫,然后截斷一些表並收縮數據庫。 對於備份,我使用以下代碼:

public void BackupDatabase(string backupFilePath, string databaseServer, string databaseName, out string errorMessage)
{
    var connection = new ServerConnection(databaseServer);
    connection.StatementTimeout = 360;
    Backup backup = new Backup();
    backup.Devices.AddDevice(backupFilePath, DeviceType.File);
    backup.Database = databaseName;
    backup.Initialize = true;
    backup.Incremental = false;
    backup.Action = BackupActionType.Database;
    backup.SqlBackup(new Server(connection));
}

但是,如果我這樣做,一段時間后我會收到錯誤消息。 這是我的錯誤日志:

2020-01-20 13:42:54.89 spid10s 啟動數據庫“msdb”。
2020-01-20 13:42:54.90 spid12s 啟動數據庫“mssqlsystemresource”。
2020-01-20 13:42:54.91 spid12s 資源庫構建版本為 12.00.6108。 這只是一條信息性消息。 無需用戶操作。
2020-01-20 13:42:54.93 spid12s 啟動數據庫“模型”。
2020-01-20 13:42:55.69 spid12s 清除 tempdb 數據庫。
2020-01-20 13:43:00.07 spid12s 啟動數據庫“tempdb”。
2020-01-20 13:43:00.37 spid18s Service Broker 端點處於禁用或停止狀態。
2020-01-20 13:43:00.37 spid18s 數據庫鏡像端點處於禁用或停止狀態。
2020-01-20 13:43:00.39 spid18s Service Broker 管理器已啟動。
2020-01-20 13:43:01.02 spid10s 恢復完成。 這只是一條信息性消息。 無需用戶操作。
2020-01-20 13:43:02.66 服務器公共語言運行時 (CLR) 功能使用來自 C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319 的 CLR 版本 v4.0.30319 初始化。
2020-01-20 13:43:15.65 spid51 啟動數據庫“TESTDB”。
2020-01-20 13:43:36.75 spid51 錯誤:1827,嚴重性:16,狀態:1。
2020-01-20 13:43:36.75 spid51 CREATE DATABASE 或 ALTER DATABASE 失敗,因為由此產生的累積數據庫大小將超過每個數據庫 10240 MB 的許可限制。
2020-01-20 13:49:04.59 備份錯誤:3041,嚴重性:16,狀態:1。
2020-01-20 13:49:04.59 備份 BACKUP 未能完成命令 BACKUP DATABASE PHASIS。 檢查備份應用程序日志以獲取詳細消息。
2020-01-20 14:14:56.76 備份錯誤:3041,嚴重性:16,狀態:1。
2020-01-20 14:14:56.76 備份 BACKUP 未能完成命令 BACKUP DATABASE PHASIS。 檢查備份應用程序日志以獲取詳細消息。

在我看來,spid51 在收集所有信息后嘗試執行“創建數據庫”。 但隨后它嘗試將備份文件作為服務器實例的一部分,並且由於 10 GB 無法再增加而崩潰。

有人知道如何更改備份,以便備份不再計入數據庫限制嗎? 也許明確地給它一個新的數據庫或類似的東西?

微軟關於 SMO 的信息並不是很有幫助: https : //docs.microsoft.com/de-de/dotnet/api/microsoft.sqlserver.management.smo.backup? redirectedfrom=MSDN&view=sql-smo-140.17283 。 0

編輯:當我使用 Management Studio 進行備份時,它可以工作,但我必須以編程方式使用 smo 進行備份。

好吧,那是……呃……有點尷尬。
我將超時從 360(6 分鍾)提高到 3600(60 分鍾)並且它不再崩潰了。 所以日志條目和錯誤消息真的很混亂,讓我誤入歧途。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM