要从我的C#应用程序运行sql脚本文件,我提到了这一点。 http://social.msdn.microsoft.com/Forums/en/adodotnetdataproviders/thread/43e8bc3a-1132-453b-b950-09427e970f31
当我的机器和数据库服务器位于同一个域中时,它可以正常工作。我现在的问题是,我正在从一台机器上执行这个控制台应用程序(名称:X,用户ID:abc,域D1)。 SQL服务器在另一台机器上(名称:Y,域:D2)。我使用VPN连接到具有用户ID的机器Y' abc'并在远程桌面上处理SQL。我如何跨域运行SQL脚本?我在我的TFS构建模板中的自定义活动中使用它作为在域D2中的目标数据库中运行脚本的最后一步。
我收到此错误:"建立与SQL Server的连接时发生了与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:26 - 查找指定的服务器/实例时出错)"
是否可以使用域D2中的计算机Y的管理员用户ID连接到数据库?
答案 0 :(得分:2)
问题不在于您位于不同的域,这可能是另一端SQL服务器上的配置问题 - 可能未配置为允许远程SQL连接和/或SQL Server身份验证 - 或者由于某种网络问题,你根本无法连接到服务器 - 例如,防火墙位于中间 - 一旦你确定哪个是问题,你应该能够按照帖子中的描述运行SQL脚本你联系了。
答案 1 :(得分:1)
这不是用户凭据问题。你会得到一个不同的错误。看起来您的客户端计算机实际上无法访问服务器\ instance。
尝试ping服务器。如果你得到回复,那么我会看看其他一些事情。首先,如果这是一个命名实例,那么您需要确保启动SQL Server Browser服务。还要确保SQL Server服务的协议已启用TCP / IP。当您在连接到实例的本地计算机上时,您使用共享内存。但远程它利用(或尝试使用)TCP / IP。
在检查完这些事后,让我知道你在哪里。
答案 2 :(得分:1)
如果目标SQL Server可以设置为混合身份验证模式,那么您可以使用特定的SQL Server UID& PWD帐户而不是网络帐户,您的问题将得到解决。