無法在事務中執行備份或還原操作.BACKUP DATABASE異常終止

 

BACKUP 操作未能完成命令 BACKUP DATABASE dycw2。有關詳細消息,請查看備份應用程序日誌。

SELECT *
        FROM sys.messages where message_id = 3016 or message_id = 3013 or message_id = 3201
message_id    language_id    severity    is_event_logged    text
3013    1033    16    0    %hs is terminating abnormally.
3016    1033    16    0    Backup of file '%ls' is not permitted because it contains pages subject to an online restore sequence. Complete the restore sequence before taking the backup, or restrict the backup to exclude this file.
3201    1033    16    0    Cannot open backup device '%ls'. Operating system error %ls.
3013    1031    16    0    %1! wird fehlerbedingt beendet.
3016    1031    16    0    Das Sichern der Datei '%1!' ist nicht zulässig, weil sie Seiten enthält, für die eine Onlinewiederherstellungssequenz ausgeführt werden soll. Schließen Sie die Wiederherstellungssequenz ab, bevor Sie die Sicherung vornehmen, oder schließen Sie diese Datei von der Sicherung aus.
3201    1031    16    0    Das Sicherungsmedium '%1!' kann nicht geöffnet werden. Betriebssystemfehler %2!.
3013    1036    16    0    %1! s'est terminé anormalement.
3016    1036    16    0    La sauvegarde du fichier '%1!' n'est pas autorisée car celui-ci contient des pages faisant l'objet d'une séquence de restauration en ligne. Terminez la séquence de restauration avant d'effectuer la sauvegarde ou restreignez la sauvegarde pour exclure ce fichier.
3201    1036    16    0    Impossible d'ouvrir l'unité de sauvegarde '%1!'. Erreur %2! du système d'exploitation.
3013    1041    16    0    %1! が異常終了しています。
3016    1041    16    0    オンライン復元シーケンスに依存するページが含まれるので、ファイル '%1!' のバックアップは許可されません。バックアップを実行する前に復元シーケンスを完了するか、またはこのファイルを除外するようにバックアップを制限してください。
3201    1041    16    0    バックアップ デバイス '%1!' を開けません。オペレーティング システム エラー %2!3013    3082    16    0    Fin anómalo de %1!.
3016    3082    16    0    No se permite la copia de seguridad del archivo '%1!' porque contiene páginas sujetas a una secuencia de restauración en línea. Finalice la secuencia de restauración antes de hacer la copia de seguridad o restrinja la copia de seguridad para que se excluya este archivo.
3201    3082    16    0    No se puede abrir el dispositivo de copia de seguridad '%1!'. Error de sistema operativo %2!.
3013    1040    16    0    Interruzione anomala di %1! in corso.
3016    1040    16    0    Impossibile eseguire il backup del file '%1!' perché contiene pagine incluse in una sequenza di ripristino online. Completare la sequenza di ripristino prima di eseguire il backup oppure limitare il backup in modo da escludere questo file.
3201    1040    16    0    Impossibile aprire il dispositivo di backup '%1!'. Errore del sistema operativo %2!.
3013    1049    16    0    %1! прервано с ошибкой.
3016    1049    16    0    Резервное копирование файла "%1!" не разрешено, так как он содержит страницы, указанные в последовательности восстановления в сети. Перед созданием резервной копии завершите последовательность восстановления или исключите данный файл из резервного копирования.
3201    1049    16    0    Невозможно открыть устройство резервного копирования '%1!'. Ошибка операционной системы %2!.
3013    1046    16    0    %1! está sendo encerrado de forma anormal.
3016    1046    16    0    O backup do arquivo '%1!' não é permitido porque contém páginas sujeitas a uma sequência de restauração online. Conclua a sequência de restauração antes de fazer backup, ou restrinja o backup para excluir este arquivo.
3201    1046    16    0    Não é possível abrir o dispositivo de backup '%1!'. Erro do sistema operacional %2!.
3013    1028    16    0    %1! 正在異常結束。
3016    1028    16    0    檔案 '%1!' 的部分頁面正在進行線上還原順序,因此檔案不能備份。請完成還原順序後再備份,或者限制備份以排除這個檔案。
3201    1028    16    0    無法開啟備份裝置 '%1!'。作業系統錯誤 %2!3013    1042    16    0    %1!이(가) 비정상적으로 종료됩니다.
3016    1042    16    0    파일 '%1!'은(는) 온라인 복원 순서를 따르는 페이지를 포함하므로 백업할 수 없습니다. 백업을 수행하기 전에 복원 순서를 완료하거나 이 파일을 제외하도록 백업을 제한하십시오.
3201    1042    16    0    백업 장치 '%1!'을(를) 열 수 없습니다. 운영 체제 오류 %2!입니다.
3013    2052    16    0    %1! 正在異常終止。
3016    2052    16    0    不允許對文件 '%1!' 進行備份,因爲它包含受在線還原順序約束的頁。在進行備份前應先完成還原順序,或者對備份進行限制以不包含此文件。
3201    2052    16    0    無法打開備份設備 '%1!'。出現操作系統錯誤 %2!。
if exists (select 1
          from sysobjects
          where  id = object_id('pBackupAndClearData')
          and type in ('P','PC'))
   drop procedure pBackupAndClearData
go


create procedure pBackupAndClearData @filePath nvarchar(500) as

begin
--begin transaction
backup database dycw2 to disk=@filePath;
if @@error <> 0 Goto Problem
insert into tCollectionLog(iID_tControlNodes,cNodeName,cValue,cQuality,iType,dCreate,cReturnInfo,dOPC)values('214FB509-D668-EE11-ADCA-C7E03A1C1C48','-','-','-',-1,getDate(),'backup database',getDate())
if @@error <> 0 Goto Problem
--commit transaction
goto ExitSection
Problem:
    --rollback transaction
ExitSection:
    
end
go

 


 

解決SQL SERVER數據庫備份時出現“操作系統錯誤5(拒絕訪問)。BACKUP DATABASE 正在異常終止。”錯誤的解決辦法

當我們在SQL SERVER中備份數據庫時,有時會遇到錯誤提示“操作系統錯誤5:拒絕訪問”。這種情況下,我們無法對數據庫進行備份。造成這種錯誤的原因可能是我們沒有足夠的權限或者備份路徑不正確。

下面是解決“操作系統錯誤5:拒絕訪問”錯誤的完整攻略:

一、檢查數據庫備份路徑及權限

1.檢查備份路徑

首先要確認備份文件夾所在路徑是否正確,同時可在電腦上新建一個文件夾,然後將備份文件夾重定向到該位置。此時可以通過單用戶模式重新啓動SQL SERVER,然後再進行備份操作。

2.檢查備份文件夾權限

如果備份路徑正確無誤,可能是備份文件夾權限不夠,此時需要檢查備份文件夾的權限是否滿足要求。SQL SERVER服務執行備份操作時需要具有讀寫權限,因此需要確保備份文件夾對SQL SERVER服務有足夠的權限。

二、使用特殊的T-SQL語句備份數據庫

除了通過修改備份路徑和檢查備份文件夾權限外,我們還可以使用特殊的T-SQL語句來備份數據庫。

BACKUP DATABASE [數據庫名] TO DISK = '備份文件路徑' 
WITH FORMAT, MEDIANAME = '媒體庫名稱', MEDIADESCRIPTION = '描述信息',
NAME = '備份名稱', SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 10

其中,TO DISK表示備份到硬盤上,MEDIANAME表示備份媒體庫的名稱,MEDIADESCRIPTION是關於備份的詳細描述信息,NAME是備份名稱,STATS表示備份狀態。在備份時,可以爲BACKUP數據加上WITH選項,來選用不同的備份選項,如上所述。

例如,我們可以用以下語句來備份我們的數據庫test:

BACKUP DATABASE [test] TO DISK = 'C:\test.bak' 
WITH FORMAT, MEDIANAME = 'test', MEDIADESCRIPTION = 'test描述',
NAME = 'test備份', SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 10

以上兩種方法都可以解決備份時出現“操作系統錯誤5:拒絕訪問”的問題。但如果問題依然沒有解決,建議您查看Windows事件日誌,查找更準確的錯誤信息,以便找出更好的解決方法。


 

 2010-06-28  872 views 
 
4

BACKUP failed to complete the command BACKUP DATABASE ... WITH DIFFERENTIAL. Check the backup application log for detailed messages.BACKUP未能完成命令BACKUP DATABASE

我在SQL Server日誌文件查看器中看到此消息。備份應用程序日誌在哪裏?

回答

1

最後,我發現了這個問題。它是由Windows Server 2008上的Windows備份引起的,該備份還在進行完整備份(幕後)。這導致SQL Server差異備份無法找到最後一次完整備份。

我們通過遷移到Windows Server 2008解決了問題R2。


 

無法在事務中執行備份或還原操作.BACKUP DATABASE異常終止

 

嗨,夥計們,我正在嘗試執行backUprestore命令在我的應用程序中建模EF6

對於我的備份我創建一個Sp,你可以在這裏看到:

CREATE PROCEDURE GetBackUp
    -- Add the parameters for the stored procedure here
    @address nvarchar(max)
AS
BEGIN
    BACKUP DATABASE [db-invoice-169] to DISK=@address
END
GO
Run Code Online (Sandbox Code Playgroud)

在我的應用程序中,我稱之爲 Sp

 private void Backup_Click(object sender, EventArgs e)
        {
            SaveFileDialog sfd = new SaveFileDialog();
            string str_filename = string.Empty;
            sfd.FileName = "backup_database_" + DateTime.Now.ToShortDateString().Replace("/", "_");
            sfd.Filter = @"backup files(*.bak)|*.bak|all files(*.*)|*.*";
            sfd.FilterIndex = 1;
            sfd.OverwritePrompt = true;
            sfd.Title = "***save backup files***";
            if (sfd.ShowDialog() == DialogResult.OK)
            {
                str_filename = sfd.FileName;
                backup(str_filename);
            }
        }
        private void backup(string str_filename)
        {
            try
            {
                this.Cursor = Cursors.WaitCursor;
                db.Database.ExecuteSqlCommand(@"EXEC [dbo].[back_up] @address = N'"+str_filename+"'");
                this.Cursor = Cursors.Default;
                MessageBox.Show("?????? ??????? ???? ?????? ???? ???");
            }
            catch (Exception ex)
            {
                MessageBox.Show("?????? ??????? ???? ?????? ???? ???? |" + ex.Message);
            }

        }
Run Code Online (Sandbox Code Playgroud)

但我得到了這個錯誤:

Cannot perform a backup or restore operation within a transaction.  BACKUP DATABASE is terminating abnormally.
Run Code Online (Sandbox Code Playgroud)

 

abr*_*rar  20

 

嘗試更改此行:

db.Database.ExecuteSqlCommand(@"EXEC [dbo].[back_up] @address = N'"+str_filename+"'");
Run Code Online (Sandbox Code Playgroud)

至:

db.Database.ExecuteSqlCommand(TransactionalBehavior.DoNotEnsureTransaction, @"EXEC [dbo].[back_up] @address = N'"+str_filename+"'");
Run Code Online (Sandbox Code Playgroud)

阿布拉

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章