Beispiel #1
0
        /// <summary>
        /// Initializes a new instance of the LogFile class.
        /// </summary>
        public LogFile(SMO.LogFile logFile)
        {
            //AddinHelper.Common.WriteToDebugWindow(string.Format("SMOH.{0}({1})", "LogFile", logFile));
            // Save the real table in case we need to get something from it.

            _logFile = logFile;


            // NB. Not all properties are available depending on login credentials
            // Wrap in TC blocks.

            try { Name = logFile.Name; }                           catch (Exception) { Name = "<No Access>"; }
        }
Beispiel #2
0
 public static void UpdateDataSet(this MSMO.LogFile logFile, Data.ApplicationDataSet.DBLogFilesRow logFileRow)
 {
     try
     {
         //instanceRow.ServiceName = server.ServiceName;
     }
     catch (Exception ex)
     {
         // TODO(crhodes):  Need to wrap anything above that throws an exception
         // that we want to ignore, e.g. property not available because of
         // SQL Edition.
         PLLog.Error(ex, PLLOG_APPNAME, CLASS_BASE_ERRORNUMBER + 2);
         throw ex;
     }
 }
Beispiel #3
0
        private static void Update(MSMO.LogFile logFile, SQLInformation.Data.ApplicationDataSet.DBLogFilesRow dataRow)
        {
            try
            {
                logFile.UpdateDataSet(dataRow);

                UpdateDatabaseWithSnapShot(dataRow, "");

                // Add the Snapshot

                SMO.Helper.TakeDBLogFileSnapShot(dataRow);
            }
            catch (Exception ex)
            {
                VNC.AppLog.Error(ex, LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 11);

                UpdateDatabaseWithSnapShot(dataRow, ex.ToString().Substring(0, 256));
            }
        }
Beispiel #4
0
        private static SQLInformation.Data.ApplicationDataSet.DBLogFilesRow Add(MSMO.LogFile logFile, Guid databaseID)
        {
            SQLInformation.Data.ApplicationDataSet.DBLogFilesRow dataRow = null;

            try
            {
                dataRow = Common.ApplicationDataSet.DBLogFiles.NewDBLogFilesRow();

                dataRow.ID           = Guid.NewGuid();
                dataRow.Database_ID  = databaseID;
                dataRow.Name_LogFile = logFile.Name;

//                try
//                {
//                    dataRow.BytesReadFromDisk = (int)logFile.BytesReadFromDisk; // TODO(crhodes)
//                }
//                catch (Exception ex)
//                {
//                    dataRow.BytesReadFromDisk = -1;
//#if TRACE
//                    VNC.AppLog.Debug(ex.ToString(), LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 5);
//#endif
//                }
//                try
//                {
//                    dataRow.BytesWrittenToDisk = (int)logFile.BytesWrittenToDisk; // TODO(crhodes)
//                }
//                catch (Exception ex)
//                {
//                    dataRow.BytesWrittenToDisk = -1;
//#if TRACE
//                    VNC.AppLog.Debug(ex.ToString(), LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 6);
//#endif
//                }

                dataRow.FileName   = logFile.FileName;
                dataRow.Growth     = (int)logFile.Growth; // TODO(crhodes)
                dataRow.GrowthType = logFile.GrowthType.ToString();
                //newLogFile.ID_LogFile = logFile.ID;
                //newLogFile.IsPrimaryFile = logFile.IsPrimaryFile;
                dataRow.MaxSize = (int)logFile.MaxSize;

//                try
//                {
//                    dataRow.NumberOfDiskReads = (int)logFile.NumberOfDiskReads; // TODO(crhodes)
//                }
//                catch (Exception ex)
//                {
//                    dataRow.NumberOfDiskReads = -1;
//#if TRACE
//                    VNC.AppLog.Debug(ex.ToString(), LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 7);
//#endif
//                }
//                try
//                {
//                    dataRow.NumberOfDiskWrites = (int)logFile.NumberOfDiskWrites; // TODO(crhodes)
//                }
//                catch (Exception ex)
//                {
//                    dataRow.NumberOfDiskWrites = -1;
//#if TRACE
//                    VNC.AppLog.Debug(ex.ToString(), LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 8);
//#endif
//                }

                dataRow.Size      = (int)logFile.Size;
                dataRow.UsedSpace = (int)logFile.UsedSpace;

                try
                {
                    dataRow.VolumeFreeSpace = logFile.VolumeFreeSpace;
                }
                catch (Exception ex)
                {
                    dataRow.VolumeFreeSpace = logFile.VolumeFreeSpace;
#if TRACE
                    VNC.AppLog.Debug(ex.ToString(), LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 9);
#endif
                }

                dataRow.SnapShotDate  = DateTime.Now;
                dataRow.SnapShotError = "";

                Common.ApplicationDataSet.DBLogFiles.AddDBLogFilesRow(dataRow);
                Common.ApplicationDataSet.DBLogFilesTA.Update(Common.ApplicationDataSet.DBLogFiles);
            }
            catch (Exception ex)
            {
                VNC.AppLog.Error(ex, LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 10);
                // TODO(crhodes):
                // Wrap anything above that throws an exception that we want to ignore,
                // e.g. property not available because of SQL Edition.

                UpdateDatabaseWithSnapShot(dataRow, ex.ToString().Substring(0, 256));
            }

            return(dataRow);
        }
Beispiel #5
0
        private static SQLInformation.Data.ApplicationDataSet.DBLogFilesRow Get_DBLogFile_FromSMO(MSMO.LogFile logFile, Guid databaseID)
        {
#if TRACE
            long startTicks = VNC.AppLog.Trace4("Enter", LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 2);
#endif

            SQLInformation.Data.ApplicationDataSet.DBLogFilesRow dataRow = null;

            try
            {
                var dbs = from tb in Common.ApplicationDataSet.DBLogFiles
                          where tb.Database_ID == databaseID
                          select tb;

                var dbs2 = from db2 in dbs
                           where db2.Name_LogFile == logFile.Name
                           select db2;

                if (dbs2.Count() > 0)
                {
                    dataRow = dbs2.First();
                    Update(logFile, dataRow);
                }
                else
                {
                    dataRow = Add(logFile, databaseID);
                }
            }
            catch (Exception ex)
            {
                VNC.AppLog.Error(ex, LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 3);
            }

#if TRACE
            VNC.AppLog.Trace4("Exit", LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 4, startTicks);
#endif
            return(dataRow);
        }
Beispiel #6
0
        public static void UpdateDataSet(this MSMO.LogFile logFile, Data.ApplicationDataSet.DBLogFilesRow dataRow)
        {
            try
            {
//                try
//                {
//                    dataRow.BytesReadFromDisk = logFile.BytesReadFromDisk;
//                }
//                catch (Exception ex)
//                {
//                    dataRow.BytesReadFromDisk = -1;
//#if TRACE
//                    VNC.AppLog.Debug(ex.ToString(), LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 14);
//#endif
//                }

//                try
//                {
//                    dataRow.BytesWrittenToDisk = logFile.BytesWrittenToDisk;
//                }
//                catch (Exception ex)
//                {
//                    dataRow.BytesWrittenToDisk = -1;
//#if TRACE
//                    VNC.AppLog.Debug(ex.ToString(), LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 15);
//#endif
//                }

                dataRow.MaxSize = logFile.MaxSize;

//                try
//                {
//                    dataRow.NumberOfDiskReads = logFile.NumberOfDiskReads;
//                }
//                catch (Exception ex)
//                {
//                    dataRow.NumberOfDiskReads = -1;
//#if TRACE
//                    VNC.AppLog.Debug(ex.ToString(), LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 16);
//#endif
//                }

//                try
//                {
//                    dataRow.NumberOfDiskWrites = logFile.NumberOfDiskWrites;
//                }
//                catch (Exception ex)
//                {
//                    dataRow.NumberOfDiskWrites = -1;
//#if TRACE
//                    VNC.AppLog.Debug(ex.ToString(), LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 17);
//#endif
//                }

                dataRow.Size      = logFile.Size;
                dataRow.UsedSpace = logFile.UsedSpace;

                try
                {
                    dataRow.VolumeFreeSpace = logFile.VolumeFreeSpace;
                }
                catch (Exception ex)
                {
                    dataRow.VolumeFreeSpace = -1;
#if TRACE
                    VNC.AppLog.Debug(ex.ToString(), LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 18);
#endif
                }
            }
            catch (Exception ex)
            {
                VNC.AppLog.Error(ex, LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 12);
                // TODO(crhodes):
                // Wrap anything above that throws an exception that we want to ignore,
                // e.g. property not available because of SQL Edition.
            }
        }