永发信息网

怎样启用Ad Hoc Distributed Queries?求答案

答案:1  悬赏:30  手机版
解决时间 2021-01-29 14:21
  • 提问者网友:我的未来我做主
  • 2021-01-29 09:18
怎样启用Ad Hoc Distributed Queries?求答案
最佳答案
  • 五星知识达人网友:毛毛
  • 2021-01-29 10:38
1、启用Ad Hoc Distributed Queries的方法 SQL Server 阻止了对组件'Ad Hoc Distributed Queries' 的STATEMENT'OpenRowset/OpenDatasource'的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用。sp_configure 启用 'Ad Hoc Distributed Queries'。 启用Ad Hoc Distributed Queries的方法,执行下面的查询语句就可以了: 1. exec sp_configure 'show advanced options',12. 3. reconfigure4. 5. exec sp_configure 'Ad Hoc Distributed Queries',16. 7. reconfigure8. 使用完毕后,记得一定要关闭它,因为这是一个安全隐患,切记执行下面的SQL语句: 1. exec sp_configure 'Ad Hoc Distributed Queries',02. 3. reconfigure4. 5. exec sp_configure 'show advanced options',06. 7. reconfigure8. 2、使用示例 创建链接服务器 1. exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 '2. 3. exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 ', '密码 '4. 查询示例 1. select * from ITSV.数据库名.dbo.表名2. 导入示例 1. select * into 表 from ITSV.数据库名.dbo.表名2. 以后不再使用时删除链接服务器 1. exec sp_dropserver 'ITSV ', 'droplogins '2. 3、连接远程/局域网数据(openrowset/openquery/opendatasource) 1、openrowset 查询示例 1. select * from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)2. 生成本地表 1. select * into 表 from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)2. 把本地表导入远程表 1. insert openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)2. 3. select *from 本地表4. 更新本地表 1. update b2. 3. set b.列A=a.列A4. 5. from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)as a inner join 本地表 b6. 7. on a.column1=b.column18. openquery用法需要创建一个连接。 首先创建一个连接创建链接服务器 1. exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 '2. 查询 1. select * FROM openquery(ITSV, 'SELECt * FROM 数据库.dbo.表名 ')2. 把本地表导入远程表 1. insert openquery(ITSV, 'SELECt * FROM 数据库.dbo.表名 ')2. 3. select * from 本地表4. 更新本地表 1. update b2. 3. set b.列B=a.列B4. 5. FROM openquery(ITSV, 'SELECt * FROM 数据库.dbo.表名 ') as a6. 7. inner join 本地表 b on a.列A=b.列A8. 2、opendatasource/openrowset 1. SELECt * FROM opendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ' ).test.dbo.roy_ta2. 把本地表导入远程表: 1. insert opendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ').数据库.dbo.表名2. 3. select * from 本地表4. 关于SQL Server数据库中使用T-SQL语句访问远程数据库的操作就介绍到这里了,希望本次的介绍能够对您有所收获! 作者:不详 来源:网络
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯