【问题标题】:SQL Server not configured for data accessSQL Server 未配置数据访问
【发布时间】:2009-03-10 11:02:18
【问题描述】:

我正在从 VB 6 应用程序运行 SQL Server 2005 数据库。我连接到数据库 通过 ODBC DSN。

我将运行 SQL 服务器默认实例的计算机从“软件”重命名为“IT”。然后我运行sp_dropserversp_addserver 存储过程来重命名实例。

在重新启动 SQL Server 服务时,服务器能够使用新的 SQL Server 名称。

将 ODBC 数据源名称配置为新名称后,连接正常。我能够运行我的应用程序并通过 ADO 记录集读取记录。但是我无法使用.Update 方法更新任何记录集。我收到以下错误...SQL Server not configured for data access

如何在重命名的服务器实例上启用数据访问?

【问题讨论】:

    标签: sql sql-server tsql vb6


    【解决方案1】:

    How to: Rename a Computer that Hosts a Stand-Alone Instance of SQL Server 2005

    您应该能够运行此程序,但不能针对任何链接服务器。它不是链接服务器。这是本地的。

    EXEC sp_serveroption 'YourServer', 'DATA ACCESS', TRUE
    

    【讨论】:

    • 这样做是否会使服务器面临 SQL 注入或其他安全问题?
    • 如果您的存储过程使用动态 sql 则不起作用
    【解决方案2】:

    只需转到链接服务器属性>服务器选项>数据访问-> true

    适用于 SQL Server 2014。

    问候

    【讨论】:

    • “thrue”应该是“true”吗?也许编辑某人的答案?
    【解决方案3】:

    我只是想在之前的答案中补充一点,至少在我这里,我需要在这两个地方启用数据访问。

    例如:

    有服务器A和服务器B

    在服务器 A 上 我有一个链接服务器 LB,它将我从服务器 A 链接到服务器 B

    我需要执行以下操作:

    --在服务器A上

    exec sp_serveroption 'LB', 'data access', 'true'
    

    -- 在服务器 B

    exec sp_serveroption 'B', 'data access', 'true'
    

    【讨论】:

      【解决方案4】:

      有了这个

      use master
      go
      
      exec sp_serveroption 'server name', 'data access', 'true'
      go 
      

      为复制生成的链接服务器仍然显示相同的错误

      【讨论】:

        【解决方案5】:

        我刚刚遇到这个错误,发现它是由于我试图对本地服务器运行 OpenQuery 引起的(doh!)。将服务器名称更改为实际链接服务器的名称解决了我的问题。

        【讨论】:

        • 更好的解决方法是在不需要时不使用 OpenQuery。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-05-28
        • 2020-05-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-18
        相关资源
        最近更新 更多