mysql 跨服务器导入_跨服务器导入数据SQL语句

跨服务器导入数据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 联机丛书中的 "外围应用配置器"。

此时,可以使用sp_configure来启用'Ad Hoc Distributed Queries' :

--启用'Ad Hoc Distributed Queries'

EXEC SP_CONFIGURE 'show advanced options',1

RECONFIGURE

EXEC SP_CONFIGURE 'Ad Hoc Distributed Queries',1

RECONFIGURE

当执行完导入后,最好将'Ad Hoc Distributed Queries' 关闭:

--启用'Ad Hoc Distributed Queries'

EXEC SP_CONFIGURE 'show advanced options',0

RECONFIGURE

EXEC SP_CONFIGURE 'Ad Hoc Distributed Queries',0

RECONFIGURE

此时完成了跨服务器导入数据任务!

SELECT * INTO DB_Test.dbo.tb1 FROM OPENROWSET('SQLOLEDB','192.168.0.7';'sa';'123456',DB_Test.dbo.Users_Detail)

WHERE CONVERT(CHAR(10),date,10)=CONVERT(CHAR(10),GETDATE()-1,10)

INSERT INTO DB_Test.dbo.tb1 SELECT * FROM OPENROWSET('SQLOLEDB','192.168.0.7';'sa';'123456',DB_Test.dbo.Users_Detail)

WHERE CONVERT(CHAR(10),date,10)=CONVERT(CHAR(10),GETDATE()-1,10)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值