2012-12-18 2 views
3

SQL Server 데이터베이스를 다른 서버에 백업 한 후 이상한 오류가 발생합니다. 응용 프로그램도 이주되었습니다. 그것은 ASP.NET MVC4 응용 프로그램입니다.'dbo.aspnet_UsersInRoles_GetRolesForUser'저장 프로 시저를 찾을 수 없습니다.

Could not find stored procedure 'dbo.aspnet_UsersInRoles_GetRolesForUser'. 

Line 1: @{ 
Line 2:  bool visible = false; 
Line 3:  if (User.IsInRole("Administrador")) 
Line 4:  { 
Line 5:   visible = true; 

저장 프로 시저가 데이터베이스가 동일,이, 서버가 같은 이름을 가진 내가 연결 문자열이 변경 될 수 없습니다 추정 :

나는 다음과 같은 오류가 발생합니다.

무슨 일이 일어나는지 찾기 위해 어떻게 오류를 추적 할 수 있습니까?

+2

스키마가 동일합니까? 'dbo'와는 다른 스키마 아래에 테이블과 저장 프로 시저를 만들었을 것입니다 (기본 설정은 현재 사용자 이름으로 명명 된 스키마에서 스키마를 생성합니다) –

+0

예 ... 그들은 dbo 스키마에서 왔습니다. –

+0

데이터베이스 사용자 계정도 마이그레이션 했습니까? 데이터베이스 복원은 데이터베이스에 있지만 서버에는 사용자를 작성하지 않습니다. 사용자 계정이 고아인지 알고 있습니까? –

답변

1

ASP.NET 멤버쉽에서 사용하는 연결 문자열을 확인하십시오. 이것은 멤버 자격 공급자 섹션의 connectionStringName 특성입니다. 그런 다음 connectionStrings 섹션을 참조하여 해당 이름에 따른 실제 연결 문자열을 확인하십시오.

예 :

<membership defaultProvider="AspNetSqlMembershipProvider"> 
    <providers> 
    <clear/> 
    <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider,  System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
connectionStringName="THE_CONNECTION_STRING_NAME" applicationName="/"/> 
</providers> 
</membership> 
관련 문제