本課程假設您已經有另一部 SQL Server,這可能位於另一部內部部署電腦或 Azure 中的虛擬機中。 如需如何在 Azure 中建立 SQL Server 虛擬機的資訊,請參閱 在 Azure 上佈建 SQL Server 虛擬機。 在 Azure 中佈建 SQL Server 虛擬機之後,請確定您可以透過另一部電腦的 SQL Server Management Studio,連線到此虛擬機中的 SQL Server 實例。
本課程也假設您已經完成下列步驟:
您擁有 Azure 儲存體帳戶。
您已在 Azure 記憶體帳戶下建立容器。
您已在具有讀取、寫入和列出權限的容器上建立原則。 您也產生了 SAS 金鑰。
您已在來源電腦上建立 SQL Server 認證。
您已在 Azure 中建立目的地 SQL Server 虛擬機。 建議您選取包含 SQL Server 2014 的平臺映射來建立它。
若要將資料庫從內部部署 SQL Server 移轉至 Azure 中的另一部虛擬機,您可以遵循下列步驟:
在本教學課程中,在來源計算機(這是內部部署計算機)中,於 SQL Server Management Studio 中開啟查詢視窗。 執行下列語句來將資料庫分離並移動到另一台電腦:
-- Detach the database in the source machine USE master EXEC sp_detach_db 'TestDB1', 'true';如果您需要將資料庫傳送至目的地計算機,您必須先加以準備。 若要準備目的地計算機,您必須先在目的地機器中建立 SQL Server 認證。 如果是加密的資料庫,您也必須將憑證從來源計算機匯入目的地計算機。
若要在目的地機器中建立 SQL Server 認證,請遵循下列步驟:
透過來源計算機中的 SQL Server Management Studio 連線到目的地電腦。 或者,直接在目的地計算機中啟動 SQL Server Management Studio。
在 [標準] 工具列上,按兩下 [ 新增查詢]。
複製下列範例並貼到查詢視窗中,視需要修改。 下列語句會建立 SQL Server 認證來儲存記憶體容器的共用存取憑證。
USE master GO CREATE CREDENTIAL [http://teststorageaccnt.blob.core.windows.net/testcontainer] WITH IDENTITY='SHARED ACCESS SIGNATURE', SECRET = 'your SAS key' GO若要查看所有可用的認證,您可以在查詢視窗中執行下列語句:
SELECT * from sys.credentials連線到目的地伺服器時,請開啟查詢視窗,然後執行:
-- Create a master key and a server certificate USE master GO CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'MySQLKey01'; -- You may use a different password. GO CREATE CERTIFICATE MySQLCert FROM FILE = 'C:\certs\MySQLCert.CER' WITH PRIVATE KEY ( FILE = 'C:\certs\MySQLPrivateKeyFile.PVK', DECRYPTION BY PASSWORD = 'MySQLKey01' ); GO在此步驟結束時,目的地計算機已匯入從來源計算機備份的加密憑證。 接下來,您可以在目的地機器中附加數據檔。
然後,使用 FOR ATTACH 選項,建立具有指向 Azure 記憶體中現有檔案之數據和記錄檔的資料庫。 在查詢視窗中,執行下列語句:
--Create a database on the destination server CREATE DATABASE TestDB1onDest ON (NAME = TestDB1_data, FILENAME = 'https://teststorageaccnt.blob.core.windows.net/testcontainer/TestDB1Data.mdf' ) LOG ON (NAME = TestDB1_log, FILENAME = 'https://teststorageaccnt.blob.core.windows.net/testcontainer/TestDB1Log.ldf') FOR ATTACH GO在 [物件瀏覽器] 上,按一下 [資料庫],以滑鼠右鍵按一下 [重新整理]。 您應該能看到新建立的資料庫「TestDB1onDest」列出在清單中。
接下來,在查詢視窗中執行下列語句:
USE TestDB1onDest SELECT * FROM Table1; GO這應該會列出您在第 4 課中輸入的所有數據。
請注意,加密的資料庫已傳輸至沒有數據移動的另一個計算實例。
若要使用 SQL Server Management Studio 使用者介面建立具有指向 Azure 記憶體中現有檔案之數據和記錄檔的資料庫,請執行下列步驟:
在物件總管中,連接到 SQL Server Database Engine 的實例,然後展開該實例。
以滑鼠右鍵按兩下 [資料庫],然後按兩下 [ 新增資料庫]。 然後,以滑鼠右鍵按兩下 [TestDB1]。 按一下 [工作],然後按一下 [分離]。 在 [中斷連結] 對話框視窗中,勾選 [卸除連線]。 按一下 [確定]。
連接到具有 SQL Server 2014 CTP2 或更新版本的目的地電腦。 若要準備目的地計算機,您必須在目的地機器中建立 SQL Server 認證,以指向您放入 TestDB1 的相同容器。 如果您要重新附加在同一部計算機上,則不需要建立另一個認證。
在 [物件總管] 中,以滑鼠右鍵按兩下 [ 資料庫 ],然後按兩下 [ 附加]。
在 [ 附加資料庫] 對話框中,若要指定要附加的資料庫,請按兩下 [ 新增]。 在 [ 尋找資料庫檔案] 對話框視窗中:
針對 [資料庫數據檔位置],輸入:
https://teststorageaccnt.blob.core.windows.net/testcontainer/。針對檔案名稱,輸入:
TestDB1Data.mdf。按一下 [確定]。
下一課: