我有32位WinXP Pro。
我想为基于网络的应用程序运行免费试用版。该应用程序使用IIS 5.1和MS SQL Server 2008 R2(即SQLEXPRESS)。所有这些都完全依赖于我自己的单用户笔记本电脑。
当我输入以下内容时,我收到错误::
localhost/gemini
错误是:
Cannot open database "Gemini" requested by the login. The login failed.
Login failed for user '<laptop_name>\ASPNET'.
我使用Windows身份验证。 app web.config中的连接字符串是:
<add name="Gemini" connectionString="data source=(local)\SQLExpress;initial catalog=Gemini;trusted_connection=true;" providerName="System.Data.SqlClient"/>
我有SQL Server Management Studio。
我被建议授予'laptop_name \ ASPNET'用户对Gemini数据库的所有访问权限。
我不是技术人员。如果有人可以建议我如何授予该用户访问权限,我将不胜感激。因为我的笔记本电脑是单用户,所以我只想要一个简单的解决方案 - 而不是一个复杂的防盗,防黑客解决方案:)
答案 0 :(得分:0)
在回答这个问题之前,请允许我提醒您,授予IIS / ASP.NET登录对SQL Server Express的完全访问权限会产生安全隐患。特别是,如果有人闯入您的IIS / ASP.NET,他们可以使用SQL Server Express通过SQLCLR程序集执行任何代码。
现在,到了qiestion本身。我假设您已安装SQL Server Express,因此是该实例的管理员。您需要做的就是使用SQL Server Management Studio执行此T-SQL代码:
create login [<laptop_name>\ASPNET] from windows;
exec sp_addsrvrolemember N'<laptop_name>\ASPNET', sysadmin