昨天写了个同步数据的脚本可最终发现两个数据库不在同一台服务器上,后来想到数据库自带有远程连接库查询的功能就重新修改了下脚本。其远程连接库查询脚本如下:
--建立服务器间的连接 参数说明: @server为服务器写个名称以便在下面使用;SQLOLEDB无需改动;@datasrc是远程数据库所在的IP地址
EXEC sp_addlinkedserver @server='ServerName',@provider='SQLOLEDB',@srvproduct='',@datasrc='192.168.85.251'
--登陆服务器 参数说明:此处的@rmtsrvname取名要与上面的@server一样;@rmtuser登陆服务器的用户名;@rmtpassword登陆服务器的密码
EXEC dbo.sp_addlinkedsrvlogin @rmtsrvname = N'ServerName',@useself = N'False',@locallogin = NULL,@rmtuser = N'sa',@rmtpassword = N'123'
/*-----------简写方式------------------
EXEC dbo.sp_addlinkedserver 'ServerName','','SQLOLEDB','192.168.85.251'
EXEC sp_addlinkedsrvlogin 'ServerName','false',NULL,'sa','123'
------------------------------------*/
Go
/*------------数据操作区----------------*/
select * from [ServerName].[库名称].[dbo].[表名称]
/*--------------End---------------------*/
GO
--关闭服务器连接
EXEC sp_droplinkedsrvlogin 'ServerName' , NULL
EXEC sp_dropserver 'ServerName'
其中用到的存储过程都在“系统数据库 master中”可找到!