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)); } }
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 }
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(); }
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); }