Sql server SQL Server允许在提供错误端口号时登录

Sql server SQL Server允许在提供错误端口号时登录,sql-server,login,ssms,Sql Server,Login,Ssms,我在SSMS中面临一个问题。 有两个SQL实例在同一个系统上运行 1. localhost\sql2008,1434 2. localhost\Personal,1433 我将Second Instance保留为在默认端口上运行,即1433和First Instance保留为新端口1434 两个实例都有名称相同但数据不同的数据库 现在的问题是: 在SSMS中,当连接服务器提示出现并且我进入时 Server Name=localhost\Personal,1434然后 它实际登录到local

我在
SSMS
中面临一个问题。 有两个
SQL实例
在同一个系统上运行

 1. localhost\sql2008,1434
 2. localhost\Personal,1433
我将
Second Instance
保留为在默认端口上运行,即
1433
First Instance
保留为新端口
1434

两个实例都有名称相同但数据不同的数据库

现在的问题是:

SSMS
中,当
连接服务器
提示出现并且我进入时

Server Name=
localhost\Personal,1434
然后

它实际登录到
localhost\sql20081434
服务。 同样地,当我进入

Server Name=
localhost\sql20081433
然后

它实际登录到1433服务

为什么会这样

这是SSMS的错误吗

据我所说,这不允许我登录,因为在所提到的端口上没有提供名称的实例在运行

请提供一些解决方案。
提前感谢

连接字符串中的实例名称不具有权威性。它用于使用确定端口号或命名管道名称(通常采用UDP 1434,但情况不同)。如果在连接字符串中显式提供端口号,则实例名称不用于任何用途,客户端将尝试连接到提供的主机名(
localhost
)和端口。授权成功,因此连接成功。您可以在实例名称中写入任何内容,
localhost\foobar,1433
也将成功连接。

非常感谢。正如您所提到的,当提供端口号时,它没有看到实例名称,只是检查URL,即我的例子中的localhost,并尝试连接。今天我学到了一件新的很有趣的事情。