熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> SQL Server >> 正文

SQL中兩台服務器間使用連接服務器

2013-11-15 14:34:15  來源: SQL Server 

  執行另一服務器上的存儲過程
  
  exec OPENDATASOURCE(
  SQLOLEDB
  Data Source=遠程ip;User ID=sa;Password=密碼
  )庫名dbo存儲過程名
  
  將資料插入另一服務器上的表中
  
  select * into 本地庫名表名 from OPENDATASOURCE(
  SQLOLEDB
  Data Source=遠程ip;User ID=sa;Password=密碼
  )庫名dbo表名
  
  insert 本地庫名表名 select * from OPENDATASOURCE(
  SQLOLEDB
  Data Source=遠程ip;User ID=sa;Password=密碼
  )庫名dbo表名
  
  或使用聯結服務器:
  EXEC sp_addlinkedserver 別名MSDASQLNULLNULLDRIVER={SQL Server};SERVER=遠程名;UID=用戶;PWD=密碼;
  
  exec sp_addlinkedsrvlogin @rmtsrvname=別名@useself=false@locallogin=sa@rmtuser=sa@rmtpassword=密碼
  GO
  
  (請注意上面的兩步要同時運行)
  
  然後你就可以如下
  select * from 別名庫名dbo表名
  insert 庫名dbo表名 select * from 別名庫名dbo表名
  select * into 庫名dbo新表名 from 別名庫名dbo表名
  go
  
  
  :如果在事務裡使用連接服務器要加上分布式事務
  兩邊啟動dtc
  
  set XACT_ABORT on
  set ANSI_NULL_DFLT_ON on
  set ANSI_WARNINGS on
  
  BEGIN DISTRIBUTED TRANSACTION
  select * from OPENDATASOURCE(MSDASQLDRIVER={SQL Server};SERVER=ip;UID=sa;PWD=密碼;)pubsdbojobs
  commit tran
From:http://tw.wingwit.com/Article/program/SQLServer/201311/21998.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.