Example #1
0
        public static List <DatabaseInstance> FindInstances()
        {
            List <DatabaseInstance> instances = new List <DatabaseInstance>();

            string correctNamespace = GetCorrectWmiNameSpace();

            if (string.IsNullOrEmpty(correctNamespace))
            {
                return(instances);
            }
            string query = string.Format("select * from SqlServiceAdvancedProperty where SQLServiceType = 1 and PropertyName = 'instanceID'");

            using (ManagementObjectSearcher getSqlEngine = new ManagementObjectSearcher(correctNamespace, query))
            {
                if (getSqlEngine.Get().Count == 0)
                {
                    return(instances);
                }

                string instanceName = string.Empty;
                string serviceName  = string.Empty;
                string version      = string.Empty;
                string edition      = string.Empty;

                foreach (ManagementObject sqlEngine in getSqlEngine.Get())
                {
                    serviceName  = sqlEngine["ServiceName"].ToString();
                    instanceName = GetInstanceNameFromServiceName(serviceName);
                    version      = GetWmiPropertyValueForEngineService(serviceName, correctNamespace, "Version");
                    edition      = GetWmiPropertyValueForEngineService(serviceName, correctNamespace, "SKUNAME");

                    DatabaseInstance candidateInstance = new DatabaseInstance(instanceName, serviceName, edition, version);
                    if (candidateInstance.MajorVersion >= MajorVersionIsAtLeast)
                    {
                        instances.Add(candidateInstance);
                    }
                }
            }

            return(instances);
        }
Example #2
0
 private void ListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     _selectedInstance = listViewInstances.SelectedItem as DatabaseInstance;
     UpdateState(true);
 }