zoukankan      html  css  js  c++  java
  • 跨服务器导入数据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)

  • 相关阅读:
    【分享】项目开发容易出现的问题?身为前端/后端你见到过吗?
    标准化API设计的重要性
    【分享】对外API接口安全设计
    【实例】调用数据库自动生成接口代码
    【翻译】API-First是什么概念?有什么商业价值?
    保障接口安全的5种常见方式
    【翻译】使用OpenAPI规范进行安全的API设计
    为什么需要API文档
    利用java的反射,实现工厂创建对象
    Cesium入门8
  • 原文地址:https://www.cnblogs.com/andy_tigger/p/1750856.html
Copyright © 2011-2022 走看看