我在同一台计算机上有 IIS 7 服务器 (2008) 和 ms sql server 2005。我希望我创建的应用程序池能够访问 ms sql server 2005。
我怎样才能做到这一点
- 将您的应用程序池设置为一个帐户(我认为它已经完成 - 在应用程序池中我已经创建了一个新的池)。
- 授予该帐户访问您的 SQL Server 和数据库的权限
答案1
是的,这应该可行,根据您的要求,您可以使用“NetworkService”帐户;但这可能不是您环境中的最佳实践。
这是要实现的 TSQL(将 AdventureWorks 替换为您的数据库名称)
USE [AdventureWorks]
GO
CREATE USER [NT AUTHORITY\NETWORK SERVICE] FOR LOGIN [NT AUTHORITY\NETWORK SERVICE]
GO
USE [AdventureWorks]
GO
EXEC sp_addrolemember N'db_datawriter', N'NT AUTHORITY\NETWORK SERVICE'
GO
USE [AdventureWorks]
GO
EXEC sp_addrolemember N'db_datareader', N'NT AUTHORITY\NETWORK SERVICE'
GO
请注意,这将授予帐户读写权限;但没有执行存储过程的权限,我建议创建一个数据库角色并授予所有存储过程的执行权限,然后将数据库用户分配给该角色。
更多信息:http://vyaskn.tripod.com/sql_server_security_best_practices.htm