我在SQL Server数据库项目(Visual Studio 2013)上运行由"发布">"生成脚本"对话框生成的SQL脚本时遇到问题.
生成的脚本执行正常,如果在SQLCMD模式下从SQL Management Studio运行,则通常需要2-10秒.但是,如果使用SQLCMD.exe(通过CMD或批处理文件)运行,它似乎挂起并且永远不会完成.我猜测有一些额外的参数(预设?)SQL Management Studio用来执行脚本但是我无法直接使用SQLCMD.正在生成的SQL脚本通常最多只有200行.这是我正在使用的命令(在Windows Server 2012R2上以批处理文件的形式运行,以管理员身份运行):
"D:\Program Files\Microsoft SQL Server\110\Tools\Binn\SQLCMD.exe" -S SQLSERVER1 -i "D:\Database\MyDatabase.publish.sql"
Run Code Online (Sandbox Code Playgroud)
我没有看到任何错误,但SQLCMD从未退出,促使我不得不杀死这个过程.下面是"发布"对话框创建的脚本类型的示例:
/*
Deployment script for MyDatabase
This code was generated by a tool.
Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated.
*/
GO
SET ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS, ARITHABORT, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER ON;
SET NUMERIC_ROUNDABORT OFF;
GO
:setvar DatabaseName "MyDatabase"
:setvar DefaultFilePrefix "MyDatabase"
:setvar DefaultDataPath "D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\"
:setvar DefaultLogPath "D:\Program Files\Microsoft SQL …Run Code Online (Sandbox Code Playgroud)