zoukankan      html  css  js  c++  java
  • sqlserver 存储过程跨库查询

    实践环境:SQL SERVER 2008R2

    一般跨库查询: select  * from [远程IP].库名.dbo.表名/存储过程

    正常存储过程如果在数据库管理器的链接服务器地址中添加了远程IP,是没问题的,但是如果创建作业定时执行任务就报如下错误:

    已以用户 NT AUTHORITYNETWORK SERVICE 的身份执行。 链接服务器 "远程IP" 的 OLE DB 访问接口 "SQLNCLI10" 报错。身份验证失败。 [SQLSTATE 42000] (错误 7399)  无法初始化链接服务器 "远程IP" 的 OLE DB 访问接口 "SQLNCLI10" 的数据源对象。 [SQLSTATE 42000] (错误 7303)  链接服务器"远程IP"的 OLE DB 访问接口 "SQLNCLI10" 返回了消息 "无效的授权说明"。 [SQLSTATE 01000] (错误 7412).  该步骤失败。

    针对此报错可以使用下面跨库查询方法:

    select  * from OPENDATASOURCE('SQLOLEDB','Data Source=远程IP;User ID=sa;Password=sasa').库名.dbo.表名/存储过程

    注意:

    有的服务器因为安全问题可能会关闭一些组件,会报如下错误:

    已以用户 NT AUTHORITYNETWORK SERVICE 的身份执行。 SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed Queries' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。 [SQLSTATE 42000] (错误 15281).  该步骤失败。

    针对此报错开启Ad Hoc Distributed Queries组件即可,执行如下sql:

    exec sp_configure 'show advanced options',1
    reconfigure
    exec sp_configure 'Ad Hoc Distributed Queries',1
    reconfigure

    关闭Ad Hoc Distributed Queries组件的sql如下:

    exec sp_configure 'Ad Hoc Distributed Queries',0
    reconfigure
    exec sp_configure 'show advanced options',0
    reconfigure

  • 相关阅读:
    Javascript Read Excel
    Rest API 操作List Items
    web安全入门课程笔记——SQL漏洞分析与利用
    web安全入门课程笔记——网站基础与信息搜集
    博客迁移通知
    Python查找指定文件
    博客园写作避坑指南【持续更新】
    Changes of user relationship in AD can't be correctly synchronized to SCSM
    博客地址改为 https://0xcreed.jxustctf.top
    AI:WEB:1 Walkthrough
  • 原文地址:https://www.cnblogs.com/Zbuxu/p/11865113.html
Copyright © 2011-2022 走看看