Ich hoffe, mein Fragetitel ist klar genug. Was ich versuche, ist, gleichzeitig Update-Skripte auf allen Datenbanken auf dem gleichen Server mit SQL Server Management Objects auszuführen. Meine aktuelle Experiment Implementierung ist wie folgt:Skripte für Datenbanken auf demselben Server gleichzeitig mit SMO und Task Parallel Library ausführen?
var server = new Server(new ServerConnection(new SqlConnection(connString)));
server.ConnectionContext.InfoMessage += new SqlInfoMessageEventHandler(DBOutputReceived);
var databases = server.Databases.Cast<Database>().ToList();
Parallel.ForEach(databases, db => { db.ExecuteNonQuery(script); });
Ich bin nicht einmal sicher, dass dies möglich ist, SMO verwenden, aber das ist im Grunde, was ich tun möchte. Ich kann sehen, dass das ConnectionContext.InfoMessage-Ereignis wahrscheinlich Probleme hat, aber ich bin mir nicht sicher, wie zu beheben ist. Soll ich stattdessen eine separate Server-Instanz für jede parallele Aufgabe erstellen?
Ich würde mich über jeden möglichen Rat freuen, den Sie geben können.
Danke, Daniel