SQL 实例和服务器

SQL 实例和服务器

我在两个独立的盒子上安装了两个 SQL(我已“继承”了它们)。

A SQL 2005 Installation,实例名为SQL2005-我通过 SQL Studio Manager 连接到它,当我连接到 Servername 时,我输入:SERVERNAME\SQL2005

答:现在SQL 2008 Installation,当我进入 Studio Manager 时,它直接连接到服务器,只需输入而无需SERVERNAME指定\INSTANCE。但是,查看 services.msc 似乎实例是MSSQLSERVER

这究竟是如何工作的?我一直以为你必须直接连接到一个实例。例如,在 2005 框上,我无法连接到,SERVERNAME我必须指定一个实例,但在 2008 框上,我只能连接SERVERNAME,如果我指定\MSSQLSERVER为实例,则无法连接。

有任何想法吗?

答案1

您看到的是 SQL Server 2008 已作为“默认实例”安装。默认实例的名称为“MSSQLSERVER”,但无法使用该实例名称进行访问(这是设计使然,可能会有点令人困惑 - 我相信这是 2000 年之前的 SQL Server 版本不支持实例安装的产物)。

您的 SQL Server 2005 安装是作为名为“SQL2005”的“命名实例”完成的。如您所见,在连接到它时需要指定实例名称。

您可以从 Microsoft 获取更多背景信息:实例配置

答案2

MSSQLSERVER 是默认实例名称,因此您无需在这种情况下指定名称。它也有略微不同的处理方式:MSSQL Server 区分“命名实例”(如 SQL2005)和“默认实例”。您遇到连接问题可能是因为“MSSQLSERVER”不是命名实例,但您尝试将其作为命名实例进行连接。

来源

答案3

默认实例和命名实例均有实例 ID。实例 ID 可在文件夹名称、注册表项名称和服务显示名称中找到。对于默认实例,实例 ID 始终为“MSSQLSERVER”;对于命名实例,实例 ID 是命名实例的名称。

因此默认实例可能在C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER,而命名实例可能在C:\Program Files\Microsoft SQL Server\MSSQL.SQL2005

相关内容