我正在使用asp.net会员网站。我自动创建了成员资格提供程序,现在它存储在sql express数据库中的解决方案中。我想将所有表移动到sql数据库而不是sql express。昨晚我将sql express数据库附加到sql server管理工作室,我能够看到所有对象。然后,我在visual studio中运行我的解决方案,我收到错误:sql express数据库的LOGIN FAILED,解决方案没有运行。 我有两个问题。 1.为什么会这样? 2.如果我在sql server中使用相同的对象创建相同的数据库,然后指向sql server数据库而不是sql express数据库,我会遇到memberhop提供程序的问题吗? 提前谢谢。
答案 0 :(得分:1)
听起来您已将数据库从一台主机(运行SQL Server Express)移动到另一台主机(运行非Express SKU)。这是对的吗?
确保您的成员资格连接字符串指向成员资格的新位置(非Express SQL Server)。确保按预期在新SQL Server实例中正确设置登录名和用户。
答案 1 :(得分:1)
将数据库附加到新服务器不会自动创建必要的登录。
在数据库的SSMS中运行exec sp_change_users_login 'Report'
。
如果结果集中包含任何内容,则需要运行exec sp_change_users_login 'Auto_Fix', '<username>'
其中是第一个结果集的用户名。