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); }
private void ListView_SelectionChanged(object sender, SelectionChangedEventArgs e) { _selectedInstance = listViewInstances.SelectedItem as DatabaseInstance; UpdateState(true); }