Wer in die Verlegenheit kommt, die Master Data Services (MDS) des SQL Server 2008 R2 zu installieren, könnte auf ein merkwürdiges Verhalten des Installations-Assistenten stoßen. Das Symptom des Fehlers erscheint in zweierlei Ausführung:
– Beim Anlegen einer neuen MDS-Datenbank kann man den Konfigurationsdialog zwar bis zum Ende durchklicken, allerdings scheitert der Installationsvorgang an einer ellenlangen, wenig aussagekräftigen .NET-Fehlermeldung, deren genaue Ausprägung ich aus Gründen der Übersichtlichkeit am Ende dieses Beitrages nachreichen werde
– Beim Einbinden einer vorhandenen MDS-Datenbank bleibt man beim Auswahl-Dialog der Datenbank auf halber Strecke stecken, da die Auswahlbox deaktiviert bleibt (siehe Screenshot)
Nach etwas Recherche habe ich den Grund gefunden: Offensichtlich darf es in der SQL Server Instanz keine Datenbanken geben, die sich im Offline-Modus befinden. Ist das der Fall, scheitern sämtliche Installationsversuche der Master Data Services.
Abschließend noch mein (nicht ganz überraschender) Lösungsvorschlag: entweder man schaltet betroffende Datenbank vorübergehend in den Online-Modus oder, wenn dies nicht möglich ist, man hängt sie vorübergehend ganz aus der Instanz aus.
Ob sich das Problem auch im SQL Server 2012 ergibt, konnte ich bisher nicht Erfahrung bringen.
Und hier wie versprochen noch die Fehlermeldung:
Microsoft.MasterDataServices.Configuration.ConfigurationException: Data is Null. This method or property cannot be called on Null values. —> System.Data.SqlTypes.SqlNullValueException: Data is Null. This method or property cannot be called on Null values.
at System.Data.SqlClient.SqlBuffer.get_String()
at Microsoft.MasterDataServices.Configuration.DatabaseUtilities.GetDatabases(DatabaseServerInformation server)
at Microsoft.MasterDataServices.Configuration.Commands.NewMasterDataServicesDatabase.InternalProcessRecord()
at Microsoft.MasterDataServices.Configuration.Commands.ConfigurationCmdlet.ProcessRecord()
at System.Management.Automation.CommandProcessor.ProcessRecord()
— End of inner exception stack trace —
at Microsoft.MasterDataServices.Configuration.InstanceManager.Execute(Command command)
at Microsoft.MasterDataServices.Configuration.InstanceManager.CreateMasterDataServicesDatabase(DatabaseServerInformation serverInformation, DatabaseInformation databaseInformation)
at Microsoft.MasterDataServices.Configuration.UI.MdsDatabase.CreateNewDatabase()