Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
连接到正确的远程SQL server_Sql_Sql Server - Fatal编程技术网

连接到正确的远程SQL server

连接到正确的远程SQL server,sql,sql-server,Sql,Sql Server,在开发服务器上,我们安装了三个版本的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\Administ

在开发服务器上,我们安装了三个版本的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
(本地)(SQL server 11.0.3128-OBX1\Administrator)

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

正在为其他实例查找正确连接值的示例

截图如下:

如果我RDP到服务器并打开SQL Mgmt Studio,我有三个服务器连接选项,
(本地),(本地)\SQL2008,(本地)\SQLEXPRESS
。如果我选择
(local)
并运行命令获取servername和version,我将获取
OBX1
作为名称,获取
2012
作为版本。如果我选择
(本地)\SQL2008
并运行相同的命令,我会得到
OBX1\SQL2008
SQLServer2008R2(sp1)
,如果我选择
(本地)\SQLEXPRESS
并运行命令,我会得到
OBX1\SQLEXPRESS
SQLServer2008R2(sp1)

给定此添加信息,如何将刚刚
(本地)
的实例与IP地址远程连接?这可能吗


同样,当前如果我在
远程连接\u ip\u地址
,它将连接到SQLEXPRESS实例。如果我尝试连接到,例如像这样的SQLEXPRESS实例,
ip地址\SQLEXPRESS
它会再次连接到SQLEXPRESS实例。

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

tcp:MyServer,7701
tcp:MyServer,7704
请注意,上面的端口号来自我的一个安装-您的端口号很可能不同

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

答案可能有用。

请重复以下内容:

要连接到命名的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的安装和配置方式)。还请注意,指定显式端口和实例名称毫无意义


如果有疑问,请访问几乎所有的数据库[尽管连接/配置Oracle连接是其特有的地狱形式]。

您应该启用SQL浏览器服务,但它很可能正在运行。另外,请确保使用SQL Server程序组中的应用程序为每个服务启用TCP协议。您将在SQL Server网络配置下找到这些设置。默认情况下,SQL的TCP/IP处于禁用状态

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

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

有些应用程序需要设置静态端口,这在JDBC应用程序中很常见


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

可能更适合您尝试使用的连接方式?这三个实例有不同的名称,因此连接到其中一个实例应该没有问题。我尝试了以下服务器名称:
实际ip地址\(本地)
实际ip地址\(MSSQLSerVER)
另一个实例的\u实际\u ip\u地址\MSSQLSERVER
和类似内容,但我总是收到消息说它无法连接到该实例。我认为要连接到命名实例,您需要运行“SQL Server Browser Service”。另外,我还要检查其他实例是否启用了TCP/IP协议。您对哪个实例的描述令人困惑。您能否发布一个显示实例名称和状态的sqlconfigurationmanager()屏幕截图,并指出您正试图连接到哪个实例?此外,我同意@JackLock关于浏览器服务的观点,并确保启用了TCP/IP(也可通过configuration manager访问)。最后,没有所谓的
ip地址\(本地)
ip地址\(MSSQLSERVER)
。很好的一点是,显式端口和实例毫无意义。很明显,真的,但我从没想过。