Простой способ развертывания скрипта. sql в нескольких базах данных на одном экземпляре. - PullRequest
0 голосов
/ 30 марта 2020

У меня есть файл dbscript.sql, который я хотел бы запустить примерно с 30 базами данных, расположенными на именованном SQL экземпляре сервера. Скрипт довольно длинный (более 1000 строк) и содержит множество цитат, которые нужно изменить, чтобы приспособить их к MS_ForEachDB. Я пробовал массовый апостроф ctrl-h replace-all, но это только привело к другим ошибочным ошибкам.

Я начал использовать dbatools и powershell для выполнения sh этой задачи, но я интересно, есть ли более простой прием, чтобы этот скрипт применялся сразу к нескольким базам данных.

1 Ответ

2 голосов
/ 31 марта 2020

Dbatools - хороший вариант, так как вы можете использовать конвейер для передачи его в команду Invoke-DbaQuery. Примером может быть:

Get-DbaDatabase -SqlInstance "server1", "server1\nordwind", "server2" | Invoke-DbaQuery -File "C:\scripts\sql\rebuild.sql"
...