Exemple #1
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));
            }
        }
Exemple #2
0
        public static void TakeDBLogFileSnapShot(SQLInformation.Data.ApplicationDataSet.DBLogFilesRow dbLogFileRow)
        {
#if TRACE
            long startTicks = VNC.AppLog.Trace4("Start", LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 13);
#endif
            Data.ApplicationDataSet.DBLogFileInfoRow infoRow = null;

            try
            {
                infoRow = Common.ApplicationDataSet.DBLogFileInfo.NewDBLogFileInfoRow();

                infoRow.SnapShotDate  = dbLogFileRow.SnapShotDate;
                infoRow.SnapShotError = dbLogFileRow.SnapShotError;

                infoRow.DBLogFile_ID = dbLogFileRow.ID;
                infoRow.Database_ID  = dbLogFileRow.Database_ID;
                //infoRow.BytesReadFromDisk = dbLogFileRow.BytesReadFromDisk;
                //infoRow.BytesWrittenToDisk = dbLogFileRow.BytesWrittenToDisk;
                infoRow.MaxSize = dbLogFileRow.MaxSize;
                //infoRow.NumberOfDiskReads = dbLogFileRow.NumberOfDiskReads;
                //infoRow.NumberOfDiskWrites = dbLogFileRow.NumberOfDiskWrites;
                infoRow.Size            = dbLogFileRow.Size;
                infoRow.UsedSpace       = dbLogFileRow.UsedSpace;
                infoRow.VolumeFreeSpace = dbLogFileRow.VolumeFreeSpace;

                Common.ApplicationDataSet.DBLogFileInfo.AddDBLogFileInfoRow(infoRow);
                Common.ApplicationDataSet.DBLogFileInfoTA.Update(Common.ApplicationDataSet.DBLogFileInfo);
            }
            catch (Exception ex)
            {
                VNC.AppLog.Error(ex, LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 20);

                infoRow.SnapShotDate  = DateTime.Now;
                infoRow.SnapShotError = ex.ToString().Substring(0, 256);
                Common.ApplicationDataSet.DBLogFileInfoTA.Update(Common.ApplicationDataSet.DBLogFileInfo);
            }
#if TRACE
            VNC.AppLog.Trace4("End", LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 21, startTicks);
#endif
        }
Exemple #3
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);
        }
        private void OnDisplayLogFileInfo_Click(object sender, DevExpress.Xpf.Bars.ItemClickEventArgs e)
        {
            // Get the list of datafileinfo records for the current datafile

            var row = gc_DBLogFiles.View.FocusedRowData.Row;

            SQLInformation.Data.ApplicationDataSet.DBLogFilesRow logFile =
                (SQLInformation.Data.ApplicationDataSet.DBLogFilesRow)((DataRowView)row).Row;

            Guid dbID        = logFile.Database_ID;
            Guid dbLogFileID = logFile.ID;

            var logFileInfo = Common.ApplicationDataSet.DBLogFileInfo
                              .Where(id => dbLogFileID == id.DBLogFile_ID)
                              .OrderBy(s => s.SnapShotDate);

            var uc = new EyeOnLife.User_Interface.User_Controls.DB_LogFileInfo(logFileInfo);

            var window = new EyeOnLife.User_Interface.Windows.UserControlHost();

            window.ShowUserControl(uc);

            window.Show();
        }
Exemple #5
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);
        }