Mamy pewien kod identyfikujący instancje SQL Server i powiązane z nimi instancje serwera raportowania, które zwracają nieoczekiwane wyniki.Zapytanie WMI o zgłaszanie wystąpień usług zwraca wszystkie wystąpienia bez względu na ścieżkę macierzystego serwera sql.
Urządzenie ma dwie instancje: SQL Express (2008) - (local)/SQLEXPRESS
i (local)/EXPRESS_BOB
- każda z własnym serwerem Reporting Server.
Za pomocą usługi WMI identyfikujemy wystąpienia SQL Server i działa zgodnie z oczekiwaniami. Dla każdej instancji my wtedy zapytać o RS przypadkach następująco:
public void QueryServers(string wmiPath)
{
using (
var searcher = new ManagementObjectSearcher(
wmiPath,
"Select * from MSReportServer_ConfigurationSetting"))
{
ManagementObjectCollection moc = searcher.Get();
//
// Process objects in moc
//
}
}
ten prowadzony jest przez dwie wartości wmiPath (uwaga - wymaga Uruchom jako administrator):
- wmiPath = „root \ Microsoft \ SqlServer \ ReportServer \ RS_SQLEXPRESS \ v10 \ Admin”
- wmiPath = "root \ Microsoft \ SqlServer \ ReportServer \ RS_EXPRESS_5fBOB \ v10 \ Admin"
Niezależnie od wartości wmiPath
kolekcja moc
zawsze posiada dwa wartości:
- MOC [0] [ "Nazwa_wystąpienia"] = "SQLEXPRESS"
- MOC [1 ] [ "Nazwa_wystąpienia"] = "EXPRESS_BOB"
Jak to się dzieje, że zapytanie w określonej ścieżce WMI instancji SQL Server zwraca instancje serwera raportów, które (ja oczekuję) znajdują się pod inną ścieżką?
Czy to jest poprawna ścieżka do zapytania?
zobacz te linki ... wyjaśnia, w jaki sposób informacje Reporting Services wystąpienie jest pytani .... sprawdzić rejestr ... spróbuj obejść. http://nocentdocent.wordpress.com/2010/07/03/sccm-how-to-force-sql-reporting-services-point-to-select-a-specific-srs-instance-on-a-machine- with-multiple-instances-an-unsupported-workaround/.... http://magalhaesv.wordpress.com/2012/05/24/system-center-configuration-manager-x-sql-server-reporting-services- x-wmi-english-version/ –