使用实例名称无法连接到 SQL Server

5
我在Windows Server 2012上安装了SQL Server 2012,只有在服务器名称字段中写入 . 时,我才能连接到服务器。
但是我无法使用服务器名称MSSQLSERVER连接。
我正在尝试从同一台机器使用SQL Server Management Studio连接。
我检查了TCP/IP是否启用,IP2是否启用,所有IP都配置为端口1433,并添加了端口1433的入站规则。
还尝试多次重启SQL Server服务和SQL Server浏览器服务,但没有成功。
您有什么想法是什么原因导致这个问题?

如果您知道IP地址,请提供并尝试。 - Jithin Shaji
是的,如果我只使用IP地址,像这样“10.10.205.221\MSSQLSERVER”,它可以工作。 但是,如果我将IP地址与SQL服务器名称一起写入,它也无法工作。 我可以通过这种方式连接,但只是想了解我的环境出了什么问题。 - mohamed_assem
2
除非你的机器叫做MSSQLSERVER,否则这不是访问机器的正确方式。.(local)你的机器名称都是从同一台机器连接的有效方式。如果你想连接到一个命名实例,那么机器名称\实例名称是有效的 - 但MSSQLSERVER默认实例的名称。 - Damien_The_Unbeliever
5个回答

5

哇,这是一篇旧帖子。但我还是会尝试回答这个问题,以防其他人也在疑惑。

简短的回答

MSSQLSERVER 通常不用作托管SQL Server Object(通常称为SQL Server)的服务器名称。由于您正在使用SSMS,因此只需定义SQL主机的名称--实际的NetBIOS名称、FQDNIP地址即可。

如果在安装过程中未创建实例

Server Name: ServerHostName

如果在安装过程中创建了实例

Server Name: ServerHostName\InstanceName

或IP地址
Server Name: ###.###.###.###\InstanceName 

如果端口被定义为除默认端口1433之外的其他端口。
Server Name: ServerHostName,####\InstanceName

长的答案:

首先问一个问题。MSSQLSERVER是您服务器的实际NetBIOS名称吗?在谈论SQL Server时,有时可能会有点混淆,因为SQL Server这个名称用于描述主机以及SQL Server对象(这是大多数人在此环境中所指的)。

当使用像SSMS这样的工具连接到SQL Server时,您首先连接到主机服务器,连接成功后,您将连接到SQL对象本身。 "."不是对象,也不是有效的SQL Server名称,除非您将SQL服务器命名为“。”。

关于实例,通常在安装SQL Server(对象)期间定义。安装后,如果您忘记或仅不知道SQL服务器对象的实例名称,则最快确定SQL服务器对象的实例名称的方法是检查系统服务。

services.msc

查看正在运行的SQL服务。如果在安装SQL服务器对象期间创建了SQL实例,则实例名称将显示在括号中,例如(SQLInstance)。同样,如果在同一服务器上创建了多个实例,则会看到多个服务名称,例如:

默认实例

SQL Server

使用实例

SQL Server (SQLInstance1)
SQL Server (SQLInstance2)

如果一个实例正在运行但另一个实例未运行,您可以连接到一个实例但无法连接到另一个实例的问题应该得到解决。

如果您在安装过程中没有创建SQL实例,则默认SQL实例将始终为MSSQLSERVER,您不需要在SSMS服务器名称位置定义此实例。

希望这可以帮助您。


SQL Server通常被称为SQL Server对象或SQL Server引擎。 - Kwmayan
或者数据库引擎。 - Kwmayan

2
这是一个典型的问题。 只需使用cliconfg.exe创建带有tcp/ip协议的别名即可。 如果不确定,请为32位和64位都创建相同的别名。
64位版本位于: C:\Windows\System32
32位版本位于: C:\Windows\SysWOW64
在常规选项卡中启用TCP/IP。
在别名中,创建一个新的别名,插入您喜欢的名称(具有命名实例),并选择TCP/IP作为网络库。
将服务器名称设置为IP,端口设置为1433。不要选择“动态确定端口”。
cliconfg位置来源:http://sqlblog.com/blogs/tibor_karaszi/archive/2009/09/08/sql-client-config-32-and-64-bit.aspx

2
尝试启用SQL浏览器服务。 SQL命名实例中的端口号是动态的。 SQL Brower使用UDP端口1434向客户端发送正确的TCP端口。
最初的回答:尝试启用SQL浏览器服务。SQL命名实例的端口号是动态分配的,因此需要SQL浏览器使用UDP端口1434向客户端发送正确的TCP端口。

2
如果您的SQL服务器实例是默认实例,您可以使用以下内容作为“服务器名称”进行登录:
  1. .(句号)
  2. LAPTOP-JDRDGF9T(您的计算机名称)
  3. localhost
  4. 127.0.0.1
如果它是命名实例,您需要使用localhost\<INSTANCE_NAME>进行登录,实例名称通常为SQLEXPRESS。最初的回答。

0
你可以前往SQL Server配置管理器 >> SQL Server网络配置 >> MSSQLSERVER协议
或者
SQL Native Client配置 >> 客户端协议
在右侧分页中,您需要启用和禁用以下内容:
>> Shared Memory Enable this
>> Named Pipes  Enable this
>> TCP/IP Enable this
>> VIA  Disable this

另外,请检查您是否已经启用了混合模式身份验证。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接