PDA

View Full Version : [VB.NET 2005/WMI] Rilevare istanze SQL Server 2000 e 2005 e i db contenuti


Dave83
12-03-2008, 12:44
Ho un altro enigma da proporvi:
io devo riuscire a rilevare tutte le instanze di SQL Server installate in un pc della rete locale, sia versione 2000 che 2005 (e a dir la verità dovrei farlo anche con Oracle, ma a questo ci penserò più avanti), e di ogni istanza rintraccia i relativi database.

Le istanze di SQL2005 riesco a trovarle grazie a query WMI, utilizzando la classe SqlService contenuta in root\Microsoft\SqlServer\ComputerManagement, il problema è che non trovo una classe che mi restituisca i database. C'è un modo per trovarli senza fare una query SQL sul server?

Per quanto riguarda SQL2000 invece non riesco neanche a trovare la classe che mi restituisce le istanze. So che per SQL2000 esiste un componente aggiuntivo WMI, il problema è che sui server che io devo interrogare non è detto che ci sia questo componente, quindi devo trovare un altro modo per ricavare le informazioni, magari usando un'altra classe già installata di default o se non esiste un altro modo, che però attualmente non conosco.

Qualcuno sa darmi qualche consiglio?

Un'altra domanda: ma ogni istanza di SQLServer attiva sul PC corrisponde ad un servizio windows chiamato MSSQL$NomeIstanza per il 2000 e SQL Server (NomeIstanza) per il 2005? Se sì magari con un oggetto ServiceController riesco a rintracciarle