SQL Server如何通过SQL语句直接操作另一台服务器上的SQL SERVER的数据

SQL Server如何通过SQL语句直接操作另一个SQL SERVER的数据

1、 现在执行SQL语句的数据库服务器开启Ad Hoc Distributed Queries 

exec sp_configure 'showadvanced options',1
reconfigure
exec sp_configure 'Ad HocDistributed Queries',1
reconfigure

2、通过openrowset(‘SQLOLEDB’,’另一个SQLSERVER数据库IP’; ‘另一个数据库用户名’;’密码’,’select * from 数据库名.表所有者.表名’)

openrowset(‘SQLOLEDB’,’另一个SQLSERVER数据库IP’; ‘另一个数据库用户名’;’密码’,’select * from 数据库名.表所有者.表名’)

3、 实例

select * from openrowset('SQLOLEDB','192.168.4.238'; 'jb51';'ecology','select * from ecology.dbo.hrmresource')

以上语句可在当前数据库查询出192.168.4.238数据库上的hrmresource'数据,大家在实际使用过程中一定要控制好权限,只能指定的ip才让访问本地的sql数据库,低权限运行数据库,更不能使用sa,这里只是测试。

你可能感兴趣的:(SQL Server如何通过SQL语句直接操作另一台服务器上的SQL SERVER的数据)