连接到SQL Server时,数据源的值是什么?

时间:2013-07-31 18:14:29

标签: sql-server asp.net-mvc asp.net-mvc-4

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

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

  

无法连接到数据库

但是当我写作7CH3LM1\SQLEXPRESS时,它让我通过

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

非常欢迎任何想法!

2 个答案:

答案 0 :(得分:5)

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

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

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

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

答案 1 :(得分:1)

您正在谈论的是INSTANCE名称。多台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