Discovers Data Warehouse 2012 databases and where they are hosted.
Knowledge Base article:
Summary
This discovery populates Data Warehouse 2012 databases.Discovery runs immedietely after being imported. Following this it runs at a 24 hour interval. Sync time,frequency as well as timeout can be changed.Changing arguments is not recommended.
Call oAPI.LogScriptEvent("Dw2012DatabaseDiscovery.VBS", 3000, 4, "Starting discovery of Service Manager Data Warehouse Databases")
Set oDiscoveryData = oAPI.CreateDiscoveryData(0, sourceId, managedEntityId)
Dim connectionString, cnADOConnection, oResults,oQuery,oDwDatabaseInst, ServerName, DwDbName
connectionString = "Provider=sqloledb;Server=" & StagingDBServer & ";Integrated Security=SSPI;Initial Catalog=" & StagingDBName
Set cnADOConnection = CreateObject("ADODB.Connection")
cnADOConnection.Open connectionString
cnADOConnection.CommandTimeout = 300
oQuery = "Select Server_48B308F9_CF0E_0F74_83E1_0AEB1B58E2FA AS ServerName, DataService_98B2DDF9_D9FD_9297_85D3_FCF36F1D016B AS DbName FROM MT_Microsoft£SystemCenter£ResourceAccessLayer£ASResourceStore Union " &_
"Select Server_48B308F9_CF0E_0F74_83E1_0AEB1B58E2FA AS ServerName, DataService_98B2DDF9_D9FD_9297_85D3_FCF36F1D016B AS DbName FROM MT_Microsoft£SystemCenter£ResourceAccessLayer£CmdbResourceStore Union " &_
"Select Server_48B308F9_CF0E_0F74_83E1_0AEB1B58E2FA AS ServerName, DataService_98B2DDF9_D9FD_9297_85D3_FCF36F1D016B AS DbName FROM MT_Microsoft£SystemCenter£ResourceAccessLayer£SqlResourceStore where Name_188E1D94_94DB_6A6B_3897_D7C2F6DFDBB6 = 'Ral.SqlResourceStore.Ods' Union " &_
"Select Server_48B308F9_CF0E_0F74_83E1_0AEB1B58E2FA AS ServerName, DataService_98B2DDF9_D9FD_9297_85D3_FCF36F1D016B AS DbName FROM MT_Microsoft£SystemCenter£ResourceAccessLayer£SqlResourceStore where Name_188E1D94_94DB_6A6B_3897_D7C2F6DFDBB6 = 'Ral.SqlResourceStore.Repository' Union " &_
"Select Server_48B308F9_CF0E_0F74_83E1_0AEB1B58E2FA AS ServerName, DataService_98B2DDF9_D9FD_9297_85D3_FCF36F1D016B AS DbName FROM MT_Microsoft£SystemCenter£ResourceAccessLayer£SqlResourceStore where Name_188E1D94_94DB_6A6B_3897_D7C2F6DFDBB6 = 'Ral.SqlResourceStore.Datamart' Union " &_
"Select Server_48B308F9_CF0E_0F74_83E1_0AEB1B58E2FA AS ServerName, DataService_98B2DDF9_D9FD_9297_85D3_FCF36F1D016B AS DbName FROM MT_Microsoft£SystemCenter£ResourceAccessLayer£SqlResourceStore where Name_188E1D94_94DB_6A6B_3897_D7C2F6DFDBB6 like '%ExtractionSource' Union " &_
"Select Server_48B308F9_CF0E_0F74_83E1_0AEB1B58E2FA AS ServerName, DataService_98B2DDF9_D9FD_9297_85D3_FCF36F1D016B AS DbName FROM MT_Microsoft£SystemCenter£ResourceAccessLayer£SrsResourceStore Union " &_
"Select ServerName_3AAF92F8_EBD2_2235_C8E7_8E5DCEFED671 AS ServerName, DatabaseName_DB63F7A4_5275_0BE4_8592_2091384B4C68 AS DbName From MTV_Microsoft£SystemCenter£DataWarehouse£ConfigurationManager£DataSource"
oQuery = Replace(oQuery,"£","$")
oResults = CreateObject("ADODB.Recordset")
Set oResults = cnADOConnection.Execute(oQuery)
If oResults.State <> 0 Then
Do Until oResults.EOF
Call oAPI.LogScriptEvent("Dw2012DatabaseDiscovery.VBS", 3000, 4, "Discovered SCSM DataWarehouse Server Properties.")
Set oDwDatabaseInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='SM!Microsoft.SystemCenter.ServiceManager.DwDatabase']$")
ServerName = oResults.Fields("ServerName")
DwDbName = oResults.Fields("DbName")
Call oDwDatabaseInst.AddProperty("$MPElement[Name='SM!Microsoft.SystemCenter.ServiceManager.DwDatabase']/ServerName$", ServerName)
Call oDwDatabaseInst.AddProperty("$MPElement[Name='SM!Microsoft.SystemCenter.ServiceManager.DwDatabase']/DatabaseName$", DwDbName)
Call oDwDatabaseInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
Call oDwDatabaseInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", ServerName & "\" & DwDbName)
Call oDiscoveryData.AddInstance(oDwDatabaseInst)
oResults.MoveNext
Loop
End If
If oResults.State <> 0 Then
oResults.Close
End If
cnADOConnection.Close
' Submit the discovery data to the Operations Manager database.
Call oAPI.Return(oDiscoveryData)
Call oAPI.LogScriptEvent("Dw2012DatabaseDiscovery.VBS", 3000, 4, "Finishing Data Warehouse Database Discovery.")
WScript.Quit</Script></ScriptBody>
<TimeoutSeconds>300</TimeoutSeconds>
</DataSource>
</Discovery>