두 개의 ASP.NET 멤버십 데이터베이스를 관련된 역할 및 프로필 테이블과 병합해야합니다. 두 데이터베이스 모두 동일한 역할과 프로필 구조를 가지고 있습니다. 그들은 내장 된 공급자 (SqlMembershipProvider 및 friends)를 사용합니다. 중복이 가능합니다.두 ASP.NET 멤버쉽 데이터베이스 병합
나를위한 권장 사항이 있으십니까? 이 작업을 수행 할 수있는 도구가 있습니까? 그렇지 않은 경우 : 회원 API 사용을 권장 할 수 있습니까? 아니면 SQL을 사용하는 것이 더 쉽습니다.
업데이트 여기
내가 마지막으로 회원 데이터를 전송하는 데 사용되는 스크립트입니다.
insert into targetMembershipDatabase.dbo.aspnet_users
select * from sourceMembershipDatabase.dbo.aspnet_users
where username not in (select username from targetMembershipDatabase.dbo.aspnet_users)
insert into targetMembershipDatabase.dbo.aspnet_membership
select * from sourceMembershipDatabase.dbo.aspnet_membership
where userid in (select userid from targetMembershipDatabase.dbo.aspnet_users)
and not userid in (select userid from targetMembershipDatabase.dbo.aspnet_membership)
insert into targetMembershipDatabase.dbo.aspnet_profile
select * from sourceMembershipDatabase.dbo.aspnet_profile
where userid in (select userid from targetMembershipDatabase.dbo.aspnet_users)
and not userid in (select userid from targetMembershipDatabase.dbo.aspnet_profile)
insert into targetMembershipDatabase.dbo.aspnet_usersinroles
select * from sourceMembershipDatabase.dbo.aspnet_usersinroles
where userid in (select userid from targetMembershipDatabase.dbo.aspnet_users)
and not userid in (select userid from targetMembershipDatabase.dbo.aspnet_usersinroles)
제공하는 그대로입니다. 중복 된 전자 메일은 확인하지 않습니다. 더 복잡한 시나리오에서 이것이 작동한다는 보증은 없습니다.
당신이 말한 것처럼 쉽습니다. 간단한 T-SQL 스크립트를 넘어선 도구가 필요 없습니다. :-) –
@Dirk는 그러한 T-SQL 스크립트를 제공 할 수 있습니까? –
@Akil Vhora : 내 질문에 대한 업데이트로 스크립트를 추가했습니다. –