天天看點

SQL中兩台伺服器間使用連接配接伺服器(ZT)

sql中兩台伺服器間使用連接配接伺服器

exec opendatasource(

  'sqloledb',

  'data source=遠端ip;user id=sa;password=密碼'

  ).庫名.dbo.存儲過程名

  

  2:将資料插入另一伺服器上的表中

  select * into 本地庫名..表名 from opendatasource(

  ).庫名.dbo.表名

  insert 本地庫名..表名 select * from opendatasource(

  或使用聯結伺服器:

  exec sp_addlinkedserver '别名','','msdasql',null,null,'driver={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.表名

  3:如果在事務裡使用連接配接伺服器要加上分布式事務:

  兩邊啟動dtc

  set xact_abort on

  set ansi_null_dflt_on on

  set ansi_warnings on

  begin distributed transaction

  select * from opendatasource('msdasql','driver={sql server};server=ip;uid=sa;pwd=密碼;').pubs.dbo.jobs

  commit tran