点击上方蓝字关注“汪宇杰博客”

我们可以使用 SSMS 导出 SQL Server 数据库的数据层应用程序。我在本地机器上使用这种方法已经有好几年了。如果不知道什么是 DAC,您可以参考 Microsoft 文档:

https://docs.microsoft.com/en-us/sql/relational-databases/data-tier-applications/data-tier-applications?view=sql-server-2017

数据层应用程序 (DAC) 是一个逻辑数据库管理实体,用于定义与用户数据库关联的所有 SQL Server 对象,如表、视图和实例对象(包括登录名)。DAC 是 SQL Server 数据库部署的一个自包含单元,它使数据层开发人员和数据库管理员能够将 SQL Server 对象打包到一个名为“DAC 包”(也称作 DACPAC)的可移植项目中。

但是,要跑在自动化环境下工作, 如 CI/CD 环境,或一些自动的计划任务。我们通常需要在命令行下完成。

微软提供了一个跨平台的命令行工具, 可以导入/导出DAC: sqlpackage.exe

它是用.NET写的,目前 Linux 和 macOS 的版本还在预览中。对于 Windows,可以在此处下载并安装:https://go.microsoft.com/fwlink/?linkid=2087429

这个工具会被安装到 C:\Program Files\Microsoft SQL Server\150\DAC\bin 下面,但是它不会自动更改PATH环境变量,因此要使用这个工具得手工切换到安装目录。

要导出数据层应用程序,需要指定3个参数:

/Action:{Extract|DeployReport|DriftReport|Publish|Script|Export|Import} Specifies the action to be performed. (short form /a)

/SourceConnectionString:<string>Specifies a valid SQL Server/Azure connection string to the source database. If this parameter is specified it shall be used exclusively of all other source parameters. (short form /scs)

/TargetFile:<string> Specifies a target file (i.e., a .dacpac files) to be used as the target of action instead of a database. If this parameter is used, no other target parameter shall be valid. This parameter
shall be invalid for actions that only support database targets. (short form /tf)

例如

SqlPackage.exe /a:export /scs:"Server=(local);Database=moonglade-dev;Trusted_Connection=True;" /tf:"D:\moonglade-dev-20190520.bacpac"

可以看到 bacpac 文件导出成功

使用命令行导出 SQL Server 数据层应用程序相关推荐

  1. mysql怎么用命令行导出sql文件_使用mysql命令行导出sql_MySQL

    bitsCN.com 使用mysql命令行导出sql 其实很简单,只需2个步骤,首先进入mysql命令行,输入:use 数据库名,其次输入:source test.sql 就可以把Test表的数据全部 ...

  2. 命令行管理sql server

    给客户发布个项目,基于sql server数据库的,布署的时候嫌安装sql server安装麻烦,而且还不是正版,开始想装个MSDE得了,后来考虑到只支持到2000,所以还是决定装个sql serve ...

  3. Mysql 命令行导出sql文件

    1. 进入Mysql 的安装目录 cd /usr/local/mysql/bin 2. 执行命令, 比如导入 wuzhi_ops 数据库里的所有表结构 mysqldump -u root -p -d ...

  4. CMD命令行连接SQL SERVER 执行查询

    第一步,读取文件内容: 读取当前文件夹下的code.txt文档 内容如下: 这里只取前三个,用","号分割 @echo off ::设置本地临时变量 并且变量延时启动开启 setl ...

  5. mysq命令行导出sql_mysql利用命令导出数据sql语句

    下面我详细介绍关于在mysql中利用mysqldump导出数据备份并使用source命令实现数据导入,有需要的朋友可参考. 命令行source 导入数据库: 代码如下 1,将要导入的.sql文件移至b ...

  6. mysql表导出和导入命令行_MySQL命令行导出导入数据库和数据表-Go语言中文社区...

    MySQL命令行导出数据库: 1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录 如我输入的命令行:cd C:Program FilesMySQLMySQL Server ...

  7. c 命令导出数据到mysql_MySQL命令行导出数据库

    MySQL命令行导出数据库: 1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录 如我输入的命令行:cd C:\Program Files\MySQL\MySQL Serv ...

  8. mysq命令行导出sql_mysql 命令行导入导出 sql

    命令行source 导入数据库: 代码如下复制代码 1,将要导入的.sql文件移至bin文件下,这样的路径比较方便 2,同上面导出的第1步 3,进入MySQL:mysql -u 用户名 -p 如我输入 ...

  9. 命令行导出数据mysql数据库_MySQL命令行导出数据库

    MySQL命令行导出数据库: 1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录 如我输入的命令行:cd C:\Program Files\MySQL\MySQL Serv ...

最新文章

  1. bfs迷宫寻路问题(一看就懂的讲解)
  2. 【嵌入式开发】用 VLC 显示 树莓派摄像头 H264 裸流
  3. SWT 下菜单与子菜单添加的实现(详细图解)
  4. php无刷新分页插件,jQuery插件jPaginate实现无刷新分页_jquery
  5. 【博弈】取石子游戏(P2599)
  6. 华为手机记事本导出_深夜浅谈怎样用一部手机做电影解说?
  7. 实验五 burpsuite重放攻击实验
  8. [bzoj1500 维修数列](NOI2005) (splay)
  9. 更改SQL数据库的繁体数据为简体
  10. Extjs ComboBox常用的配置
  11. 智慧公厕管理系统不断提升公厕管理水平
  12. mysql 检查配置_MYSQL 配置检查脚本
  13. adb 隐藏/删除 app
  14. win10 家庭版cmd命令打开超级管理员和关闭超级管理员
  15. 华硕 x570 Ryzen 9 5900X电脑 Hackintosh 黑苹果efi引导文件
  16. WPF加载SVG格式的图片
  17. 怎么把静态地图做成gif动图?一键教你快速合成gif地图
  18. 陈睿提供2009-06-19
  19. 售后的设计(退换货)
  20. Diagnostic Viewer 显示空白

热门文章

  1. 目标跟踪 facebook_如何关闭Facebook Messenger的位置跟踪(如果已启用)
  2. 美国用户现在可以下载其所有Apple帐户数据,这是操作方法
  3. 数据底座_体验当今计算机的未来:通过智能底座将您的Galaxy S4变成PC
  4. 重新学习web后端开发-001-写在前面的话
  5. SpringBoot+Shiro学习(四):Realm授权
  6. Centos7作为VNCserver,本地使用VNCViewer连接
  7. centos6,7的启动流程
  8. 两款JSON类库Jackson与JSON-lib的性能对比(新增第三款测试)
  9. 学号20145209《信息安全系统设计基础》第11周学习总结
  10. 使用chpasswd命令批量修改系统用户密码