2011-09-02 2 views
3

현재 Sitecore에서 장애 조치 파트너의 구성과 관련된 정말 이상한 문제가 있습니다.Sitecore에 대한 장애 조치 (failover) 파트너 구성

환경 :

  • .NET 프레임 워크 3.5
  • 윈도우 서버 2008 R2
  • 은 IIS 7.5

이 내 연결 문자열 중 하나입니다

<add name="master" connectionString="user id=user;password=password;Data Source=PRIMARY_SERVER\INSTANCE,60000;Failover Partner=FAILOVER_SERVER\INSTANCE,60000;Database=Sitecore_Master" /> 

로 당신은 볼 수 있습니다, 나는 기본 데이터베이스 서버와 동일한 자격 증명을 허용하는 장애 조치 파트너. AppPool을 재활용하지 않는

Login failed for user 'user' 

더 이상의 요청이 같은 예외를 표시합니다 : 나는 운전 중 기본 데이터베이스를 중지하면

는 거 야 말한다 SQLException이 나타납니다. 이제 응용 프로그램이 장애 조치 데이터베이스를 가리 킵니다 ...

응용 프로그램이 데이터베이스 자체를 전환하지 않아야합니까? 내가 가진

유일한 아이디어는이 같은,하지만 그것은 아주, 아주 더러운 느낌이 나는 심지어 그것을 테스트 haven't :

public class FailoverSqlDataProvider : SqlServerDataProvider 
{ 
    public FailoverSqlDataProvider(string connectionString) : base(connectionString) 
    { } 

    protected override LanguageCollection LoadLanguages() 
    { 
     try 
     { 
      return base.LoadLanguages(); 
     } 
     catch (Exception ex) 
     { 
      if (ex is SqlException) 
      { 
       Trace.TraceError("(FailoverSqlDataProvider) An error occured: {0}", ex.ToString()); 
       HttpRuntime.UnloadAppDomain(); 
      } 

      return new LanguageCollection(); 
     } 
    } 
} 

답변

3

미러링와 SQL 서버를 사용하는 경우, 장애 조치는 것 미러링 모니터 서버를 사용하는 경우 자동으로 발생합니다. 그렇지 않으면 수동으로 스위치를 처리해야합니다.

미러링 모니터 서버로 SQL Server Express를 사용할 수 있으며 사용 가능한 다른 서버가없는 경우 웹 서버에서 실행할 수 있습니다.

관련 문제