Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将一个站点的asp.net成员资格记录从一台sql server传输到另一台sql server_Asp.net_Sql Server_Iis_Asp.net Membership - Fatal编程技术网

将一个站点的asp.net成员资格记录从一台sql server传输到另一台sql server

将一个站点的asp.net成员资格记录从一台sql server传输到另一台sql server,asp.net,sql-server,iis,asp.net-membership,Asp.net,Sql Server,Iis,Asp.net Membership,我需要将一个网站的asp.net成员资格数据从包含多个网站条目的sql server数据库传输到另一个sql server 我正在寻找一些现有的/已知的方法来实现这一点?我尝试了Web部署实用程序,但找不到任何传输数据库记录的方法 任何帮助都将不胜感激 谢谢。ASP.NET成员资格数据库只是一个“普通”SQL Server数据库,因此问题实际上是“如何将SQL Server数据库从一台服务器传输到另一台服务器,而只包含其中的一部分数据” 1) 由于旧服务器上的数据库包含多个站点的成员信息,因此您

我需要将一个网站的asp.net成员资格数据从包含多个网站条目的sql server数据库传输到另一个sql server

我正在寻找一些现有的/已知的方法来实现这一点?我尝试了Web部署实用程序,但找不到任何传输数据库记录的方法

任何帮助都将不胜感激


谢谢。

ASP.NET成员资格数据库只是一个“普通”SQL Server数据库,因此问题实际上是“如何将SQL Server数据库从一台服务器传输到另一台服务器,而只包含其中的一部分数据”

1) 由于旧服务器上的数据库包含多个站点的成员信息,因此您必须知道如何在数据库中查找“您的”站点(您要传输的站点)的数据

我在ASP.NET网站上找到了有关ASP.NET成员数据库架构的信息。
向下滚动至“步骤3:查看架构的核心表”。
关键信息是,尤其是我用粗体写的句子:

定义这些分区的是
aspnet\u应用程序
表。每个
使用数据库存储用户帐户信息的应用程序
由该表中的一行表示。
aspnet\u应用程序
表 有四列:
ApplicationId
ApplicationName
降低了应用程序名称
,以及
说明
<代码>应用程序ID
是 键入
uniqueidentifier
,是表的主键;
ApplicationName
为每个 应用程序

其他与成员资格和角色相关的表链接回
aspnet\u应用程序中的
ApplicationId
字段
例如
aspnet\u用户
表,其中包含每个用户帐户的记录, 具有
应用程序ID
外键字段;
aspnet\u角色同上
桌子这些表中的
ApplicationId
字段指定 用户帐户或角色所属的应用程序分区

简而言之:您必须在
aspnet\u Applications
表中找到要传输的站点,从
ApplicationId
列中获取ID,并在所有其他表中找到具有相同
ApplicationId
的所有行

2) 现在您已经知道如何在数据库中查找站点数据,可以将数据移动到新服务器。这与ASP.NET无关,只是简单的SQL Server内容-您只需要在新服务器上创建相同的数据库,但只需要使用站点的数据

我可以想出两种方法:

方式1:

  • 旧服务器上的整个数据库
  • 在新服务器上执行此备份
  • 现在,新服务器上有了完整的数据库,但它包含所有站点的数据,而不仅仅是您想要的站点的数据
    -->您必须从新服务器上的数据库中删除所有其他站点的数据。
    最简单的方法是使用SQL—只需对数据库中的每个表执行此操作:
    从应用程序ID为“X”的aspnet\u用户中删除

    (其中
    X
    aspnet\u应用程序表中站点的
    ApplicationID
  • 方式2:

  • 在新服务器上创建新的空成员数据库
  • 将旧SQL Server设置为新SQL Server中的 (这使您能够在从旧服务器选择数据的新服务器上运行SQL)
  • 将站点的数据从旧服务器中的每个表复制到新服务器。只需对每个表执行以下SQL:
    插入aspnet\u用户
    从[旧服务器的名称][旧数据库的名称].dbo.aspnet\u用户中选择* 其中ApplicationID='X'

    (其中
    X
    aspnet\u应用程序表中站点的
    ApplicationID
  • 现在您可以再次删除链接服务器(您在步骤2中创建的服务器)——它只是为了传输一次数据

  • 您知道如何查找此网站的特定数据吗你知道你需要复制什么,只搜索一个自动的方式,或者你不知道什么,任何东西都可以帮助吗?我正在寻找一个自动的方式。一些脚本等等。