Пример #1
0
        private void LoadTables()
        {
            Data.ApplicationDataSet.DatabasesRow database =
                (Data.ApplicationDataSet.DatabasesRow)
                    ((System.Data.DataRowView)databasesDataGrid.SelectedItem).Row;

            // Need to go get the Instance Name.   For now do the loads in the Instance Page
            //SMO.Server server = new SMO.Server(instance.InstanceName);
            //server.ConnectionContext.LoginSecure = false;   // SQL Authentication
            //server.ConnectionContext.Login = "******";
            //server.ConnectionContext.Password = "******";
            //server.ConnectionContext.ConnectTimeout = 10;    // Seconds

            //SMOH.Server serverH = new SMOH.Server(server);

            //Data.ApplicationDataSetTableAdapters.DatabasesTableAdapter ta = new Data.ApplicationDataSetTableAdapters.DatabasesTableAdapter();

            //ta.Connection.ConnectionString = ConfigData.SQLMonitorDBConnection;

            //foreach(SMOH.Database dataBase in serverH.Databases.Values)
            //{
            //    Data.ApplicationDataSet.DatabasesRow newDatabase = Common.ApplicationDataSet.Databases.NewDatabasesRow();
            //    newDatabase.ID = Guid.NewGuid();
            //    newDatabase.Name = dataBase.Name;
            //    newDatabase.DataBaseGuid = dataBase.DatabaseGuid;

            //    //newDatabase.DataBaseGuid = Guid.Parse(dataBase.DatabaseGuid);
            //    newDatabase.CreateDate = DateTime.Parse(dataBase.CreateDate);
            //    newDatabase.ID_DB = dataBase.ID;
            //    newDatabase.Instance_Id = instance.ID;

            //    Common.ApplicationDataSet.Databases.AddDatabasesRow(newDatabase);
            //    ta.Update(Common.ApplicationDataSet.Databases);
            //}
        }
Пример #2
0
        //private void LoadDatabases()
        //{
        //    throw new NotImplementedException();
        //}

        private static void LoadExtendedProperties(Data.ApplicationDataSet.DatabasesRow database)
        {
            var instanceName = from item in Common.ApplicationDataSet.Instances
                               where item.ID == database.Instance_Id
                               select item.InstanceName;

            SMO.Server server = new SMO.Server((string)instanceName.First());
            server.ConnectionContext.LoginSecure    = false; // SQL Authentication
            server.ConnectionContext.Login          = "******";
            server.ConnectionContext.Password       = "******";
            server.ConnectionContext.ConnectTimeout = 10;    // Seconds

            SMO.ExtendedPropertyCollection extendedProps = server.Databases[database.Name].ExtendedProperties;

            foreach (SMO.ExtendedProperty prop in extendedProps)
            {
                Console.WriteLine(string.Format("EP Name:{0}  Value:{1}", prop.Name, prop.Value));
            }

            try { database.EP_Area = (string)extendedProps["EP_Area"].Value; }
            catch (Exception) { database.EP_Area = "[Not Set]"; }

            try { database.EP_DBApprover = (string)extendedProps["EP_DBApprover"].Value; }
            catch (Exception) { database.EP_DBApprover = "[Not Set]"; }

            try { database.EP_DRTier = (string)extendedProps["EP_DRTier"].Value; }
            catch (Exception) { database.EP_DRTier = "[Not Set]"; }

            try { database.EP_PrimaryDBContact = (string)extendedProps["EP_PrimaryDBContact"].Value; }
            catch (Exception) { database.EP_PrimaryDBContact = "[Not Set]"; }

            try { database.EP_Team = (string)extendedProps["EP_Team"].Value; }
            catch (Exception) { database.EP_Team = "[Not Set]"; }
        }
Пример #3
0
        private void btnLoadExtendedProperties_Click(object sender, RoutedEventArgs e)
        {
            Data.ApplicationDataSet.DatabasesRow database =
                (Data.ApplicationDataSet.DatabasesRow)
                    ((System.Data.DataRowView)databasesDataGrid.SelectedItem).Row;

            LoadExtendedProperties(database);
        }
Пример #4
0
 private static void UpdateDatabaseWithSnapShot(Data.ApplicationDataSet.DatabasesRow dataRow, string snapShotError)
 {
     try
     {
         dataRow.SnapShotDate  = DateTime.Now;
         dataRow.SnapShotError = snapShotError;
         Common.ApplicationDataSet.DatabasesTA.Update(Common.ApplicationDataSet.Databases);
     }
     catch (Exception ex)
     {
         string errorMessage = string.Format("DatabasesRow.ID:{0} - ex:{1} ex.Inner:{2}", dataRow.ID, ex, ex.InnerException);
         VNC.AppLog.Error(errorMessage, LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 19);
     }
 }
Пример #5
0
        public static void UpdateDataSet(this MSMO.Database database, Data.ApplicationDataSet.DatabasesRow databaseRow)
        {
            try
            {
                databaseRow.CreateDate = database.CreateDate;

                try
                {
                    databaseRow.DataBaseGuid = database.DatabaseGuid.ToString();
                }
                catch (Exception ex)
                {
                    PLLog.Warning(ex, PLLOG_APPNAME, CLASS_BASE_ERRORNUMBER + 1);
                    databaseRow.DataBaseGuid = "<Not Available>";
                }

                try
                {
                    databaseRow.DataSpaceUsage = database.DataSpaceUsage;
                }
                catch (Exception ex)
                {
                    PLLog.Warning(ex, PLLOG_APPNAME, CLASS_BASE_ERRORNUMBER + 1);
                }

                try
                {
                    if (database.ExtendedProperties.Count > 0)
                    {
                        try { databaseRow.EP_Area = (string)database.ExtendedProperties["EP_Area"].Value; }
                        catch (Exception) { databaseRow.EP_Area = "[Not Set]"; }

                        try { databaseRow.EP_DBApprover = (string)database.ExtendedProperties["EP_DBApprover"].Value; }
                        catch (Exception) { databaseRow.EP_DBApprover = "[Not Set]"; }

                        try { databaseRow.EP_DRTier = (string)database.ExtendedProperties["EP_DRTier"].Value; }
                        catch (Exception) { databaseRow.EP_DRTier = "[Not Set]"; }

                        try { databaseRow.EP_PrimaryDBContact = (string)database.ExtendedProperties["EP_PrimaryDBContact"].Value; }
                        catch (Exception) { databaseRow.EP_PrimaryDBContact = "[Not Set]"; }

                        try { databaseRow.EP_Team = (string)database.ExtendedProperties["EP_Team"].Value; }
                        catch (Exception) { databaseRow.EP_Team = "[Not Set]"; }
                    }
                }
                catch (Exception ex)
                {
                    // ExtendedProperties.Count throws exceptions on SQL2000??
                }


                try
                {
                    databaseRow.IndexSpaceUsage = database.IndexSpaceUsage;
                }
                catch (Exception ex)
                {
                    PLLog.Warning(ex, PLLOG_APPNAME, CLASS_BASE_ERRORNUMBER + 1);
                }

                try
                {
                    databaseRow.LastBackupDate = (database.LastBackupDate > SQLMinDateTime ? database.LastBackupDate : SQLMinDateTime);
                }
                catch (Exception ex)
                {
                    PLLog.Warning(ex, PLLOG_APPNAME, CLASS_BASE_ERRORNUMBER + 1);
                }
                try
                {
                    databaseRow.LastDifferentialBackupDate = (database.LastDifferentialBackupDate > SQLMinDateTime ? database.LastDifferentialBackupDate : SQLMinDateTime);
                }
                catch (Exception ex)
                {
                    PLLog.Warning(ex, PLLOG_APPNAME, CLASS_BASE_ERRORNUMBER + 1);
                }
                try
                {
                    databaseRow.LastLogBackupDate = (database.LastLogBackupDate > SQLMinDateTime ? database.LastLogBackupDate : SQLMinDateTime);
                }
                catch (Exception ex)
                {
                    PLLog.Warning(ex, PLLOG_APPNAME, CLASS_BASE_ERRORNUMBER + 1);
                }

                databaseRow.Owner = database.Owner;

                databaseRow.RecoveryModel = database.RecoveryModel.ToString();

                try
                {
                    databaseRow.Size = database.Size;
                }
                catch (Exception ex)
                {
                    PLLog.Warning(ex, PLLOG_APPNAME, CLASS_BASE_ERRORNUMBER + 1);
                }

                try
                {
                    databaseRow.SpaceAvailable = database.SpaceAvailable;
                }
                catch (Exception ex)
                {
                    PLLog.Warning(ex, PLLOG_APPNAME, CLASS_BASE_ERRORNUMBER + 1);
                }
            }
            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;
            }
        }
Пример #6
0
        public static void UpdateDataSet(this MSMO.Database database, Data.ApplicationDataSet.DatabasesRow dataRow)
        {
            try
            {
                // If we got here, update the Instance Name in case it was not accessible for some reason.

                dataRow.Name_Instance = dataRow.Name_Instance.ToUpper();

                dataRow.CreateDate = database.CreateDate;

                try
                {
                    dataRow.DataBaseGuid = database.DatabaseGuid.ToString();
                }
                catch (Exception)
                {
#if TRACE
#endif
                    dataRow.DataBaseGuid = "<Not Available>";
                }

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

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

                try
                {
                    if (database.ExtendedProperties.Count > 0)
                    {
                        try { dataRow.EP_Area = (string)database.ExtendedProperties["EP_Area"].Value; }
                        catch (Exception) { dataRow.EP_Area = "[Not Set]"; }

                        try { dataRow.EP_DBApprover = (string)database.ExtendedProperties["EP_DBApprover"].Value; }
                        catch (Exception) { dataRow.EP_DBApprover = "[Not Set]"; }

                        try { dataRow.EP_DRTier = (string)database.ExtendedProperties["EP_DRTier"].Value; }
                        catch (Exception) { dataRow.EP_DRTier = "[Not Set]"; }

                        try { dataRow.EP_PrimaryDBContact = (string)database.ExtendedProperties["EP_PrimaryDBContact"].Value; }
                        catch (Exception) { dataRow.EP_PrimaryDBContact = "[Not Set]"; }

                        try { dataRow.EP_Team = (string)database.ExtendedProperties["EP_Team"].Value; }
                        catch (Exception) { dataRow.EP_Team = "[Not Set]"; }
                    }
                }
                catch (Exception ex)
                {
#if TRACE
                    VNC.AppLog.Debug(ex.ToString(), LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 22);
#endif
                    // ExtendedProperties.Count throws exceptions on SQL2000??
                }


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

                try
                {
                    dataRow.LastBackupDate = (database.LastBackupDate > SQLMinDateTime ? database.LastBackupDate : SQLMinDateTime);
                }
                catch (Exception ex)
                {
#if TRACE
                    VNC.AppLog.Debug(ex.ToString(), LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 24);
#endif
                }

                try
                {
                    dataRow.LastDifferentialBackupDate = (database.LastDifferentialBackupDate > SQLMinDateTime ? database.LastDifferentialBackupDate : SQLMinDateTime);
                }
                catch (Exception ex)
                {
#if TRACE
                    VNC.AppLog.Debug(ex.ToString(), LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 25);
#endif
                }

                try
                {
                    dataRow.LastLogBackupDate = (database.LastLogBackupDate > SQLMinDateTime ? database.LastLogBackupDate : SQLMinDateTime);
                }
                catch (Exception ex)
                {
#if TRACE
                    VNC.AppLog.Debug(ex.ToString(), LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 26);
#endif
                }

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

                dataRow.RecoveryModel = database.RecoveryModel.ToString();

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

                try
                {
                    dataRow.SpaceAvailable = database.SpaceAvailable;
                }
                catch (Exception ex)
                {
#if TRACE
                    VNC.AppLog.Debug(ex.ToString(), LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 29);
#endif
                }
            }
            catch (Exception ex)
            {
                VNC.AppLog.Error(ex, LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 30);
                // TODO(crhodes):
                // Wrap anything above that throws an exception that we want to ignore,
                // e.g. property not available because of SQL Edition.
            }
        }
Пример #7
0
        private void SaveExtendedProperties(Data.ApplicationDataSet.DatabasesRow database)
        {
            var instanceName = from item in Common.ApplicationDataSet.Instances
                               where item.ID == database.Instance_Id
                               select item.InstanceName;

            SMO.Server server = new SMO.Server((string)instanceName.First());
            server.ConnectionContext.LoginSecure    = false; // SQL Authentication
            server.ConnectionContext.Login          = "******";
            server.ConnectionContext.Password       = "******";
            server.ConnectionContext.ConnectTimeout = 10;    // Seconds

            SMO.ExtendedPropertyCollection extendedProps = server.Databases[database.Name].ExtendedProperties;

            SMO.Database smoDatabase = server.Databases[database.Name];

            try
            {
                extendedProps["EP_Area"].Value = database.EP_Area;
                extendedProps["EP_Area"].Alter();
            }
            catch (Exception)
            {
                SMO.ExtendedProperty ep = new SMO.ExtendedProperty(smoDatabase, "EP_Area", database.EP_Area);
                ep.Create();
            }

            try
            {
                extendedProps["EP_DBApprover"].Value = database.EP_DBApprover;
                extendedProps["EP_DBApprover"].Alter();
            }
            catch (Exception)
            {
                SMO.ExtendedProperty ep = new SMO.ExtendedProperty(smoDatabase, "EP_DBApprover", database.EP_DBApprover);
                ep.Create();
            }

            try
            {
                extendedProps["EP_DRTier"].Value = database.EP_DRTier;
                extendedProps["EP_DRTier"].Alter();
            }
            catch (Exception)
            {
                SMO.ExtendedProperty ep = new SMO.ExtendedProperty(smoDatabase, "EP_DRTier", database.EP_DRTier);
                ep.Create();
            }

            try
            {
                extendedProps["EP_PrimaryDBContact"].Value = database.EP_PrimaryDBContact;
                extendedProps["EP_PrimaryDBContact"].Alter();
            }
            catch (Exception)
            {
                SMO.ExtendedProperty ep = new SMO.ExtendedProperty(smoDatabase, "EP_PrimaryDBContact", database.EP_PrimaryDBContact);
                ep.Create();
            }

            try
            {
                extendedProps["EP_Team"].Value = database.EP_Team;
                extendedProps["EP_Team"].Alter();
            }
            catch (Exception)
            {
                SMO.ExtendedProperty ep = new SMO.ExtendedProperty(smoDatabase, "EP_Team", database.EP_Team);
                ep.Create();
            }
        }