0

我有 100 多个 .sql 文件要在 sql server 2008 R2 上执行。但我不想手动执行。所以,我搜索了可能的解决方案,发现我可以使用 powershell 来执行这些脚本,但我以前从未使用过 powershell。我发现下面提到的命令-

Get-ChildItem ".\Stored Procedures\*.sql" | ForEach-Object { sqlcmd -S ServerName -d DatabaseName -E -i $_.FullName }

我用我的参数替换了它-

Get-ChildItem "C:\tables\*.sql" | ForEach-Object { sqlcmd -S 10.50.102.124 -d falhpdv1stage -E -i $_.FullName }

执行此命令后,我刷新了我的数据库,但我无法看到新执行的表?我错过了什么吗?

4

1 回答 1

0

假设您在运行脚本的计算机上安装了 Management Studio:

add-pssnapin SqlServerCmdletSnapin100;
Get-ChildItem "C:\tables\*.sql" | ForEach-Object { invoke-sqlcmd -serverinstance 10.50.102.124 -database falhpdv1stage  -inputfile $_.FullName }

这也假设其他一切都是正确的——正确编写的查询、对数据库的适当权限、正确的服务器 IP 和数据库名称等。

于 2013-02-04T17:09:05.137 回答