跨服务器导入数据SQL语句及其问题解决方案
跨服务器导入数据SQL语句:安全
--自定义表名,在导入前建立表
SELECT * INTO TbName FROM OPENROWSET('SQLOLEDB','192.168.0.7';'sa';'damon king',DBName.dbo.TbName)服务器
--跨服务器查询示例
SELECT * FROM OPENROWSET('SQLOLEDB','192.168.0.7';'sa';damon king',DBName.dbo.TbName)
按F5执行,若未启用'Ad Hoc Distributed Queries'(专案分布式查询),则会提示以下信息:分布式
SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,由于此组件已做为此服务器安全配置的一部分而被关闭。系统管理员能够经过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed Queries' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。spa
此时,可使用sp_configure来启用'Ad Hoc Distributed Queries' :it
--启用'Ad Hoc Distributed Queries'io
EXEC SP_CONFIGURE 'show advanced options',1
RECONFIGURE
EXEC SP_CONFIGURE 'Ad Hoc Distributed Queries',1
RECONFIGURE class
当执行完导入后,最好将'Ad Hoc Distributed Queries' 关闭:
--关闭'Ad Hoc Distributed Queries'
EXEC SP_CONFIGURE 'Ad Hoc Distributed Queries',0
RECONFIGURE
EXEC SP_CONFIGURE 'show advanced options',0
RECONFIGUREdva
此时完成了跨服务器导入数据任务!配置