我有两个SQL安装在两个单独的盒子(我有“inheritance”这些)。
一个SQL 2005 Installation ,实例名为SQL2005 – 我通过SQL Studio Manager连接到这个,当我连接到Servername时,我把: SERVERNAME\SQL2005
SQL 2008 Installation ,现在,当我进入Studio Manager时,它直接连接到服务器,只需inputSERVERNAME而不指定\INSTANCE 。 但是,通过services.msc看起来实例是MSSQLSERVER 。
这个工作到底如何? 我一直认为你必须直接连接到一个实例。 例如,在2005年我不能连接到只是SERVERNAME我不得不指定一个实例,但在2008年,我可以连接到只有SERVERNAME ,如果我指定\MSSQLSERVER作为实例,它无法连接。
有任何想法吗?
你所看到的是SQL Server 2008已经被安装为“默认实例”。 默认实例名称为“MSSQLSERVER”,但不能使用该实例名称进行访问(这是专门devise的,可能有点令人困惑 – 我认为这是SQL Server 2000之前的版本,不支持实例安装)。
您的SQL Server 2005安装是作为名为“SQL2005”的“命名实例”完成的。 正如你所看到的,当连接到它时需要指定实例名称。
您可以从Microsoft获得更多背景信息: 实例configuration
MSSQLSERVER是默认的实例名称,所以在这种情况下您不必指定名称。 它的处理方式也略有不同:MSSQL Server区分“命名实例”(如SQL2005)和“默认实例”。 有可能你连接的问题,因为“MSSQLSERVER”不是一个命名的实例,但你试图连接,就像它是。
资源
默认实例和命名实例都有一个实例ID。 实例ID在文件夹名称,registry项名称和服务显示名称中find。 对于默认实例,实例ID始终为“MSSQLSERVER”; 对于命名实例,实例ID是命名实例的名称。
因此,默认实例可能位于C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER并且您的命名实例可能位于C:\Program Files\Microsoft SQL Server\MSSQL.SQL2005 。