【问题标题】:create sql database from sql express database从 sql express 数据库创建 sql 数据库
【发布时间】:2010-12-14 20:54:34
【问题描述】:

我正在开发 asp.net 会员网站。我自动创建了会员提供程序,现在它存储在解决方案中的 sql express 数据库中。我想将所有表移动到 sql 数据库而不是 sql express。昨晚我将sql express数据库附加到sql server management studio,并且可以看到所有对象。然后,我在 Visual Studio 中运行我的解决方案,我收到错误:sql express 数据库的登录失败,并且解决方案没有运行。 我有两个问题。 1. 为什么会这样? 2.如果我在sql server中用同样的对象创建同一个数据库,然后指向sql server数据库而不是sql express数据库,会不会是membershop provider有问题? 提前致谢。

【问题讨论】:

  • 连接到新数据库或用户登录您的站点时,您是否登录失败
  • 当我运行 asp.net 应用程序并尝试打开与数据库的连接时登录失败。

标签: asp.net sql sql-server visual-studio-2010 asp.net-membership


【解决方案1】:

听起来您已将数据库从一台主机(运行 SQL Server Express)移动到另一台主机(运行非 Express SKU)。这是正确的吗?

确保您的成员资格连接字符串指向成员资格(非 Express SQL Server)的新位置。确保按预期在新 SQL Server 实例中正确设置登录名和用户。

【讨论】:

  • 附加到sql server management studio 是否意味着移动?因为我只是附加创建更多的表和 SP。
  • 您能否具体说明您为“附加”采取了哪些步骤?
  • 我打开SSMS右键单击数据库文件夹->附加数据库,并从我的asp.net应用程序的app_data文件夹中选择了数据库,然后我创建了一些表,一些存储过程并运行再次打开 asp.net 应用程序,我收到错误消息:我的 Windows 用户登录失败。我正在使用 Windows 身份验证。所有这些都是在本地完成的,没有什么是远程的。感谢您的帮助
  • @laziale - 和 p.campbell 说的一样:打开你的 web.config 文件并检查连接字符串,看看它也指向什么数据库。听起来您移动了数据库但没有更新连接字符串。
【解决方案2】:

将数据库附加到新服务器不会自动创建必要的登录。

从数据库的 SSMS 中运行 exec sp_change_users_login 'Report'

如果它返回结果集中的任何内容,您需要运行 exec sp_change_users_login 'Auto_Fix', '<username>'

第一个结果集中的用户名在哪里。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-25
    • 2012-04-01
    • 1970-01-01
    相关资源
    最近更新 更多