我正在尝试使用MSBuild创建批处理文件,这将帮助我完成表和存储过程创建的数据库任务。创建它们之后,等待约60秒,并删除创建的表和存储过程。时间在这里是变化的。
以下是我到目前为止编写的代码。我无法从批处理文件中删除创建的表和存储过程。
批处理文件:
@echo off
msbuild /t:Build;Publish /p:SqlPublishProfilePath=<<file_name>>
echo Please wait ~60 seconds
Timeout /t 60 /nobreak
echo Dropping tables and the Stored Procedures
浏览网页后。我能够获得Database drop命令,但这不是我想要完成的。
非常感谢任何帮助/提示。谢谢。
答案 0 :(得分:0)
使用SqlPackage.exe执行以下操作(C:\ Program Files(x86)\ Microsoft SQL Server \ 110 \ DAC \ bin。)
创建目标数据库的快照
sqlpackage / Action:Extract / SourceDatabaseName:“MyDatabase”/ SourceServerName:localhost /TargetFile:"C:\SomeDirectory\Before.dacpac“
构建解决方案以创建Dacpac
msbuild ..你的sln文件
使用结果步骤2执行发布
sqlpackage / Action:Publish /SourceFile:"C:\SomeDirectory\NewSchema.dacpac“/ TargetDatabaseName:TestACM / TargetServerName:
在第一步中使用制作的快照回滚重新发布 sqlpackage / Action:发布/SourceFile:"C:\SomeDirectory\Before.dacpac“/ TargetDatabaseName:TestACM / TargetServerName: