SQL Server如何启用Ad Hoc Distributed Queries?
发布网友
发布时间:2022-05-22 04:05
我来回答
共1个回答
热心网友
时间:2024-03-22 15:33
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语句接见长途数据库的操纵就介绍到这里了,*本次的介绍可以或许对您有所收成!