匯出 (0) 列印
全部展開
6 人當中有 5 人評分為有幫助- 為這個主題評分

在 Windows Azure SQL Database 中複製資料庫

更新日期: 2013年11月

當您在 Windows Azure SQL Database 中建立資料庫之後,就可以將它複製到不同 SQL Database 伺服器上的新資料庫,藉此備份該資料庫。當複製程序完成時,新的資料庫就是功能完整的資料庫,而且獨立於來源資料庫之外。截至複製完成時,新的資料庫與來源資料庫在交易上是一致的。資料列中的完成資訊每五分鐘更新一次。新資料庫與來源資料庫的版本和大小上限都相同。

本主題內容:

概觀

資料庫複製功能提供許多備份案例,這些案例是針對內部部署資料庫所提供:

  • 應用程式資料備份:將應用程式資料庫複製到擁有不同名稱的新資料庫來保護資料,避免發生使用者和應用程式錯誤。您可以將新的資料庫重新命名為應用程式資料庫名稱,藉以復原應用程式資料庫狀態。或者,您也可以使用 Transact-SQL 查詢,從新的資料庫復原特定資料子集。

  • 應用程式開發和測試:將實際執行資料庫複製到可用於開發和測試的新資料庫。

  • 應用程式升級:在進行主要應用程式更新之前,請將應用程式資料庫複製到具有另一個名稱的新資料庫。如果升級期間發生錯誤,您可以將新資料庫重新命名為應用程式資料庫名稱,以便復原先前的資料庫狀態。

  • 應用程式移轉:資料庫複製功能會建立在交易上一致的資料庫複本。您可以執行資料層應用程式 (DAC) 匯出來建立匯出檔案。此匯出檔案將會具有資料庫中的物件定義以及使用者資料表中的資料。然後您可以將匯出檔案匯入到另一部 SQL Database 伺服器或另一個 SQL Server Database Engine 執行個體。如需詳細資訊,請參閱<如何:匯入和匯出資料庫 (Windows Azure SQL Database)>。

note附註
每部 SQL Database 伺服器最多只能包含 150 個 SQL Database 資料庫,而複製功能所建立的資料庫也會納入累計。

搭配回到頁首連結使用的箭頭圖示 [回到頁首]

複製資料庫

資料庫會以非同步方式複製,因此整個過程中都不需要與 SQL Database 伺服器連接。您可以藉由登入目的地伺服器的 master 資料庫,然後執行 Transact-SQL CREATE DATABASE 陳述式與 AS COPY OF 子句的方式複製資料庫。接著可以使用目的地伺服器上的 sys.dm_database_copiessys.databases 檢視表監視複製程序。

您可以使用不同的資料庫名稱將資料庫複製到相同的 SQL Database 伺服器,或者可以將資料庫複製到不同的 SQL Database 伺服器。本章節會同時考量這兩種替代方案。

相同伺服器複製

當您複製資料庫以便在相同的 SQL Database 伺服器上建立新資料庫時,可以在這兩個資料庫上使用相同的登入。您用於複製資料庫的安全性主體會在建立新資料庫時變成該資料庫上的資料庫擁有者 (DBO)。下圖說明相同伺服器複製:

將資料庫複製到相同的 SQL Database 伺服器

在此圖中,Database1A 會複製到位於相同 SQL Database 伺服器 Server1 上的新資料庫 Database1B。複製資料庫的登入會變為 Database1B 的 DBO。Database1A 中所有資料庫使用者、其權限及安全性識別碼 (SID) 都會複製到 Database1B。由於兩個資料庫上的使用者 SID 相同,因此來自 Server1 的登入會在這兩個資料庫上維持相同的權限。

複製完成之後,Database1B 就會變為完全正常運作且獨立的資料庫。Database1B 的登入、使用者和權限可與 Database1A 分開管理。

跨伺服器複製

您也可以在位於相同子區域或資料中心的兩部不同 SQL Database 伺服器之間複製資料庫。因為新的資料庫會在不同的 SQL Database 伺服器上建立,所以它會與不同的 master 資料庫產生關聯。新資料庫中的所有使用者都會維持原本在來源資料庫中擁有的權限。您用於複製資料庫的安全性主體會在建立新資料庫時變成該資料庫上的 DBO,並且獲得指派新的安全性識別碼 (SID)。下圖說明跨伺服器複製:

將資料庫複製到不同的 SQL Database 伺服器

在此圖中,Database1A 會從 Server1 複製到另一部 SQL Database 伺服器 Server2 上的新資料庫 Database2A。複製資料庫的登入會變為 Database2A 的 DBO。Database1A 中所有資料庫使用者及其權限 (但不包括其 SID) 都會複製到 Database2AServer1 的登入無法用於新資料庫,因為這些登入與不同的 SQL Database 伺服器有關聯,而且 Database2A 使用者 SID 與 Database1A 使用者 SID 不相同。

當跨伺服器複製程序完成之後,Database2A 的登入、使用者和權限可與 Database1A 分開管理。請使用 DBO 登入和 Transact-SQL ALTER USER 陳述式將新資料庫中的使用者對應至新 SQL Database 伺服器上的登入。例如:ALTER USER userName WITH LOGIN='loginName'。如需詳細資訊,請參閱<ALTER USER (Windows Azure SQL Database)>。

搭配回到頁首連結使用的箭頭圖示 [回到頁首]

相關工作

另請參閱

本文對您有任何幫助嗎?
(剩餘 1500 個字元)
感謝您提供意見

社群新增項目

新增
顯示:
© 2014 Microsoft. 著作權所有,並保留一切權利。