连接到另一台计算机上的特定SQL Server实例

本文关键字:SQL 实例 Server 计算机 一台 连接 | 更新日期: 2023-09-27 18:18:57

我正在尝试使用Linq DataContext连接到SQL Server 2008 R2 Express数据库。数据库引擎在本地网络中的另一台机器上运行。目前,我们正在使用SQL身份验证。SQL Server设置为允许远程连接。

我的连接字符串看起来像这样,并且工作正常。我没有指定实例,但它是唯一的一个,所以我猜它是默认选择的:

Data Source=192.168.1.50;Initial Catalog=DbName;User ID=SomeUser;Password=SecretPassword;

我已经在本地安装了相同的引擎,并且这个连接字符串也可以工作:

Data Source=localhost;Initial Catalog=DbName;User ID=SomeUser;Password=SecretPassword;

这个也是,本地连接:

Data Source=.'SQLEXPRESS;Initial Catalog=DbName;User ID=SomeUser;Password=SecretPassword;

那么,如果在远程计算机上运行引擎的多个实例,并且我想具体引用一个实例,该怎么办?

Data Source=192.168.1.50'SQLEXPRESS;Initial Catalog=DbName;User ID=SomeUser;Password=SecretPassword;

上面的连接字符串产生

连接数据库错误:发生与网络相关或特定于实例的错误红色,同时建立到SQL Server的连接。没有找到服务器不可接近。验证实例名是否正确,SQL Server . xml是否正确被配置为允许远程连接。(提供者:SQL网络接口,呃错误:26 -指定服务器/实例定位错误)

为什么这个不行?我找不到任何连接字符串连接到远程数据库引擎上的特定实例的示例。

连接到另一台计算机上的特定SQL Server实例

尝试此连接字符串进行远程连接:

Data Source=192.168.1.50'SQLEXPRESS,1433;Network Library=DBMSSOCN;Initial Catalog=DbName;User ID=SomeUser;Password=SecretPassword;

端口1433应该打开,如果使用防火墙。并尝试启用远程连接到sql server管理工作室的DbName

即使有IP地址,也必须指定实例名。

Aka语

,

数据源= 192.168.1.50 ' SQLEXPRESS

是你最好的人选。

  1. 防火墙。您可能需要打开端口号。但更重要的是,您可能必须打开程序名称。

注意这篇文章:

http://technet.microsoft.com/en-us/library/ms175043.aspx

注意文章中的这个区域:

In the Program dialog box, select This program path. Click Browse, and navigate to the instance of SQL Server that you want to access through the firewall, and then click Open. By default, SQL Server is at C:'Program Files'Microsoft SQL Server'MSSQL11.MSSQLSERVER'MSSQL'Binn'Sqlservr.exe. Click Next.

:

我喜欢用这个程序来"ping"我的机器和端口。强调"and the port"

http://www.microsoft.com/en-us/download/details.aspx?id=24009

我保留了这个小工具,用于对连接问题进行基本调试。