我试图通过查询生成脚本,因为我想轻松创建相同的设置。我检查了MSdoc,但是没有方法。
我在WindowsServer2012 R2 Standard上使用SSMS v17.6,SQLServer2016(SP2)。
通过GUI,数据库右键单击=>任务=>生成脚本=>选择数据库对象并设置一些设置。 我想通过查询生成。
答案 0 :(得分:0)
您可以按照以下步骤自动创建数据库。
在计划进行部署的环境中安装SQLPackage.exe。您可以下载sqlpackage.exe download path。它将用于自动从DACPAC生成脚本。
一旦有了数据库的DACPAC,就可以将其发布到任何环境。需要注意的是,Sqlpackage.exe会生成增量脚本,并与目标数据库进行比较。如果要完整的CREATE脚本,则可以指向任何空数据库或系统数据库(如master)来生成增量CREATE脚本(此处将是完整的数据库脚本,因为目标是空数据库)。生成的脚本将出现在输出路径中(此处为C:\ temp)
注意:我们正在设置参数(将DropObjectsNotInSource设置为false),以避免生成目标数据库的放置对象,即 在源DACPAC中丢失。
"<Path>\SqlPackage.exe"
/Action:script
/SourceFile:“<Path>\Database.dacpac”
/TargetDatabaseName:master
/TargetServerName:"localhost"
/OutputPath:C:\temp
/p:DropObjectsNotInSource:false
更新
我看到,现在有一个工具mssql-scripter(当前处于预览状态)可以执行SQL Server Management Studio的“生成脚本”向导的相同活动。您可以在这里查看有关该工具的信息:https://github.com/Microsoft/mssql-scripter