close

Windows Azure SQL Database (SQL Azure) 的使用上是非常方便的,不但有 GUI 介面的管理工具可用,資料存取的相容性也非常好,使用 ADO.NET 就能連到 SQL Database,而在移轉資料庫的時候,我們還有 SSMS/SSIS 或 SQL Azure Migration Wizard 等工具可用,今天我們用一個 DBA 很常轉移資料的方式-連結伺服器 (Linked Server) 來移轉資料。

首先,我們先在 ODBC 資料來源中設定:

image_thumb  

 

設定方式也不難,首先,在伺服器名稱中輸入 SQL Database 的 Server 名稱:

image_thumb_1  

 

然後設定使用者帳戶,規則要依 SQL Database 的規則設定,否則會無法連線:

image_thumb_2  

 

接著設定預設資料庫,建議不要指向master,而是指向要用的資料庫:

image_thumb_3  

 

接著接受預設值:

image_thumb_4  

 

最後,測試一下連線可成功即可:

image_thumb_5  

 

設定完畢後,回到 SSMS,使用下列兩個指令加入連結伺服器:

01 EXEC master.dbo.sp_addlinkedserver
02      @server = N'[ODBC_DATA_SOURCE_NAME]',
03      @srvproduct=N'Any',
04      @provider=N'MSDASQL',
05      @datasrc=N'CloudSQLDB'
06 GO
07  
08 EXEC master.dbo.sp_addlinkedsrvlogin
09      @rmtsrvname=N'[ODBC_DATA_SOURCE_NAME]',
10      @useself=N'False',
11      @locallogin=NULL,
12      @rmtuser=N'[YOUR_SQL_AZURE_ACCOUNT]',
13      @rmtpassword='[YOUR_PASSWORD]'
14 GO

 

設定完以後就能用 [link_server_name].[database_name].[owner].[object_name] 來存取 SQL Database 上的資料了。

PS: 據筆者的測試,有些資料型別在用 Linked Server 時會有 metadata 不一致的問題,例如 money 型別,這點可參考 Reference 的方式解決。

 

Reference:

http://blogs.msdn.com/b/sqlcat/archive/2011/03/08/linked-servers-to-sql-azure.aspx

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 ........... 的頭像
    ...........

    ..........

    ........... 發表在 痞客邦 留言(0) 人氣()