IIS中ASP.NET连接SQL Server出错的解决方法
更新时间:2010年03月23日 17:21:33 作者:
在IIS中运行的ASP.NET应用程序其所属用户名为ASPNET的特定用户,其默认权限是无法访问SQL Server的,更不可能访问ASP.NET应用程序的数据库了,因此要在IIS中访问SQL Server就需要给ASPNET帐户赋予相应的权限.
解决连接问题的另一种方法是在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验证模式连接数据库了。
用程序以另一个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验证模式连接数据库了。
相关文章
.Net使用Cancellation Framework取消并行任务
这篇文章介绍了.Net使用Cancellation Framework取消并行任务的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2022-06-06Asp.net中处理一个站点不同Web应用共享Session的问题
Asp.net中处理一个站点不同Web应用共享Session的问题...2006-09-09asp.net页面SqlCacheDependency缓存实例
这篇文章主要介绍了asp.net页面SqlCacheDependency缓存实例,以一个完整实例来展现asp.net中缓存技术的使用方法,需要的朋友可以参考下2014-08-08ASP.NET Core 2.0中Razor页面禁用防伪令牌验证
在这篇短文中,我将向您介绍如何ASP.NET Core2.0 Razor页面中禁用防伪令牌验证,对此有兴趣的朋友参考学习下吧。2018-01-01
最新评论