Example #1
0
        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));
            }
        }
Example #2
0
        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
        }
Example #3
0
        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();
        }
Example #5
0
        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);
        }