自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SQL Server 備份的備份類型探究

數(shù)據(jù)庫(kù) SQL Server
在本節(jié)中,我們將討論每個(gè)備份選項(xiàng)以及如何使用 SSMS 和 T-SQL 執(zhí)行這些備份。

一、背景描述

我們知道數(shù)據(jù)數(shù)據(jù)庫(kù)的恢復(fù)模型決定了可以執(zhí)行哪些類型的備份。在本節(jié)中,我們將討論每個(gè)備份選項(xiàng)以及如何使用 SSMS 和 T-SQL 執(zhí)行這些備份。

在本文中我們討論如下內(nèi)容:

  • 完整備份
  • 差異備份
  • 文件備份
  • 文件組備份
  • 部分備份
  • 僅復(fù)制備份
  • 鏡像備份
  • 事務(wù)日志備份

二、SQLSERVER備份類型

1、SQL Server 完整備份

最常見的 SQL Server 備份類型是完整備份,也稱為數(shù)據(jù)庫(kù)備份。這些備份會(huì)創(chuàng)建數(shù)據(jù)庫(kù)的完整備份以及事務(wù)日志的一部分,因此可以恢復(fù)數(shù)據(jù)庫(kù)。這是最簡(jiǎn)單的數(shù)據(jù)庫(kù)恢復(fù)形式,因?yàn)樗袃?nèi)容都包含在一個(gè)備份中。

創(chuàng)建完整備份

可以使用 T-SQL 或使用 SSMS 完成完整備份。以下示例向您展示如何創(chuàng)建完整備份。

可以使用 T-SQL 或使用 SSMS 完成完整備份。以下示例向您展示如何創(chuàng)建完整備份。

創(chuàng)建完整的 SQL Server 數(shù)據(jù)庫(kù)備份到一個(gè)磁盤文件

T-SQL

這將創(chuàng)建 AdventureWorks 數(shù)據(jù)庫(kù)的完整備份并將備份內(nèi)容寫入文件“C:\AdventureWorks.BAK”。.BAK 擴(kuò)展名通常用于標(biāo)識(shí)備份是完整的數(shù)據(jù)庫(kù)備份。

BACKUP DATABASE AdventureWorks TO DISK = 'C:\AdventureWorks.BAK'
GO

SQL Server Management Studio

  • 右鍵單擊數(shù)據(jù)庫(kù)名稱。
  • 選擇任務(wù) > 備份。
  • 選擇“完整”作為備份類型。
  • 選擇“磁盤”作為目標(biāo)。
  • 單擊“添加...”以添加備份文件并鍵入“C:\AdventureWorks.BAK”并單擊“確定”。
  • 再次單擊“確定”以創(chuàng)建備份。

2、SQL Server 事務(wù)日志備份

如果您的數(shù)據(jù)庫(kù)設(shè)置為“完整”或“批量記錄”恢復(fù)模式,那么您將能夠進(jìn)行“事務(wù)日志”備份。通過事務(wù)日志備份和完整備份,您可以進(jìn)行時(shí)間點(diǎn)恢復(fù),因此如果有人意外刪除了數(shù)據(jù)庫(kù)中的所有數(shù)據(jù),您可以將數(shù)據(jù)庫(kù)恢復(fù)到刪除發(fā)生之前的時(shí)間點(diǎn)。唯一需要注意的是,如果您的數(shù)據(jù)庫(kù)設(shè)置為“批量記錄”恢復(fù)模式并做出批量操作,您將需要還原整個(gè)事務(wù)日志,因此您無法使用事務(wù)日志進(jìn)行時(shí)間點(diǎn)還原包含批量記錄操作的備份。

事務(wù)日志備份允許您備份事務(wù)日志。事務(wù)日志備份時(shí),事務(wù)日志內(nèi)的空間可以被其他進(jìn)程重用。如果未進(jìn)行事務(wù)日志備份并且數(shù)據(jù)庫(kù)未使用簡(jiǎn)單恢復(fù)模式,則事務(wù)日志將繼續(xù)增長(zhǎng)。

可以使用 T-SQL 或使用 SSMS 完成事務(wù)日志備份。以下示例向您展示如何創(chuàng)建事務(wù)日志備份。

創(chuàng)建 SQL Server 事務(wù)日志備份到一個(gè)磁盤文件

T-SQL

這將創(chuàng)建 AdventureWorks 數(shù)據(jù)庫(kù)的事務(wù)日志備份并將備份內(nèi)容寫入文件“C:\AdventureWorks.TRN”。.TRN 擴(kuò)展名通常用于標(biāo)識(shí)備份是事務(wù)日志備份。

BACKUP LOG AdventureWorks TO DISK = 'C:\AdventureWorks.TRN'
GO

SQL Server Management Studio

  • 右鍵單擊數(shù)據(jù)庫(kù)名稱。
  • 選擇任務(wù) > 備份。
  • 選擇“事務(wù)日志”作為備份類型。
  • 選擇“磁盤”作為目標(biāo)。
  • 單擊“添加...”以添加備份文件并鍵入“C:\AdventureWorks.TRN”并單擊“確定”。
  • 再次單擊“確定”以創(chuàng)建備份。

3、差異備份

“差異”備份是對(duì)自上次“完整”備份創(chuàng)建以來已更改的任何范圍的備份。差異備份的工作方式是備份自上次完整備份以來發(fā)生更改的所有擴(kuò)展區(qū)。一個(gè)extent由8個(gè)8KB的page組成,所以一個(gè)extent就是64KB的數(shù)據(jù)。每次更改任何數(shù)據(jù)時(shí),都會(huì)打開一個(gè)標(biāo)志,以讓 SQL Server 知道如果創(chuàng)建了“差異”備份,則它應(yīng)該包括來自此范圍的數(shù)據(jù)。當(dāng)進(jìn)行“完整”備份時(shí),這些標(biāo)志將關(guān)閉。

因此,如果您先進(jìn)行完整備份,然后再進(jìn)行差異備份,則差異備份將僅包含已更改的擴(kuò)展區(qū)。如果您等待一段時(shí)間并進(jìn)行另一次差異備份,則此新的差異備份將包含自上次完整備份以來已更改的所有擴(kuò)展區(qū)。每次創(chuàng)建新的差異備份時(shí),它將包含自上次完整備份以來更改的每個(gè)擴(kuò)展區(qū)。當(dāng)你去恢復(fù)你的數(shù)據(jù)庫(kù)時(shí),要恢復(fù)到最新的時(shí)間你只需要恢復(fù)完整備份和最近的差異備份。所有其他差異備份都可以忽略。

如果您的數(shù)據(jù)庫(kù)處于簡(jiǎn)單恢復(fù)模式,您仍然可以使用完整備份和差異備份。這不允許您進(jìn)行時(shí)間點(diǎn)恢復(fù),但如果您只有完整備份,它將允許您將數(shù)據(jù)恢復(fù)變更的當(dāng)前的時(shí)間點(diǎn)。

如果您的數(shù)據(jù)庫(kù)處于完整或批量日志恢復(fù)模式,您還可以使用差異備份來消除需要恢復(fù)的事務(wù)日志的數(shù)量。由于差異將備份自上次完整備份以來的所有擴(kuò)展區(qū),因此在還原時(shí)您可以還原完整備份、最近的差異備份,然后是在最近的差異備份之后創(chuàng)建的任何事務(wù)日志備份。這減少了需要恢復(fù)的文件數(shù)量。

將 SQL Server 差異備份創(chuàng)建到一個(gè)磁盤文件。

T-SQL

BACKUP DATABASE AdventureWorks TO DISK = 'C:\AdventureWorks.DIF' WITH DIFFERENTIAL
GO

SQL Server Management Studio

  • 右鍵單擊數(shù)據(jù)庫(kù)名稱。
  • 選擇任務(wù) > 備份。
  • 選擇“差異”作為備份類型。
  • 選擇“磁盤”作為目標(biāo)。
  • 單擊“添加...”以添加備份文件并鍵入“C:\AdventureWorks.DIF”并單擊“確定”。
  • 再次單擊“確定”以創(chuàng)建備份。

4、SQL Server 文件備份

備份數(shù)據(jù)庫(kù)的另一個(gè)選項(xiàng)是使用“文件”備份。這使您可以獨(dú)立備份每個(gè)文件,而不必備份整個(gè)數(shù)據(jù)庫(kù)。這僅在您為數(shù)據(jù)庫(kù)創(chuàng)建了多個(gè)數(shù)據(jù)文件時(shí)才相關(guān)。這種類型的備份的一個(gè)原因是如果您有一個(gè)非常大的文件并且需要單獨(dú)備份它們。在大多數(shù)情況下,您可能只有一個(gè)數(shù)據(jù)文件,因此該選項(xiàng)不相關(guān)。

如上所述,您可以單獨(dú)備份每個(gè)數(shù)據(jù)文件。如果您有一個(gè)非常大的數(shù)據(jù)庫(kù)并且有很大的數(shù)據(jù)文件,則此選項(xiàng)可能是相關(guān)的。

可以使用 T-SQL 或使用 SSMS 完成文件備份。

創(chuàng)建 TestBackup 數(shù)據(jù)庫(kù)的 SQL Server 文件備份

對(duì)于此示例,我創(chuàng)建了一個(gè)名為 TestBackup 的新數(shù)據(jù)庫(kù),其中包含兩個(gè)數(shù)據(jù)文件和一個(gè)日志文件。這兩個(gè)數(shù)據(jù)文件稱為“TestBackup”和“TestBackup2”。下面的代碼顯示了如何分別備份每個(gè)文件。

T-SQL

BACKUP DATABASE TestBackup FILE = 'TestBackup' 
TO DISK = 'C:\TestBackup_TestBackup.FIL'
GO
BACKUP DATABASE TestBackup FILE = 'TestBackup2'
TO DISK = 'C:\TestBackup_TestBackup2.FIL'
GO

SQL Server 管理工作室

  • 右鍵單擊數(shù)據(jù)庫(kù)名稱。
  • 選擇任務(wù) > 備份。
  • 選擇“完整”或“差異”作為備份類型。
  • 選擇“文件和文件組”。
  • 選擇適當(dāng)?shù)奈募?,然后單擊“確定”。

  • 選擇“磁盤”作為目標(biāo)。
  • 單擊“添加...”以添加備份文件并鍵入“C:\TestBackup_TestBackup.FIL”并單擊“確定”。
  • 再次單擊“確定”以創(chuàng)建備份并重復(fù)其他文件。

5、SQL Server 文件組備份

除了進(jìn)行“文件”備份之外,您還可以進(jìn)行“文件組”備份,它允許您備份特定文件組中的所有文件。默認(rèn)情況下,每個(gè)數(shù)據(jù)庫(kù)都有一個(gè) PRIMARY 文件組,該文件組與創(chuàng)建的一個(gè)數(shù)據(jù)文件相關(guān)聯(lián)。您可以選擇創(chuàng)建其他文件組,然后將新數(shù)據(jù)文件放入任何文件組中。在大多數(shù)情況下,您可能只有 PRIMARY 文件組,因此這與主題無關(guān)。

如上所述,您可以單獨(dú)備份每個(gè)文件組。使用文件組備份而不是文件備份的一個(gè)優(yōu)點(diǎn)是您可以創(chuàng)建一個(gè)只讀文件組,這意味著數(shù)據(jù)不會(huì)更改。因此,您可以只備份讀寫文件組,而不是一直備份整個(gè)數(shù)據(jù)庫(kù)。

可以使用 T-SQL 或使用 SSMS 完成文件組備份。

創(chuàng)建 TestBackup 數(shù)據(jù)庫(kù)的 SQL Server 文件組備份

對(duì)于此示例,我創(chuàng)建了一個(gè)名為 TestBackup 的新數(shù)據(jù)庫(kù),其中包含三個(gè)數(shù)據(jù)文件和一個(gè)日志文件。兩個(gè)數(shù)據(jù)文件是 PRIMARY 文件組,一個(gè)文件位于 ReadOnly 文件組中。下面的代碼顯示了如何進(jìn)行文件組備份。

T-SQL

BACKUP DATABASE TestBackup FILEGROUP = 'ReadOnly' 
TO DISK = 'C:\TestBackup_ReadOnly.FLG'
GO

SQL Server 管理工作室

  • 右鍵單擊數(shù)據(jù)庫(kù)名稱。
  • 選擇任務(wù) > 備份。
  • 選擇“完整”或“差異”作為備份類型。
  • 選擇“文件和文件組”。
  • 選擇適當(dāng)?shù)奈募M并單擊“確定”。

  • 選擇“磁盤”作為目標(biāo)。
  • 單擊“添加...”以添加備份文件并鍵入“C:\TestBackup_ReadOnly.FLG”并單擊“確定”。
  • 再次單擊“確定”以創(chuàng)建備份并為其他文件組重復(fù)。

6、SQL Server 部分備份

“部分”備份是 SQL Server 2005 引入的一個(gè)新選項(xiàng)。這允許您備份 PRIMARY 文件組、所有讀寫文件組和任何可選指定的文件。如果您在數(shù)據(jù)庫(kù)中有只讀文件組并且不想一直備份整個(gè)數(shù)據(jù)庫(kù),這是一個(gè)不錯(cuò)的選擇。

可以為完整備份或差異備份發(fā)布部分備份。這不能用于事務(wù)日志備份。如果文件組從只讀更改為讀寫,它將包含在下一個(gè)部分備份中,但如果您將文件組從讀寫更改為只讀,則應(yīng)創(chuàng)建文件組備份,因?yàn)榇宋募M不會(huì)包含在下一個(gè)部分備份中。

只有使用 T-SQL 才能完成部分備份。以下示例向您展示如何創(chuàng)建部分備份。

創(chuàng)建 TestBackup 數(shù)據(jù)庫(kù)的 SQL Server 部分備份

對(duì)于此示例,我創(chuàng)建了一個(gè)名為 TestBackup 的新數(shù)據(jù)庫(kù),其中包含三個(gè)數(shù)據(jù)文件和一個(gè)日志文件。兩個(gè)數(shù)據(jù)文件是 PRIMARY 文件組,一個(gè)文件位于 ReadOnly 文件組中。下面的代碼顯示了如何進(jìn)行部分備份。

T-SQL

創(chuàng)建SQL Server完整部分備份

BACKUP DATABASE TestBackup READ_WRITE_FILEGROUPS
TO DISK = 'C:\TestBackup_Partial.BAK'
GO

創(chuàng)建 SQL Server 差異部分備份

BACKUP DATABASE TestBackup READ_WRITE_FILEGROUPS
TO DISK = 'C:\TestBackup_Partial.DIF'
WITH DIFFERENTIAL
GO

三、小結(jié)

本文討論了SQLSERVER備份類型,對(duì)于理解和掌握SQLSERVER的備份技術(shù),具有很重要的意義。

責(zé)任編輯:姜華 來源: 今日頭條
相關(guān)推薦

2022-08-26 17:22:12

SQL數(shù)據(jù)庫(kù)

2010-09-02 11:47:43

SQL刪除

2010-07-06 09:08:07

SQL server差

2015-08-21 10:40:10

SQL Server備份還原

2010-11-08 13:41:11

Sql Server自

2011-03-24 09:07:11

SQL Server數(shù)備份

2010-07-06 08:56:16

SQL server

2009-02-16 17:18:31

恢復(fù)備份模式

2009-04-17 13:27:43

SQL Server遠(yuǎn)程備份鏡像

2010-09-14 13:22:51

sql server備

2010-09-14 13:13:12

sql server備

2010-09-14 13:44:01

SQL Server備

2010-07-06 14:55:33

SQL Server磁

2010-07-21 13:25:04

SQL Server備

2010-11-10 13:22:41

SQL Server備

2011-04-06 14:16:49

SQL Server自動(dòng)備份

2013-05-08 10:01:55

SQL Server 數(shù)據(jù)備份備份與還原

2011-09-02 10:53:31

SQL Server 還原日志備份差異備份

2010-09-14 13:30:28

sql server備

2009-04-09 11:17:48

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)