对于IIS,我已按照标准做法将应用程序池身份设置为“Local Service”。asp.net web.config文件中的连接字符串如下。
connectionString="Server=.\SQLEXPRESS;Database=SomeDatabase;Trusted_Connection=true;User Id=someuser;Password=somepassword" />
对于 SQL Server 服务,我已经设置“本地服务”为登录用户,以提供服务的最小访问权限。对于 SQL Server 实例登录,我已定义了用户和密码并赋予完整的“sysadmin”角色权限。
有了这个配置,我期望我的 IIS 应用程序可以使用上述创建的用户和密码连接,并具有删除和创建 SQL Server 数据库的能力。但是,我尝试删除数据库时却得到了“权限被拒绝”的错误提示。异常信息如下所示。
System.Data.SqlClient.SqlException (0x80131904): Cannot drop the database 'SomeDatabase', because it does not exist or you do not have permission.
我已检查过数据库是否存在,因此问题只可能出在权限上。我是否遗漏了某些配置?