Beispiel #1
0
 // Token: 0x06001444 RID: 5188 RVA: 0x00051A58 File Offset: 0x0004FC58
 public DatabaseValidationCheck.Result Validate(DatabaseValidationCheck.Arguments args, ref LocalizedString error)
 {
     DiagCore.RetailAssert(args.Status != null, "args.Status cannot be null!", new object[0]);
     DatabaseValidationCheck.Tracer.TraceDebug((long)this.GetHashCode(), "Check '{0}' is starting against database copy '{1}'. [ActiveServer: {2}, TargetServer: {3}, IsActive: {4}]", new object[]
     {
         this.CheckName,
         args.DatabaseCopyName,
         args.ActiveServer.NetbiosName,
         args.TargetServer.NetbiosName,
         args.Status.IsActive
     });
     if (!this.IsPrerequisiteMetForCheck(args))
     {
         DatabaseValidationCheck.Tracer.TraceError <string, string>((long)this.GetHashCode(), "Check '{0}' is skipping for database copy '{1}' because prereqs were not met. Returning Passed result.", this.CheckName, args.DatabaseCopyName);
         return(DatabaseValidationCheck.Result.Passed);
     }
     DatabaseValidationCheck.Result result = this.ValidateInternal(args, ref error);
     if (result == DatabaseValidationCheck.Result.Passed)
     {
         DatabaseValidationCheck.Tracer.TraceDebug <string, string>((long)this.GetHashCode(), "Check '{0}' for database copy '{1}' Passed.", this.CheckName, args.DatabaseCopyName);
     }
     else
     {
         DatabaseValidationCheck.Tracer.TraceError((long)this.GetHashCode(), "Check '{0}' for database copy '{1}' returned result '{2}'. Error: {3}", new object[]
         {
             this.CheckName,
             args.DatabaseCopyName,
             result,
             error
         });
     }
     return(result);
 }
Beispiel #2
0
 protected override DatabaseValidationCheck.Result ValidateInternal(DatabaseValidationCheck.Arguments args, ref LocalizedString error)
 {
     error = LocalizedString.Empty;
     DatabaseValidationCheck.Result result = DatabaseValidationCheck.Result.Passed;
     if (args.Status.CopyStatus != null)
     {
         string text = args.Status.CopyStatus.DBName + "\\" + args.Status.CopyStatus.MailboxServer;
         if (args.PropertyUpdateTracker.LastTimeCopierTimeUpdateTracker.UpdateCurrentValueOrReturnStaleness(text, args.Status.CopyStatus.LastLogInfoFromCopierTime).TotalSeconds >= (double)RegistryParameters.DatabaseHealthCheckCopyConnectedErrorThresholdInSec)
         {
             error  = ReplayStrings.PassiveCopyDisconnected;
             result = DatabaseValidationCheck.Result.Failed;
         }
     }
     return(result);
 }