未为数据访问配置SQL Server
我正在从VB6应用程序运行SQLServer2005数据库。我连接到数据库 通过ODBC DSN 我将运行SQL server默认实例的计算机从“软件”重命名为“IT”。然后我运行未为数据访问配置SQL Server,sql,sql-server,tsql,vb6,Sql,Sql Server,Tsql,Vb6,我正在从VB6应用程序运行SQLServer2005数据库。我连接到数据库 通过ODBC DSN 我将运行SQL server默认实例的计算机从“软件”重命名为“IT”。然后我运行sp_dropserver和sp_addserver存储过程来重命名实例 重新启动SQL Server服务时,服务器能够识别新的SQL Server名称 将ODBC数据源名称配置为新名称后,连接正常。我能够运行我的应用程序并通过ADO记录集读取记录。但是,我无法使用.update方法更新任何记录集。我得到了以下错误未为
sp_dropserver
和sp_addserver
存储过程来重命名实例
重新启动SQL Server服务时,服务器能够识别新的SQL Server名称
将ODBC数据源名称配置为新名称后,连接正常。我能够运行我的应用程序并通过ADO记录集读取记录。但是,我无法使用.update
方法更新任何记录集。我得到了以下错误<代码>未为数据访问配置SQL Server
如何在重命名的服务器实例上启用数据访问?
您应该能够对任何链接的服务器运行此操作,但不能。它不是链接服务器。是本地的
EXEC sp_serveroption 'YourServer', 'DATA ACCESS', TRUE
这篇文章很老了,但也许有人会发现它。 我写了一篇关于此选项的文章,它可以在本地和链接服务器上设置。使用此use master
exec sp_serveroption“服务器名称”、“数据访问”、“true”
去
为复制生成的链接服务器仍然显示相同的错误我只想补充前面的答案,至少在这里,我需要在这两个地方启用数据访问 例如: 有服务器A和服务器B 在服务器A上 我有一个链接服务器LB,它将我从服务器a链接到服务器B 我需要执行以下操作: --在服务器A上
exec sp_serveroption 'LB', 'data access', 'true'
--在服务器B上
exec sp_serveroption 'B', 'data access', 'true'
我刚刚遇到这个错误,发现它是由我试图对本地服务器(doh!)运行OpenQuery引起的。将服务器名称更改为实际链接服务器的名称解决了我的问题。只需转到链接服务器属性>服务器选项>数据访问-->true 适用于SQL Server 2014
关于这样做是否会使服务器暴露于SQL注入或其他安全问题?如果存储过程使用的动态sqlIs“thrue”应为“true”,则不起作用?也许有人会编辑答案?一个更好的修复方法是在不需要的时候不使用OpenQuery。