0

我有一个dbscript.sql文件,我想针对位于命名 SQL Server 实例上的大约 30 个数据库运行该文件。该脚本相当长(超过 1000 行),并且包含许多引号以适应使用 MS_ForEachDB 进行更改。我曾尝试过大量 ctrl-h replace-all 撇号,但最终却产生了其他错误错误。

我已经开始使用 dbatools 和 powershell 来完成这项任务,但我想知道是否有更简单的技巧可以一次将此脚本应用于多个数据库。

4

1 回答 1

3

Dbatools 是一个不错的选择,因为您可以使用管道将其传递给 Invoke-DbaQuery 命令。一个例子是:

Get-DbaDatabase -SqlInstance "server1", "server1\nordwind", "server2" | Invoke-DbaQuery -File "C:\scripts\sql\rebuild.sql"
于 2020-03-30T23:24:33.173 回答