SQL Server如何通过SQL语句直接操作另一台服务器上的SQL SERVER的数据(sqlserver查询表中内容)全程干货

随心笔谈2年前发布 admin
183 0 0

文章摘要

这篇文章介绍了如何在本地SQL Server数据库中直接执行跨库查询的操作。主要内容包括: 1. 启用Ad Hoc Distributed Queries功能,通过执行`exec sp_configure 'showadvanced options',1`和`reconfigure`命令来完成。 2. 使用`openrowset`语句连接到另一个SQL Server数据库: ```sql openrowset('SQLOLEDB', '另一个SQLSERVER数据库IP', '另一个数据库用户名', '密码', 'select * from 数据库名.表所有者.表名') ``` 3. 提供了示例代码: ```sql select * from openrowset('SQLOLEDB', '192.168.4.238', 'jb51', 'ecology', 'select * from ecology.dbo.hrmresource') ``` 4. 提醒用户注意权限控制,不能使用默认用户(SA),只能指定特定IP地址的数据库,以确保低权限运行,避免潜在安全问题。



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,这里只是测试。

© 版权声明

相关文章