★SqlServer 中 link serve的使用

來源:互聯網
上載者:User

原文地址:http://zzh.javaeye.com/blog/278847

 

問題描述:

      日本資料庫伺服器中有兩個資料庫A,B

      現在要將B資料庫遷移到中國,

      但是A,B之間有表的關聯。

實現結果:

      A,B之間的資料庫實現同時更新。

 

解決方案:

     採用SQLServer中的link server

實現步驟:

     1 建立與日本方的link server,日方伺服器為:172.18.1.6;取別名:linkServerJP 

        文法為

        sp_addlinkedserver   N'linkServerJP',   '   ',   N'SQLOLEDB',   N'172.18.1.6'

     2 將本機使用者sa 存取權限映射到名為  linkServerJP  的連結的伺服器上的   SQL   Server   授權登入   Visitor。  

        假設 使用者名稱為:develop  密碼為:password

        文法為

        sp_addlinkedsrvlogin   N'linkServerJP',   false,   N'sa',   N'develop',   N'pssword'  

     3 遠端資料庫訪問方式: 伺服器名.資料庫名.dbo.表名

        例如 linkServerJP.test.dbo.student

簡單舉例:

        查詢日本伺服器上的student表

        select username from linkServerJP.test.dbo.student;

       其他動作類同

 

 

參考資料:

   http://topic.csdn.net/t/20021101/10/1138996.html

  建立連結的伺服器以訪問   SQL   Server   資料庫    
   
  執行   sp_addlinkedserver   建立連結的伺服器,指定   SQLOLEDB   作為   provider_name,指定運行   SQL   Server   遠程執行個體的伺服器的網路名稱作為   data_source。    
  例如,若要建立一個名為   LinkSQLSrvr   的連結的伺服器,以便對運行於網路名稱為   NetSQLSrvr   的伺服器上的   SQL   Server   執行個體進行操作,請執行:  
   
  sp_addlinkedserver   N'LinkSQLSrvr',   '   ',   N'SQLOLEDB',   N'NetSQLSrvr'  
   
  將每個需要訪問連結的伺服器的本地   SQL   Server   登入映射為連結的伺服器上的   SQL   Server   授權登入。    
  下例將本地登入   Joe   的存取權限映射到名為   LinkedSQLSrvr   的連結的伺服器上的   SQL   Server   授權登入   Visitor。    
   
  sp_addlinkedsrvlogin   N'LinkSQLSrvr',   false,   N'Joe',   N'Visitor',   N'VisitorPwd'  
   
  對運行   SQL   Server   7.0   版或更早版本的伺服器執行分散式查詢時,必須升級早期版本上的目錄存放過程,以確保分散式查詢可以正常運行。例如,如果伺服器啟動並執行是   SQL   Server   7.0   版執行個體,則在可以從運行   SQL   Server   2000   執行個體的伺服器中的分散式查詢內引用目錄存放過程之前,必須將它升級到   SQL   Server   2000。有關更多資訊,請參見升級目錄存放過程   (OLE   DB)。  
   
  更新遠程   SQL   Server   表時,本機伺服器或用戶端不接收為該更新而激發的觸發器所產生的任何結果集或訊息。  
   
  當使用四部分的名稱時,一定要指定架構名稱。沒有在分散式查詢中指定架構名稱將會禁止   OLE   DB   尋找表。當引用本地表時,如果未指定所有者姓名,SQL   Server   將使用預設值。下列   SELECT   語句將產生   7314   號錯誤,即使連結的伺服器登入映射為連結的伺服器上   Northwind   資料庫中的使用者   dbo。  
   
  sp_addlinkedserver   @server   =   N'LinkServer',  
          @srvproduct   =   N'   ',  
          @provider   =   N'SQLOLEDB',    
          @datasrc   =   N'ServerNetName',    
          @catalog   =   N'Northwind'  
  GO  
  SELECT   *  
  FROM   LinkServer.Northwind..Shippers  
   
  下面的樣本定義了連結的伺服器和遠程伺服器,它們都訪問網路名稱為   othersite   的同一台電腦。連結的伺服器定義使用與遠程伺服器的網路名稱相同的名稱;而遠程伺服器定義則使用其它名稱。  
   
  /*   Create   a   linked   server   definition   to   othersite.   */  
  EXEC   sp_addlinkedserver   'othersite',   N'SQL   Server'  
   
  /*   Create   a   remote   server   definition   using   a  
        fictitious   name.   */  
  EXEC   sp_addserver   'RPCothersite'  
   
  /*   Set   the   fictitious   nameto   the   network   name   faraway.   */  
  EXEC   sp_setnetname   'RPCothersite',   'othersite'  
   
  然後,就可以在分散式查詢或者遠端程序呼叫中引用這兩個名稱。  
   
  /*   A   distributed   query   referencing   othersite.   */  
  SELECT   *  
  FROM   othersite.Northwind.dbo.Employees  
  /*   A   remote   procedure   call   to   the   same   server.   */  
  EXEC   RPCothersite.master.dbo.sp_who  
  /*   Distributed   queries   can   be   used   to   execute  
        stored   procedures   on   the   other   server.   */  
  EXEC   othersite.master.dbo.sp_who  
   
  通過連結的伺服器執行的預存程序和通過遠程伺服器執行的預存程序之間的登入映射機制不同。  
   
  連結   SQL   Server   中的事務考慮事項  
  用於   SQL   Server   的   Microsoft   OLE   DB   提供者不支援嵌套事務。因此,對於隱性或明確交易的內部資料修改操作和分散式資料分割檢視上的資料修改操作,應將   XACT_ABORT   設定為   ON。  
   
  在隱性或明確交易或分散式資料分割檢視內部,不支援對同一   SQL   Server   執行個體的環回串連。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.