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

时间:2013-06-17 17:54:52

标签: c# linq-to-sql sql-server-2008-r2 connection-string

我正在尝试使用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的连接时为红色。找不到服务器或w   因为无法访问。验证实例名称是否正确以及SQL Server   配置为允许远程连接。 (提供者:SQL网络接口,呃   ror:26 - 找到指定的服务器/实例时出错)

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

2 个答案:

答案 0 :(得分:1)

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

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

如果使用防火墙,则应打开端口1433。 并尝试在sql server management studio中启用与DbName的远程连接。

答案 1 :(得分:0)

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

阿卡,

数据源= 192.168.1.50 \ SQLEXPRESS

是你最好的候选人。

  1. 防火墙。您可能需要打开PORT NUMBER。但更重要的是,您可能需要打开程序名称。
  2. 请注意这篇文章:

    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.
    

    ALSO:

    我喜欢用这个程序“ping”我的机器和端口。强调“和港口”。

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

    我保留了这个小工具来进行连接问题的基本调试。