0
내 질문 제목이 충분히 명확 해지기를 바랍니다. SQL Server Management Objects를 사용하여 동일한 서버의 모든 데이터베이스에서 동시에 업데이트 스크립트를 실행하려고합니다. 현재 실험 구현은 다음과 같습니다.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 이벤트에 문제가있을 수 있지만 해결 방법을 모르겠습니다. 대신 각 병렬 작업에 대해 별도의 Server 인스턴스를 만들어야합니까?
당신이 줄 수있는 조언을 해주시면 감사하겠습니다.
감사합니다, 다니엘