SQL Server如何启用Ad Hoc Distributed Queries?
答案:2 悬赏:40 手机版
解决时间 2021-02-07 20:24
- 提问者网友:沉默菋噵
- 2021-02-07 07:50
SQL Server如何启用Ad Hoc Distributed Queries?
最佳答案
- 五星知识达人网友:春色三分
- 2021-02-07 09:27
1、启用Ad Hoc Distributed Queries的办法SQL Server 阻拦了对组件""Ad Hoc Distributed Queries"" 的STATEMENT""OpenRowset/OpenDatasource""的接见,因为此组件已作为此办事器安然设备的一项目组而被封闭。体系经管员可以经由过程应用。
reconfigure;应用完毕后,记得必然要封闭它,因为这是一个安然隐患,切记履行下面的SQL语句:exec sp_configure 'Ad Hoc Distributed Queries',0 reconfigure exec sp_configure 'show advanced options',0 reconfigure 2、应用示例创建链接办事器 exec s p_addlinkedserver ""ITSV "", "" "", ""SQLOLEDB "", ""长途办事器名或ip地址 "" exec s p_addlinkedsrvlogin ""ITSV "", ""false "",null, ""用户名 "", ""暗码 "" 查询示例 * ITSV.数据库名.dbo.表名 导入示例 * into 表 ITSV.数据库名.dbo.表名 今后不再应用时删除链接办事器 exec s p_dropserver ""ITSV "", ""droplogins "" 3、连接长途/局域网数据(openrowset/openquery/opendatasource) 1、openrowset 查询示例 * openrowset( ""SQLOLEDB "", ""sql办事器名 ""; ""用户名 ""; ""暗码 "",数据库名.dbo.表名) 生成本地表 * into 表 openrowset( ""SQLOLEDB "", ""sql办事器名 ""; ""用户名 ""; ""暗码 "",数据库名.dbo.表名) 把本地表导入长途表 openrowset( ""SQLOLEDB "", ""sql办事器名 ""; ""用户名 ""; ""暗码 "",数据库名.dbo.表名) * 本地表 更新本地表 b set b.列A=a.列A openrowset( ""SQLOLEDB "", ""sql办事器名 ""; ""用户名 ""; ""暗码 "",数据库名.dbo.表名)as a inner join 本地表 b on a.column1=b.column1 openquery用法须要创建一个连接。起首创建一个连接创建链接办事器 exec s p_addlinkedserver ""ITSV "", "" "", ""SQLOLEDB "", ""长途办事器名或ip地址 "" 查询 * FROM openquery(ITSV, ""SELECt * FROM 数据库.dbo.表名 "") 把本地表导入长途表 openquery(ITSV, ""SELECt * FROM 数据库.dbo.表名 "") * 本地表 更新本地表 b set b.列B=a.列B FROM openquery(ITSV, ""SELECt * FROM 数据库.dbo.表名 "") as a inner join 本地表 b on a.列A=b.列A 2、opendatasource/openrowset SELECt * FROM opendatasource( ""SQLOLEDB "", ""Data Source=ip/ServerName;User ID=登岸名;Password=暗码 "" ).test.dbo.roy_ta 把本地表导入长途表: opendatasource( ""SQLOLEDB "", ""Data Source=ip/ServerName;User ID=登岸名;Password=暗码 "").数据库.dbo.表名 * 本地表 关于SQL Server数据库中应用T-SQL语句接见长途数据库的操纵就介绍到这里了,欲望本次的介绍可以或许对您有所收成!
reconfigure;应用完毕后,记得必然要封闭它,因为这是一个安然隐患,切记履行下面的SQL语句:exec sp_configure 'Ad Hoc Distributed Queries',0 reconfigure exec sp_configure 'show advanced options',0 reconfigure 2、应用示例创建链接办事器 exec s p_addlinkedserver ""ITSV "", "" "", ""SQLOLEDB "", ""长途办事器名或ip地址 "" exec s p_addlinkedsrvlogin ""ITSV "", ""false "",null, ""用户名 "", ""暗码 "" 查询示例 * ITSV.数据库名.dbo.表名 导入示例 * into 表 ITSV.数据库名.dbo.表名 今后不再应用时删除链接办事器 exec s p_dropserver ""ITSV "", ""droplogins "" 3、连接长途/局域网数据(openrowset/openquery/opendatasource) 1、openrowset 查询示例 * openrowset( ""SQLOLEDB "", ""sql办事器名 ""; ""用户名 ""; ""暗码 "",数据库名.dbo.表名) 生成本地表 * into 表 openrowset( ""SQLOLEDB "", ""sql办事器名 ""; ""用户名 ""; ""暗码 "",数据库名.dbo.表名) 把本地表导入长途表 openrowset( ""SQLOLEDB "", ""sql办事器名 ""; ""用户名 ""; ""暗码 "",数据库名.dbo.表名) * 本地表 更新本地表 b set b.列A=a.列A openrowset( ""SQLOLEDB "", ""sql办事器名 ""; ""用户名 ""; ""暗码 "",数据库名.dbo.表名)as a inner join 本地表 b on a.column1=b.column1 openquery用法须要创建一个连接。起首创建一个连接创建链接办事器 exec s p_addlinkedserver ""ITSV "", "" "", ""SQLOLEDB "", ""长途办事器名或ip地址 "" 查询 * FROM openquery(ITSV, ""SELECt * FROM 数据库.dbo.表名 "") 把本地表导入长途表 openquery(ITSV, ""SELECt * FROM 数据库.dbo.表名 "") * 本地表 更新本地表 b set b.列B=a.列B FROM openquery(ITSV, ""SELECt * FROM 数据库.dbo.表名 "") as a inner join 本地表 b on a.列A=b.列A 2、opendatasource/openrowset SELECt * FROM opendatasource( ""SQLOLEDB "", ""Data Source=ip/ServerName;User ID=登岸名;Password=暗码 "" ).test.dbo.roy_ta 把本地表导入长途表: opendatasource( ""SQLOLEDB "", ""Data Source=ip/ServerName;User ID=登岸名;Password=暗码 "").数据库.dbo.表名 * 本地表 关于SQL Server数据库中应用T-SQL语句接见长途数据库的操纵就介绍到这里了,欲望本次的介绍可以或许对您有所收成!
全部回答
- 1楼网友:夜风逐马
- 2021-02-07 10:50
体系经管员可以经由过程应用。 启用ad hoc distributed queries的办法,履行下面的查询语句就可以了: exec sp_configure 'show advanced options',1; reconfigure; exec sp_configure 'ad hoc distributed queries',1; reconfigure; 应用完毕后,记得必然要封闭它,因为这是一个安然隐患,切记履行下面的sql语句: exec sp_configure 'ad hoc distributed queries',0 reconfigure exec sp_configure 'show advanced options',0 reconfigure 2、应用示例 创建链接办事器 exec s p_addlinkedserver ""itsv "", "" "", ""sqloledb "", ""长途办事器名或ip地址 "" exec s p_addlinkedsrvlogin ""itsv "", ""false "",null, ""用户名 "", ""暗码 "" 查询示例 * itsv.数据库名.dbo.表名 导入示例 * into 表 itsv.数据库名.dbo.表名 今后不再应用时删除链接办事器 exec s p_dropserver ""itsv "", ""droplogins "" 3、连接长途/局域网数据(openrowset/openquery/opendatasource) 1、openrowset 查询示例 * openrowset( ""sqloledb "", ""sql办事器名 ""; ""用户名 ""; ""暗码 "",数据库名.dbo.表名) 生成本地表 * into 表 openrowset( ""sqloledb "", ""sql办事器名 ""; ""用户名 ""; ""暗码 "",数据库名.dbo.表名) 把本地表导入长途表 openrowset( ""sqloledb "", ""sql办事器名 ""; ""用户名 ""; ""暗码 "",数据库名.dbo.表名) * 本地表 更新本地表 b set b.列a=a.列a openrowset( ""sqloledb "", ""sql办事器名 ""; ""用户名 ""; ""暗码 "",数据库名.dbo.表名)as a inner join 本地表 b on a.column1=b.column1 openquery用法须要创建一个连接。 起首创建一个连接创建链接办事器 exec s p_addlinkedserver ""itsv "", "" "", ""sqloledb "", ""长途办事器名或ip地址 "" 查询 * from openquery(itsv, ""select * from 数据库.dbo.表名 "") 把本地表导入长途表 openquery(itsv, ""select * from 数据库.dbo.表名 "") * 本地表 更新本地表 b set b.列b=a.列b from openquery(itsv, ""select * from 数据库.dbo.表名 "") as a inner join 本地表 b on a.列a=b.列a 【 sql server 】
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯