Je veux énumérer par programme les instances nommées SQL Server 2005 sur un serveur. Je sais que je devrais être en mesure de le faire assez facilement, mais je ne peux pas pour la vie de moi comprendre comment. Merci d'avance pour votre aide!Comment puis-je énumérer par programme les instances nommées SQL Server 2005?
1
A
Répondre
1
Voici ce que j'avais écrit tout à l'heure ... Ce n'est pas exactement la même chose, mais il peut vous donner une idée sur la façon de le faire. Ici, j'énumère et vérifie l'édition expresse du serveur sql, mais vous devriez être en mesure de changer cela ... Vous devrez aller au registre pour trouver le SKUNAME et SKULEVEL du serveur sql 2005.
public static bool IsSqlExpressPresent(string strInstance, Utility.Log log)
{
const string edition = "Express Edition";
string instance = "MSSQL$" + strInstance.ToUpper();
const int spLevel = 1;
bool fCheckEdition = false;
bool fCheckSpLevel = false;
try
{
// Run a WQL query to return information about SKUNAME and SPLEVEL about installed instances
// of the SQL Engine.
ManagementObjectSearcher getSqlExpress =
new ManagementObjectSearcher("root\\Microsoft\\SqlServer\\ComputerManagement",
"select * from SqlServiceAdvancedProperty where SQLServiceType = 1 and ServiceName = '"
+ instance + "' and (PropertyName = 'SKUNAME' or PropertyName = 'SPLEVEL')");
// If nothing is returned, SQL Express isn't installed.
if (getSqlExpress.Get().Count == 0)
{
return false;
}
// If something is returned, verify it is the correct edition and SP level.
foreach (ManagementObject sqlEngine in getSqlExpress.Get())
{
if (sqlEngine["ServiceName"].ToString().Equals(instance))
{
switch (sqlEngine["PropertyName"].ToString())
{
case "SKUNAME":
// Check if this is Express Edition or Express Edition with Advanced Services
fCheckEdition = sqlEngine["PropertyStrValue"].ToString().Contains(edition);
break;
case "SPLEVEL":
// Check if the instance matches the specified level
fCheckSpLevel = int.Parse(sqlEngine["PropertyNumValue"].ToString()) >= spLevel;
//fCheckSpLevel = sqlEngine["PropertyNumValue"].ToString().Contains(spLevel);
break;
}
}
}
if (fCheckEdition & fCheckSpLevel)
{
return true;
}
return false;
}
catch (ManagementException e)
{
if (log != null)
{
log.Write(
Utility.LogState.Error,
"Database",
"Could not find OfficeClip instance of SqlExpress: " + e.ErrorCode + ", " + e.Message
);
}
return false;
}
}
1
Questions connexes
- 1. Programme de travail SQL Server 2005
- 2. SQL Server Par question SQL Server 2005 CE
- 3. Instances utilisateur SQL 2005 et authentification SQL
- 4. Comment faire la liste des instances SQL 2005 Express
- 5. Récupère toutes les instances nommées dans un film flash
- 6. SQL Server 2005: espace disque pris par les colonnes supprimées
- 7. Comment puis-je stocker un fichier Word par programme dans SQL Server 2005 avec C#?
- 8. Aide sur les requêtes SQL Server 2005
- 9. synchroniser deux SQL Server 2005
- 10. Comment configurer des instances nommées à l'aide de profils StructureMap?
- 11. sql server énumérer les variables de session en cours
- 12. La désinstallation d'une instance nommée de SQL Server nécessitera-t-elle un redémarrage ou des problèmes avec les instances existantes?
- 13. SQL Server 2005 Replication
- 14. SQL SERVER 2005
- 15. Modification du SQL Server 2005 Server
- 16. SQL Server 2005 xp_cmdshell
- 17. SQL Server 2005 comparer les dates
- 18. SQL Server 2005 Date Localisation
- 19. Comment apprendre MS SQL Server 2005?
- 20. Est-il possible de créer par programme un DBLink dans SQL Server 2005 en C#?
- 21. Comment spécifier le numéro de port dans une chaîne de connexion oledb à SQL Server 2005?
- 22. Annulation d'une installation SQL Server Express lancée par programme
- 23. Sauvegarde MS SQL Server 2005?
- 24. Sauvegardes compressées dans SQL Server 2005
- 25. PHP avec SQL Server 2005+
- 26. Requêtes XML SQL Server 2005
- 27. MySQL to SQL Server 2005
- 28. SSIS: existe-t-il un moyen de déployer des packages sur plusieurs instances SQL Server 2005
- 29. Comment analyser/rechercher des instances SQL Server actives avec Java?
- 30. mots bruit SQL Server 2005
Parfait! Merci. – GuyBehindtheGuy