0
我希望我的问题标题足够清晰。我正在尝试的是使用SQL Server管理对象在同一服务器上的所有数据库上同时执行更新脚本。我目前的实验实现是这样的:使用SMO和任务并行库同时在同一服务器上的数据库上执行脚本?
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); });
我什至不知道这是可能的使用SMO,但是这基本上是我想做的事情。我可以看到ConnectionContext.InfoMessage事件可能会有问题,但我不知道如何解决。我应该为每个并行任务创建一个单独的服务器实例吗?
我会很感激你可以给任何意见。
谢谢,丹尼尔