1,sqlserver解决方案 ssdt:sqlserver data tools
好处:每次发布的脚本是动态生成的,可以多次发布,即使中间出错,下次也会从新的开始
2,发布-高级可以设置选项
表-属性: 生成操作. 无指不参与生成,也不会部署
3,添加-脚本
后期部署脚本,指在生成脚本后执行
预先部署脚本,指在生成脚本前执行
4,已有数据库,生成源码操作
右键sqlserver项目,导入-数据库
5,真正发布时,会用脚本来执行,命令行执行sqlpackage
可以点生成,资源管理器打开,在bin下有一个dac文件,可用sqlpackage.exe来调用这个文件来部署
这种部署是最佳实践,因为可以部署到多台服务器上,并且可以版本控制,可对checkin的脚本进行发布
redgate是用事务的,会锁住对象,并且不能插入脚本
在项目中生成文件后,将dac文件copy出来,用sqlpackage.exe发布,在进行发布时会自动比较生成脚本
如:
@echo off
set sqlpackage=”C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\SqlPackage.exe”
%sqlpackage% /Action:Publish /SourceFile:E:\mydb\bin\Debug\BRM.sqlproj.dacpac /Profile:E:\Db.publish.xml
6,调用脚本
:r .\Script.sql
script.sql是用添加-脚本-不在内部版本中类型的脚本
7,对于有复制分发的数据库,可以在发布-高级里面指定不更改复制对象
做法是:在其中一台db中指定更改复制对象,其他DB不更改
【版权声明】
本站部分内容来源于互联网,本站不拥有所有权,不承担相关法律责任。如果发现本站有侵权的内容,欢迎发送邮件至masing@13sy.com 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。