通过一条sql语句访问不同数据库服务器中的数据库对象的方法_SQL SERVER数据库_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

通过一条sql语句访问不同数据库服务器中的数据库对象的方法

作者:黑客防线网安SQL维护基地 来源:黑客防线网安SQL维护基地 浏览次数:0

黑客防线网安网讯:在我们做数据库程序开发的时候,经常会遇到这种情况:需要将一个数据库服务器中的数据导入到另一个数据库服务器的表中。通常我们会使用这种方法:先把一个数据库中的数据取出来放到某出,然...

在我们做数据库程序开发的时候经常会遇到这种情况:需要将一个数据库服务器中的数据导入到另一个数据库服务器的表中通常我们会使用这种方法:先把一个数据库中的数据取出来放到某出然后再把这些数据一条条插入到目的数据库中,这种方法效率较低,写起程序来也很繁琐,容易出错另外一种方法是使用bcp或BULK INSERT语句,将数据导入到一个文件中,再从此文件中导出到目的数据库,这种方法虽然效率稍高,但也有很多不如意的地方,单是在导入时怎样找到另外一台机器上的数据导入文件就很麻烦。

最方便的一种方法,我想也是效率最高的方法,应该是这样:

比如有两个数据库服务器:zl和ljw,里面都有一个数据库taxitemp(也可以不同名),数据库里有一个表,叫users,我们现在想把zl中的users数据导入到ljw中,可以这样写sql语句(假设现在连接的是zl数据库):

insert into ljw.taxitemp.dbo.users

select * from users

这样,通过一条sql语句就完成了不同数据库服务器之间的数据复制。

有人会说,这种sql语句我也会写,我也想到了,但是没办法执行。

的确,单纯的这样一条语句没办法执行,因为数据库不知道ljw是什么服务器,也不知道怎样登录,当然会报错。

我们可以这样解决注册远程数据库服务器和登录的问题:

注册远程数据库服务器:

EXEC sp_addlinkedserver 'ljw', N'SQL Server'

注册远程数据库服务器的登录方法:

EXEC sp_addlinkedsrvlogin 'ljw', 'false', NULL, 'sa', 'zz'

至于这两个存储过程的详细用法,我就不多讲了,大家看看帮助就明白了。

只要我们先执行远程数据库服务器注册和登录方法注册,然后就可以把远程数据库当成本地数据库使用了

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-10388-1.html
网站维护教程更新时间:2012-03-21 02:33:30  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer