解决连接问题的另一种方法是在IIS中启用SQL Server验证,然后再连接字符串中使用用户ID与密码;或是当ASP.NET应
用程序以另一个Windows用户而非ASPNET运行时,使用ASP.NET impersonation方法。
为了使ASPNET帐户可以访问ASP.NET应用程序的数据库,需要完成以下步骤:
1)启动SQL Server Management Studio,指定SQL Server实例名,以Windows验证模式登录。
2)用grantlogin存储过程把Windows的用户添加到SQL Server数据库中。这个命理将赋予ASPNET帐户连
接SQL Server的权限。注意要用本机的主机名代替命令中的MachineName。
Exec sp_grantlogin 'MachineName\ASPNET'
3)在为ASPNET帐户赋予了链接SQL Server的权限后,还需要为其赋予访问ASP.NET应用程序的数据库的
权限。注意要用ASP.NET应用程序的数据库的名字代替DateBaseName:
USE DateBaseName
Exec sp_grantdbaccess 'MachineName\ASPNET'
4)最后,需要赋予ASPNET访问ASP.NET应用程序的数据库内部对象的权限,如执行存储过程,读取和
修改表等。最简单的方法是为ASPNET帐户分配一个ASP.NET应用程序的数据库的db_owner角色。如果前面的步骤
中已经连接到了ASP.NET应用程序的数据库,输入下面的命令:
Exec sp_addrolemember 'db_owner','achineName\ASPNET'
现在你就可以从Web应用程序以Windows验证模式连接数据库了。
相关文章
- VS与SQL Server连接时出现(provider: TCP Provider, error: 0)错误时的解决方法
- SQL Server中容易出错的Float和Real类型
- DataGrip 无法使用 windows 验证连接 ms sql server 的解决方法
- 解决方法:在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。
- 二、SQL Server 2008附加数据库时出错的解决方法
- SQL Server无法连接到服务器的解决方法
- IIS中asp.net程序后台打印水晶报表 程序假死或打印机无反应的解决方法
- ASP.NET中的chart控件绑定SQL Server数据库
- 当SQL Server 连接不上时的解决方法 - hushzhang
- SQL Server中的完全连接(full join) - 癫狂编程