关于跨服务器存取SQL Server数据库的方法(sp_addlinkedserver)

来源:csdn.net  作者:本站整理
摘要:内容提示:关于跨服务器直接连接存取SQL Server数据库的问题,有两种方法可以实现:一、利用OPENDATASOURCE直接连接即时存取。insert 本地库名..表名 select * from OPENDATASOURCE(’SQL……

内容提示:关于跨服务器直接连接存取SQL Server数据库的问题,有两种方法可以实现:

一、利用OPENDATASOURCE直接连接即时存取。

insert 本地库名..表名 select * from OPENDATASOURCE(
 'SQLOLEDB',
 'Data Source=远程ip;User ID=sa;Password=密码'
 ).库名.dbo.表名

二、使用较稳定的联结服务器(sp_addlinkedserver):

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.表名
  go

--创建链接服务器

exec sp_addlinkedserver   'lnk','','SQLOLEDB','另一台机'
  exec sp_addlinkedsrvlogin 'lnk','false',null,'sa','密码'
  go

--插入数据:
  select * insert into [02].dbo.[002] from lnk.[01].dbo.[001]

--上面的插入语句写错了,改一下:
  select * into [02].dbo.[001] from lnk.[01].dbo.[001]

--如果只临时插入数据,可以用:
  select * into [02].dbo.[001] from openrowset('sqloledb','另一台机';'sa';'密码',[01].dbo.[001])

【相关文章】好搜一下
关于SQL Server数据库防止js注入的方法

关于SQL Server数据库防止js注入的

SQL2005的操作方法1、不要使用sa用户连接数据库。SA帐户拥有所有数据库和…