2

基本上我正在使用 ASP.NET MVC4 开发一个网站,在创建模型时,我需要先建立与数据库的连接

当我选择数据库名称7CH3LM1(下拉列表中的默认名称)时,它说:

无法连接到数据库

但是当我写喜欢7CH3LM1\SQLEXPRESS,它让我通过了

这让我想起了一个问题:这背后的真正区别是什么?是什么意思7CH3LM1以及添加的意义SQLEXPRESS何在?

任何想法都非常受欢迎!

4

2 回答 2

5

7CH3LM1是您的计算机名称,它有助于识别您正在连接的 SQL Server实例。在这种情况下,您将连接到运行 Express Edition 的 SQL Server 的命名实例,其实例名称为SQLEXPRESS. 一台机器可以同时运行多个 SQL Server 实例,它可以有一个默认实例和 0、1 或多个命名实例。要连接到默认实例,您将使用7CH3LM1,而要连接到命名实例,您将使用7CH3LM1\<instance name>,就像使用 一样7CH3LM1\SQLEXPRESS

我通常将我的机器重命名为更令人难忘和更有意义的东西,因为这可以让事情变得更容易,但这只是我。

SQL Server的一个实例可以包含许多数据库。您也可以在连接字符串中指定数据库(推荐),或者您可以依靠登录名的默认数据库来定义初始上下文(不推荐,因为该数据库可能处于脱机状态、单用户、分离等 - 这将影响您的登录能力)。

最终,您的软件将需要实例数据库才能读取/写入数据。

于 2013-07-31T18:18:32.750 回答
1

你在谈论一个实例名称。SQL 服务器的多个实例可以存在于同一台计算机上。如果您不指定实例,您将连接到机器上 SQL Server 的 DEFAULT 实例(可能存在也可能不存在)。当您指定一个(在“\”之后)时,它被称为 NAMED 实例。

您可以在此处阅读有关实例的更多信息:msdn.microsoft.com/en-us/library/hh231298.aspx

总之,在 MSSQL 服务器上选择实例的语法表示为

SERVERNAME\INSTANCENAME

或对于 DEFAULT 实例:

SERVERNAME

而且,就个人而言,我认为 SQL 2000 的文档更容易阅读有关 DEFAULT 与 NAMED 实例的内容。你可以在这里找到它们:http: //msdn.microsoft.com/en-us/library/aa174516 (v=sql.80).aspx

于 2013-07-31T18:25:00.797 回答