如何:備份檔案和檔案群組 (Transact-SQL)
當完整的資料庫備份因資料庫大小和效能需求而變得不可行時,您可以建立檔案備份來代替。*「檔案備份」*包含一或多個檔案 (或檔案群組) 中的所有資料。如需有關檔案備份的詳細資訊,請參閱<完整檔案備份>和<差異檔案備份>。
重要事項: |
---|
在簡單復原模式下,必須將所有的讀取/寫入檔案備份在一起。這樣可以確保將資料庫還原到一致的時間點。不要個別指定每一個讀取/寫入檔案或檔案群組,請改用 READ_WRITE_FILEGROUPS 選項。這個選項會備份資料庫中的所有讀取/寫入檔案群組。指定 READ_WRITE_FILEGROUPS 而建立的備份即稱為「部分備份」。如需詳細資訊,請參閱<部分備份>。 |
備份檔案與檔案群組
若要建立檔案或檔案群組備份,請使用 BACKUP DATABASE <file_or_filegroup> 陳述式。這個陳述式至少必須指定下列各項:
- 資料庫名稱。
- 分別為每個檔案或檔案群組指定 FILE 或 FILEGROUP 子句。
- 完整備份所要寫入的備份裝置。
檔案備份的基本 Transact-SQL 語法為:
BACKUP DATABASE database
{ FILE **=**logical_file_name | FILEGROUP **=**logical_filegroup_name } [ ,...f ]
TO backup_device [ ,...n ]
[ WITH with_options [ ,...o ] ] ;
選項
在完整復原模式下,您還必須備份交易記錄。若要使用一組完整的完整檔案備份來還原資料庫,您還必須有足夠的記錄備份,才能從第一個檔案備份開始涵蓋所有的檔案備份。如需詳細資訊,請參閱<如何:建立交易記錄檔備份 (Transact-SQL)>。
範例
下列範例會備份 Sales
資料庫次要檔案群組的一或多個檔案。這個資料庫使用完整復原模式,而且包含下列次要檔案群組:
- 名為
SalesGroup1
的檔案群組,其中含有檔案SGrp1Fi1
和SGrp1Fi2
。 - 名為
SalesGroup2
的檔案群組,其中含有檔案SGrp2Fi1
和SGrp2Fi2
。
附註: |
---|
在完整復原模式下,需要一般記錄備份來截斷記錄並支援將資料庫還原到特定時間點。 |
A. 建立兩個檔案的檔案備份
下列範例會建立只有 SalesGroup1
檔案群組之 SGrp1Fi2
檔案及 SalesGroup2
檔案群組之 SGrp2Fi2
檔案的差異檔案備份。
--Backup the files in the SalesGroup1 secondary filegroup.
BACKUP DATABASE Sales
FILE = 'SGrp1Fi2',
FILE = 'SGrp2Fi2'
TO DISK = 'G:\SQL Server Backups\Sales\SalesGroup1.bck'
GO
B. 建立次要檔案群組的完整檔案備份
下列範例會為兩個次要檔案群組中的每個檔案建立完整檔案備份。
--Back up the files in SalesGroup1.
BACKUP DATABASE Sales
FILEGROUP = 'SalesGroup1',
FILEGROUP = 'SalesGroup2'
TO DISK = 'C:\MySQLServer\Backups\Sales\SalesFiles.bck'
GO
C. 建立次要檔案群組的差異檔案備份
下列範例會為兩個次要檔案群組中的每個檔案建立差異檔案備份。
--Back up the files in SalesGroup1.
BACKUP DATABASE Sales
FILEGROUP = 'SalesGroup1',
FILEGROUP = 'SalesGroup2'
TO DISK = 'C:\MySQLServer\Backups\Sales\SalesFiles.bck'
GO
WITH
DIFFERENTIAL,
GO
請參閱
工作
如何:備份資料庫檔案及檔案群組 (SQL Server Management Studio)
概念
檢視備份相關資訊
完整檔案備份
執行檔案還原 (完整復原模式)
其他資源
BACKUP (Transact-SQL)
RESTORE (Transact-SQL)