我在应用程序中使用 MS SQL Server 2005 应用程序角色。我执行 sp_setapprole
来启动 SP 角色并完成 sp_unsetapprole。
“连接池不适用于”应用程序池,并且无法对连接“断开连接事件”使用react(执行 sp_unsetapprole)
就在断开连接之前)。
我决定在所有 SP 开始时调用 sp_setapprole
,并在所有 SP 结束时调用 sp_unsetapprole
。
您使用过 SQL 应用程序角色吗?您的 XP 是多少?性能命中怎么样?
最佳答案
我过去曾经推出过自己的“approle”,这并不太难。为每种类型的用户(经理、收银员、职员等)创建一个数据库角色。使用组名称创建数据库用户(manager_user、casher_user、clerk_user 等)。为您的真实用户创建帐户并将其放入数据库角色中。通过将您的 ASP.NET 用户登录到数据库(打开和关闭连接)、查找表或最佳(如果您使用 Windows 身份验证并仅从 IIS 获取用户名)来验证您的 ASP.NET 用户。检查他们在数据库角色中的成员身份,但使用 role_user 登录到数据库。您可以通过 role_user 保护数据库对象,用户不登录也无权访问任何 sql 对象,并且您可以获得连接池。
关于asp.net - 使用 ASN.NET 了解 SQL 中应用程序角色的性能影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/216758/