【发布时间】:2012-09-27 00:29:14
【问题描述】:
我有一个 Sitefinity ASP.NET 网站,它有一个数据库 Db1。我已将数据库附加到 SQL Server Management Studio。
当我运行 ASP.NET 应用程序时,它似乎没有访问数据库的权限。 Sitefinity 无法连接到现有数据库,然后尝试创建一个新数据库,它会抛出此错误:
数据库“master”中的 CREATE DATABASE 权限被拒绝
连接字符串是:
<add connectionString="data source=localhost\sqlexpress;Integrated Security=SSPI;initial catalog=Db1" providerName="System.Data.SqlClient" dbType="MsSql" name="Sitefinity" />
在 SQL Management Studio 中,我使用 Windows 身份验证连接到 localhost\SQLEXPRESS 实例。
我认为问题是,我需要授予 ASP.NET 进程用户访问数据库Db1 的权限。在哪里可以找到该用户以及如何授予权限?
我也不确定应用程序是否应该使用正确的 SQL Server 用户而不是 Windows 身份验证来连接。
【问题讨论】:
-
我会亲自为您的应用程序创建一个特定的身份验证,并在您的连接字符串中指定它。如果并且当您移动到不同的环境(例如 dev、qa、production 或 dr)并且数据库不是本地数据库时,您无论如何都需要使用非集成的东西。
-
@RobA 如何为我的应用创建身份验证?我在这里尝试了接受的答案:stackoverflow.com/questions/666828/… 但查询只是坐在那里说“调试查询”,直到我停止它。
标签: asp.net sql-server ssms sitefinity