【问题标题】:working with sql server 2008使用 sql server 2008
【发布时间】:2010-02-11 08:34:05
【问题描述】:

我不习惯使用 SQL Server(通常我只使用 express)。我在windows server 2008,iis7上运行它。

我已将数据库附加到我的 sql 服务器。我在 iis7 中创建了一个网站,但收到此错误消息。

无法打开登录请求的数据库“Phaeton.mdf”。登录失败。 用户“NT AUTHORITY\NETWORK SERVICE”登录失败。

我使用的连接字符串

<add key="PhaetonConnectionString" value="Data Source=.;Initial Catalog=Phaeton.mdf;Integrated Security=True"/> 

谢谢

【问题讨论】:

  • 你的数据库叫什么名字,是Phaeton.mdf吗?还是只是辉腾?
  • 辉腾然后是文件的.mdf。那可能是什么问题?我会在电脑前尽快查看

标签: asp.net sql-server-2008 connection-string database-connection


【解决方案1】:

由于您使用的是集成安全性,SQL 连接将使用从 ASP.NET 传递的 Windows 身份。

您可以将安全性更改为混合模式,这将涉及删除集成安全性。或者使用模拟(检查 IIS 和您的 web.config)并授予该用户访问数据库的权限。

希望有帮助

【讨论】:

    【解决方案2】:

    您需要在 IIS 中配置您的应用程序以关闭匿名访问并打开 Windows 身份验证(如果您想使用集成安全性)。

    Access SQL Server Using Windows Integrated Security

    另一种方式,您可以使用带有用户/密码的连接字符串...以及适当的登录名

    【讨论】:

    • 我不想使用 windows 身份验证。我宁愿使用用户/密码类型。我在哪里设置?我的服务器上现在将有大约 5 个站点,那么有没有办法为每个站点设置单独的用户?
    • 好吧,您可以创建一个 SQL 登录名(例如从 Sql Management Studio),然后您可以为其有权访问的数据库和数据库对象分配权限。
    【解决方案3】:

    问题是我尝试附加的数据库是sql express

    【讨论】:

    • 您可以将 SQL Express 数据库附加到较新版本的 SQL Server。之后您就无法再次将其重新附加到旧的 SQL Express 服务器。
    【解决方案4】:

    问题出在这里:

    初始目录=Phaeton.mdf

    在 SQL Server Express 中,您可以将文件名附加为本地数据库。这不是它在生产 SQL Server 上的工作方式。在非 Express 版本中,您永久地附加一个数据库,看起来您已经完成了,并且您给它一个 逻辑 名称,这与主文件名。

    我猜如果文件名是“Phaeton.mdf”,那么您可能将数据库命名为“Phaeton”。在这种情况下,连接字符串的那部分应该是:

    初始目录=辉腾

    如果这不是正确的名称,您可以使用以下脚本从服务器获取数据库名称列表:

    USE master;
    SELECT name FROM sys.databases
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-23
      • 1970-01-01
      • 2011-04-20
      相关资源
      最近更新 更多