適用於:SQL Server
Azure SQL 受控執行個體
只複製備份是一種 SQL Server 備份,與慣用的 SQL Server 備份結果無關。 通常,進行備份會變更資料庫,而且會影響往後其他備份的還原方式。 不過,偶爾為了特殊目的在不影響資料庫整體備份及還原程序的情況下進行備份,相當有用。 僅限複製備份即是供此目的之用。
僅限複製備份的類型
僅限複製備份的類型如下所示:
只限複製的完整備份(所有恢復模式)
僅限複製的完整備份無法做為差異基底或差異備份,也不會影響差異基底。
還原僅限複製完整備份與還原任何其他完整備份相同。
僅限複製的紀錄檔備份(僅適用於完整復原模式和大量紀錄復原模式)
僅作為複製的記錄備份會保留現有的日誌封存點,因此不會影響定期日誌備份的排序。 僅限複製記錄備份通常是沒有必要的。 相反地,您可以建立新的例程記錄備份,並還原該備份(使用
WITH NORECOVERY
選項),以及還原順序所需的任何先前記錄備份。僅限複製的記錄備份有時對於執行在線還原很有用。 如需詳細資訊,請遵循範例:線上還原讀寫檔案 (完整復原模式) 文章中的指示,改為使用僅限複製備份檔案。
交易記錄永遠不會在僅限複製備份之後截斷。
備註
僅限複製備份會記錄在 is_copy_only
資料表的 直欄中。
在 Azure SQL 受控執行個體中,無法為使用服務管理的透明資料加密 (TDE) 加密的資料庫建立僅限複製備份。 服務管理的 TDE 使用內部金鑰加密資料,且該金鑰無法匯出,所以您無法將備份還原到其他位置。 請考慮改用客戶管理的 TDE,以便建立加密資料庫的僅限複本備份,但請務必讓加密金鑰可供日後還原使用。
建立僅限複製備份
您可以使用 SQL Server Management Studio、Azure Data Studio、Transact-SQL 或 PowerShell 來建立「僅限複製備份」。
A。 使用 SQL Server Management Studio
在此範例中,Sales
資料庫的僅限複製備份將會備份至預設備份位置的磁碟。
在物件總管中,連接到 SQL Server Database Engine 的執行個體,然後展開該執行個體。
展開[資料庫],以滑鼠右鍵按一下
Sales
,指向 [工作],然後選取[備份]。在一般頁面的來源區段中,勾選僅限複製備份核取方塊。
選取 [確定]。
B. 使用 Transact-SQL
此範例使用 Sales
參數來建立 COPY_ONLY
資料庫的僅限複製備份。 此外,也會擷取交易記錄的僅限複製備份。
BACKUP DATABASE Sales
TO DISK = 'E:\BAK\Sales_Copy.bak'
WITH COPY_ONLY;
BACKUP LOG Sales
TO DISK = 'E:\BAK\Sales_LogCopy.trn'
WITH COPY_ONLY;
注意
指定 COPY_ONLY
選項時,DIFFERENTIAL
沒有任何作用。
C. 使用 Transact-SQL 和 Azure SQL 受控執行個體
Azure SQL 受控實例支持進行 COPY_ONLY
完整備份。 此範例會將COPY_ONLY
備份MyDatabase
至 Microsoft Azure Blob 儲存體。 儲存體帳戶名稱為 mystorageaccount
。 容器名稱為 myfirstcontainer
。 儲存體存取原則是使用讀取、寫入、刪除和清單許可權所建立。 使用與此儲存體存取原則祕密關聯的共用存取簽章建立了 SQL Server 認證 https://mystorageaccount.blob.core.windows.net/myfirstcontainer
。 如需將 SQL Server 備份至 Microsoft Azure Blob Storage 的資訊,請參閱 使用 Azure Blob Storage 進行 SQL Server 備份和還原 以及 備份至 URL 以進行 Microsoft Azure Blob Storage。
-- Prerequisite to have write permissions
CREATE CREDENTIAL [https://mystorageaccount.blob.core.windows.net/myfirstcontainer]
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'sp=...'; -- Enter your secret SAS token here.
BACKUP DATABASE MyDatabase
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/MyDatabaseBackup.bak'
WITH STATS = 5, COPY_ONLY;
若要將僅限複製備份分割成多個等量,請使用下列範例:
BACKUP DATABASE MyDatabase
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/MyDatabase-01.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/MyDatabase-02.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/MyDatabase-03.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/MyDatabase-04.bak'
WITH COPY_ONLY;
D. 使用 PowerShell
此範例使用 Sales
參數來建立 -CopyOnly
資料庫的僅限複製備份。
Backup-SqlDatabase -ServerInstance 'SalesServer' -Database 'Sales' -BackupFile 'E:\BAK\Sales_Copy.bak' -CopyOnly