0

在我们的开发服务器上,我们安装了三个版本的 SQL Server(SQLEXPRESS 08、SQL2008 R2 和 SQL 2012)。

在服务中,我可以看到以下实例:

SQL Server (MSSQLSERVER)
SQL Server (SQLEXPRESS)
SQL Server (SQL2008)

当我在 SQL Mgmt Studio 中打开所有三台服务器并连接到所有三台服务器时,我看到服务器的以下名称:

(local) (SQL Server 11.0.3128 - OBX1\Administrator)
(local)\SQLEXPRESS (SQL Server 10.50.2500 - OBX1\Administrator)
(local)\SQL2008 (SQL Server 10.50.2500 - OBX1\Administrator)

当我通过 IP 地址或服务器 URL 连接到服务器时,它会连接到SQLEXPRESS实例,但我需要连接 2012 实例,即 at (local) (SQL Server 11.0.3128 - OBX1\Administrator).

无论我尝试什么,我都无法连接到除了默认实例之外的任何实例,由于某种原因,它似乎是 SQLEXPRESS。

寻找其他实例的正确连接值的示例?

截图如下: 在此处输入图像描述

如果我 RDP 到服务器并打开 SQL Mgmt Studio,我有三个可供服务器连接的选项,(local), (local)\SQL2008, (local)\SQLEXPRESS. 如果我选择(local)并运行命令来获取服务器名称和版本,我会得到OBX1名称和2012版本。如果我选择(local)\SQL2008并运行相同的命令,我得到OBX1\SQL2008andSQL Server 2008 R2(sp1)如果我选择(local)\SQLEXPRESS并运行命令,我得到OBX1\SQLEXPRESSand SQL Server 2008 R2 (SP1)

鉴于此附加信息,我如何(local)使用 IP 地址远程连接实例?这可能吗?

同样,目前如果我远程连接the_ip_address它会连接到 SQLEXPRESS 实例。如果我尝试像这样连接到 SQLEXPRESS 实例,the_ip_address\SQLEXPRESS它会再次连接到 SQLEXPRESS 实例。

4

3 回答 3

1

重复此:https ://serverfault.com/questions/104922/sql-server-connection-string-question

要连接到命名 SQL Server 实例,您可以:

  • 在连接字符串中指定服务器(机器)名称和实例名称:

    Server=myServerName\myInstanceName;Database=myDataBase;Trusted_Connection=True;
    
  • 指定特定端口和服务器(机器)名称或 IP 地址:

    Server=myServerName,1437;Database=myDataBase;Trusted_Connection=True;
    Server=123.98.76.45,1437;Database=myDataBase;Trusted_Connection=True;
    

    注意:指定端口 1433 [通常] 会在计算机上为您提供默认的未命名 SQL Server 实例(但并非总是如此,因为它取决于 SQL Server 的安装和配置方式)。另请注意,指定显式端口实例名称没有任何意义。

如果有疑问,请访问http://www.connectionstrings.com/以了解几乎所有数据库 [尽管连接/配置 Oracle 连接是其特有的地狱形式]。

于 2013-06-13T19:10:55.423 回答
1

您可能还需要识别并随后指定端口号。IE:

tcp:MyServer,7701
tcp:MyServer,7704

请注意,上面的端口号来自我的一个安装 - 您的可能会有所不同。

要识别端口号,请转到 SQL Server 配置管理器并在 SQL Server 网络配置下查看。您应该在此处看到您的实例的单独条目,并且每个实例的属性应包括 TCP 端口或动态端口或类似的。

这个答案可能有用。

于 2013-06-13T18:03:41.823 回答
0

您应该启用SQL Browser 服务,但它很可能正在运行。还要确保使用 SQL Server 程序组中的 SQL Server 配置管理器应用程序为每个服务启用 TCP 协议。您将在SQL Server 网络配置下找到这些设置。 某些SQL 版本默认禁用 TCP/IP。

我不确定 2012 SQL Server 配置是否会看到其他实例,因此您可能必须在多个位置进行更改。我将从 2012 配置管理器开始。

在将实例设置为使用动态端口时指定端口号可能不是一个好主意。

某些应用程序要求您设置静态端口 - 典型的 JDBC 应用程序。

如果您仍然遇到问题,请检查防火墙。Portqry 和 telnet 可以帮助测试连接性。

于 2013-06-13T19:45:18.563 回答