log backup chain被打断后是不是需要从一个完整备份重新开始?
般我们的理解是logbackupchain被打破后一定需要一个完整备份然后才能开始新的日志备份,其实不一定需要完整备份,差异备份也是可以的。首先我们先做个测试:创建
般我们的理解是logbackup chain被打破后一定需要一个完整备份然后才能开始新的日志备份,其实不一定需要完整备份,香港虚拟主机,香港服务器,差异备份也是可以的。
首先我们先做个测试:创建数据库做完整备份和日志备份,然后将恢复模式变成简单恢复模式。
CREATEDATABASE LogChainTest;
GO
ALTER DATABASE LogChainTest SET RECOVERY FULL;
GO
BACKUP DATABASE LogChainTest TO DISK = 'D:\MSSQL\LogChainTest.bck' WITH INIT;
GO
BACKUP LOG LogChainTest TO DISK = 'D:\MSSQL\LogChainTest_log1.bck' WITH INIT;
GO
ALTER DATABASE LogChainTest SET RECOVERY SIMPLE;
GO
ALTER DATABASE LogChainTest SET RECOVERY FULL;
GO
然后再开始一个新的Log备份就会出现下面的错误:
BACKUP LOGLogChainTest TO DISK = 'D:\MSSQL\LogChainTest_log2.bck' WITH INIT;
GO
Msg 4214,Level 16, State 1, Line 1
BACKUP LOG cannot be performed because there is no current database backup.
Msg 3013, Level 16, State 1, Line 1
BACKUP LOG is terminating abnormally.
我们都知道,数据库日志备份包含的是从上次日志备份以来发生的交易。当我们将数据库模式更改为简单以后,SQL Server就会认为这次的日志备份不会包含所有的日志交易,所以日志备份无法完成。
现在我们做一个差异备份然后再开始做日志备份就会成功了:
BACKUPDATABASE LogChainTest TO DISK = 'D:\MSSQL\LogChainTest_Diff1.bck' WITH INIT,DIFFERENTIAL;
GO
BACKUP LOG LogChainTest TO DISK = 'D:\MSSQL\LogChainTest_log2.bck' WITH INIT;
GO
做完日志备份之后我做了恢复测试完全没有问题。
这个功能针对大数据库是非常有用的,如果Logbackup chain被打破后,就可以直接选择差异备份,而不需要执行一次完整备份,香港空间,这样可以节省很多时间和资源。
本文出自 “关注SQL Server技术” 博客,请务必保留此出处

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

使用math.Log2函數計算指定數字的以2為底的對數在數學中,對數是一個重要的概念,它描述了一個數與另一個數(所謂的底)的指數關係。其中,以2為底的對數特別常見,並在電腦科學和資訊科技領域中常用到。在Python程式語言中,我們可以使用math函式庫中的log2函數來計算一個數字的以2為底的對數。下面是一個簡單的程式碼範例:importmathdef

使用DockerCompose、Nginx和MariaDB實作PHP應用程式的備份和復原策略引言:在現代化的軟體開發中,備份和復原策略是至關重要的一環。在為PHP應用程式設計備份和復原策略時,我們可以使用DockerCompose、Nginx和MariaDB組合,來實現一個可靠且靈活的解決方案。本文將提供詳細的步驟和程式碼範例,以幫助讀者快速上手。一、創建

MySQL連線問題之如何優化資料庫的備份與復原速度?在使用MySQL資料庫過程中,備份和復原是非常重要的操作,它們能夠確保資料的安全性並支援系統的穩定運作。然而,在大型或高負載的資料庫系統中,備份和復原的速度可能會成為一個挑戰,因為它們涉及大量的資料互動和網路連線。本文將對如何優化MySQL資料庫的備份和復原速度進行探討。首先,選擇合適的備份和復原策略非

幾天前,UnifyDrive 正式推出 UT2,現在該公司已開始其 Kickstarter 眾籌活動。這也揭示了便攜式 NAS 的早鳥價,有興趣認購的支持者的價格為 399 美元

使用math.Log10函數計算指定數字的以10為底的對數在數學和計算機科學中,對數是一個常見的概念。我們經常使用對數來描述數字的大小或比例關係。而在電腦程式設計中,常用的對數函數就是以10為底的對數函數。 Python語言中,可以使用math函式庫中的log10函數來計算指定數字的以10為底的對數。下面我們將透過一個簡單的程式碼範例來示範該函數的使用。首先,我們需

如果您需要重新啟動WindowsServerBackup服務,只需依照下列步驟執行操作。您可以使用一種方法在幾乎所有版本的WindowsServer中啟動和停止WindowsServerBackup服務。這裡我們將討論整個過程,以便您可以在需要時輕鬆操作。如何重新啟動WindowsServerBackup服務這個過程包含兩個主要階段。首先,您應該熟悉如何啟動WindowsServerBackup服務。接著,您可以了解如何停止該服務的步驟。如果服務已在背景執行,您可以使用另一種方法終止該進程。

在Laravel開發中,資料庫備份是非常重要的一步。無論是為了避免資料遺失,還是為了將資料備份到生產環境,備份資料庫是必要的。 LaravelBackup提供了一種快速、可靠、靈活的備份和還原資料庫的方法。在本文中,我們將介紹如何使用LaravelBackup備份資料庫。安裝LaravelBackup在使用LaravelBackup之前,首先需要將它安

標題:使用Golang中的log.Println函數列印日誌訊息日誌在軟體開發中非常重要,它可以幫助我們追蹤程式運行中的各種信息,如錯誤、警告、偵錯訊息等。在Golang中,有一個內建的log包,它提供了許多函數來處理日誌輸出。其中一個常用的函數是log.Println,它可以列印日誌資訊到標準輸出。下面是一個簡單的範例程式碼,展示如何使用log.Print
