private static void Update(MSMO.DataFile dataFile, SQLInformation.Data.ApplicationDataSet.DBDataFilesRow dataRow) { try { dataFile.UpdateDataSet(dataRow); UpdateDatabaseWithSnapShot(dataRow, ""); // Add add the Snapshot SMO.Helper.TakeDBDataFileSnapShot(dataRow); } catch (Exception ex) { VNC.AppLog.Error(ex, LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 11); UpdateDatabaseWithSnapShot(dataRow, ex.ToString().Substring(0, 256)); } }
public static void TakeDBDataFileSnapShot(SQLInformation.Data.ApplicationDataSet.DBDataFilesRow dbDataFileRow) { #if TRACE long startTicks = VNC.AppLog.Trace4("Start", LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 4); #endif Data.ApplicationDataSet.DBDataFileInfoRow infoRow = null; try { infoRow = Common.ApplicationDataSet.DBDataFileInfo.NewDBDataFileInfoRow(); infoRow.SnapShotDate = dbDataFileRow.SnapShotDate; infoRow.SnapShotError = dbDataFileRow.SnapShotError; infoRow.DBDataFile_ID = dbDataFileRow.ID; infoRow.Database_ID = dbDataFileRow.Database_ID; infoRow.AvailableSpace = dbDataFileRow.AvailableSpace; //infoRow.BytesReadFromDisk = dbDataFileRow.BytesReadFromDisk; //infoRow.BytesWrittenToDisk = dbDataFileRow.BytesWrittenToDisk; infoRow.MaxSize = dbDataFileRow.MaxSize; //infoRow.NumberOfDiskReads = dbDataFileRow.NumberOfDiskReads; //infoRow.NumberOfDiskWrites = dbDataFileRow.NumberOfDiskWrites; infoRow.Size = dbDataFileRow.Size; infoRow.UsedSpace = dbDataFileRow.UsedSpace; infoRow.VolumeFreeSpace = dbDataFileRow.VolumeFreeSpace; Common.ApplicationDataSet.DBDataFileInfo.AddDBDataFileInfoRow(infoRow); Common.ApplicationDataSet.DBDataFileInfoTA.Update(Common.ApplicationDataSet.DBDataFileInfo); } catch (Exception ex) { VNC.AppLog.Error(ex, LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 11); infoRow.SnapShotDate = DateTime.Now; infoRow.SnapShotError = ex.ToString().Substring(0, 256); Common.ApplicationDataSet.DBDataFileInfoTA.Update(Common.ApplicationDataSet.DBDataFileInfo); } #if TRACE VNC.AppLog.Trace4("End", LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 12, startTicks); #endif }
private static SQLInformation.Data.ApplicationDataSet.DBDataFilesRow GetInfoFromSMO(Guid fileGroupID, string fileGroupName, MSMO.DataFile dataFile, Guid databaseID) { #if TRACE long startTicks = VNC.AppLog.Trace4("Enter", LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 2); #endif SQLInformation.Data.ApplicationDataSet.DBDataFilesRow dataRow = null; try { var dbs = from tb in Common.ApplicationDataSet.DBDataFiles where tb.FileGroup_ID == fileGroupID select tb; var dbs2 = from db2 in dbs where db2.Name_DataFile == dataFile.Name select db2; if (dbs2.Count() > 0) { dataRow = dbs2.First(); Update(dataFile, dataRow); } else { dataRow = Add(fileGroupID, dataFile, 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 OnDisplayDataFileInfo_Click(object sender, DevExpress.Xpf.Bars.ItemClickEventArgs e) { // Get the list of datafileinfo records for the current datafile var row = gc_DBDataFiles.View.FocusedRowData.Row; SQLInformation.Data.ApplicationDataSet.DBDataFilesRow datafile = (SQLInformation.Data.ApplicationDataSet.DBDataFilesRow)((DataRowView)row).Row; Guid dbID = datafile.Database_ID; Guid dbDataFileID = datafile.ID; var dataFileInfo = Common.ApplicationDataSet.DBDataFileInfo .Where(id => dbDataFileID == id.DBDataFile_ID) .OrderBy(s => s.SnapShotDate); var uc = new EyeOnLife.User_Interface.User_Controls.DB_DataFileInfo(dataFileInfo); var window = new EyeOnLife.User_Interface.Windows.UserControlHost(); window.ShowUserControl(uc); window.Show(); }
private static SQLInformation.Data.ApplicationDataSet.DBDataFilesRow Add(Guid fileGroupID, MSMO.DataFile dataFile, Guid databaseID) { SQLInformation.Data.ApplicationDataSet.DBDataFilesRow dataRow = null; try { dataRow = Common.ApplicationDataSet.DBDataFiles.NewDBDataFilesRow(); dataRow.ID = Guid.NewGuid(); dataRow.FileGroup_ID = fileGroupID; dataRow.Database_ID = databaseID; dataRow.ID_DataFile = dataFile.ID; dataRow.Name_DataFile = dataFile.Name; dataRow.AvailableSpace = dataFile.AvailableSpace; // try // { // dataRow.BytesReadFromDisk = (int)dataFile.BytesReadFromDisk; // TODO(crhodes) // } // catch (Exception ex) // { //#if TRACE // VNC.AppLog.Debug(ex.ToString(), LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 5); //#endif // dataRow.BytesReadFromDisk = -1; // } // try // { // dataRow.BytesWrittenToDisk = (int)dataFile.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 = dataFile.FileName; dataRow.Growth = (int)dataFile.Growth; // TODO(crhodes) dataRow.GrowthType = dataFile.GrowthType.ToString(); dataRow.ID_DataFile = dataFile.ID; dataRow.IsPrimaryFile = dataFile.IsPrimaryFile; dataRow.MaxSize = dataFile.MaxSize; // try // { // dataRow.NumberOfDiskReads = (int)dataFile.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)dataFile.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 = dataFile.Size; dataRow.UsedSpace = dataFile.UsedSpace; try { dataRow.VolumeFreeSpace = dataFile.VolumeFreeSpace; } catch (Exception ex) { dataRow.VolumeFreeSpace = dataFile.VolumeFreeSpace; #if TRACE VNC.AppLog.Debug(ex.ToString(), LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 9); #endif } dataRow.SnapShotDate = DateTime.Now; dataRow.SnapShotError = ""; Common.ApplicationDataSet.DBDataFiles.AddDBDataFilesRow(dataRow); Common.ApplicationDataSet.DBDataFilesTA.Update(Common.ApplicationDataSet.DBDataFiles); } 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); }