예제 #1
0
 internal LocalizedReplayConfigType(ReplayConfigType configtype)
 {
     this.configType = configtype;
 }
 // Token: 0x06000C45 RID: 3141 RVA: 0x000365B8 File Offset: 0x000347B8
 private RemoteReplayConfiguration(IADDatabaseAvailabilityGroup dag, IADDatabase database, IADServer server, string activeFqdn, LockType lockType, ReplayConfigType type)
 {
     try
     {
         if (database == null)
         {
             throw new NullDatabaseException();
         }
         if (server == null)
         {
             throw new ErrorNullServerFromDb(database.Name);
         }
         if (activeFqdn == null)
         {
             throw new ArgumentException("Caller must provide the active node");
         }
         IADDatabaseCopy databaseCopy = database.GetDatabaseCopy(server.Name);
         if (databaseCopy == null)
         {
             throw new NullDbCopyException();
         }
         this.m_server                = server;
         this.m_database              = database;
         this.m_targetNodeFqdn        = server.Fqdn;
         this.m_sourceNodeFqdn        = activeFqdn;
         this.m_type                  = type;
         this.m_autoDatabaseMountDial = this.m_server.AutoDatabaseMountDial;
         if (type == ReplayConfigType.RemoteCopyTarget)
         {
             this.m_replayState = ReplayState.GetReplayState(this.m_targetNodeFqdn, this.m_sourceNodeFqdn, lockType, this.Identity, this.Database.Name);
         }
         else
         {
             this.m_replayState = ReplayState.GetReplayState(this.m_sourceNodeFqdn, this.m_sourceNodeFqdn, lockType, this.Identity, this.Database.Name);
         }
         this.m_replayLagTime        = databaseCopy.ReplayLagTime;
         this.m_truncationLagTime    = databaseCopy.TruncationLagTime;
         this.m_activationPreference = databaseCopy.ActivationPreference;
         base.PopulatePropertiesFromDag(dag);
     }
     finally
     {
         this.BuildDebugString();
     }
 }
 // Token: 0x06000C43 RID: 3139 RVA: 0x0003650C File Offset: 0x0003470C
 public static RemoteReplayConfiguration ServiceGetReplayConfig(IADDatabaseAvailabilityGroup dag, IADDatabase db, IADServer server, string activeFqdn, ReplayConfigType type)
 {
     return(new RemoteReplayConfiguration(dag, db, server, activeFqdn, LockType.ReplayService, type));
 }
예제 #4
0
 // Token: 0x06000C85 RID: 3205 RVA: 0x00037214 File Offset: 0x00035414
 public ExternalReplicaInstanceStatus(ReplicaInstanceContext currentContext, ReplicaInstanceContextMinimal previousContext, ReplayConfigType configurationType, IPerfmonCounters perfmonCounters, ReplayState replayState)
 {
     this.CurrentContext  = currentContext;
     this.PreviousContext = previousContext;
     this.ConfigType      = configurationType;
     this.PerfmonCounters = perfmonCounters;
     this.ReplayState     = replayState;
     if (ThirdPartyManager.IsThirdPartyReplicationEnabled && this.ConfigType == ReplayConfigType.RemoteCopyTarget)
     {
         this.LastCopyStatus = CopyStatusEnum.NonExchangeReplication;
     }
     else
     {
         this.LastCopyStatus = CopyStatusEnum.Unknown;
     }
     this.m_displayName = currentContext.DisplayName;
     this.m_identity    = currentContext.Identity;
     this.DatabaseName  = currentContext.DatabaseName;
 }