使用命令行导出 SQL Server 数据层应用程序
点击上方蓝字关注“汪宇杰博客”
我们可以使用 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 数据层应用程序相关推荐
- mysql怎么用命令行导出sql文件_使用mysql命令行导出sql_MySQL
bitsCN.com 使用mysql命令行导出sql 其实很简单,只需2个步骤,首先进入mysql命令行,输入:use 数据库名,其次输入:source test.sql 就可以把Test表的数据全部 ...
- 命令行管理sql server
给客户发布个项目,基于sql server数据库的,布署的时候嫌安装sql server安装麻烦,而且还不是正版,开始想装个MSDE得了,后来考虑到只支持到2000,所以还是决定装个sql serve ...
- Mysql 命令行导出sql文件
1. 进入Mysql 的安装目录 cd /usr/local/mysql/bin 2. 执行命令, 比如导入 wuzhi_ops 数据库里的所有表结构 mysqldump -u root -p -d ...
- CMD命令行连接SQL SERVER 执行查询
第一步,读取文件内容: 读取当前文件夹下的code.txt文档 内容如下: 这里只取前三个,用","号分割 @echo off ::设置本地临时变量 并且变量延时启动开启 setl ...
- mysq命令行导出sql_mysql利用命令导出数据sql语句
下面我详细介绍关于在mysql中利用mysqldump导出数据备份并使用source命令实现数据导入,有需要的朋友可参考. 命令行source 导入数据库: 代码如下 1,将要导入的.sql文件移至b ...
- mysql表导出和导入命令行_MySQL命令行导出导入数据库和数据表-Go语言中文社区...
MySQL命令行导出数据库: 1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录 如我输入的命令行:cd C:Program FilesMySQLMySQL Server ...
- c 命令导出数据到mysql_MySQL命令行导出数据库
MySQL命令行导出数据库: 1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录 如我输入的命令行:cd C:\Program Files\MySQL\MySQL Serv ...
- mysq命令行导出sql_mysql 命令行导入导出 sql
命令行source 导入数据库: 代码如下复制代码 1,将要导入的.sql文件移至bin文件下,这样的路径比较方便 2,同上面导出的第1步 3,进入MySQL:mysql -u 用户名 -p 如我输入 ...
- 命令行导出数据mysql数据库_MySQL命令行导出数据库
MySQL命令行导出数据库: 1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录 如我输入的命令行:cd C:\Program Files\MySQL\MySQL Serv ...
最新文章
- bfs迷宫寻路问题(一看就懂的讲解)
- 【嵌入式开发】用 VLC 显示 树莓派摄像头 H264 裸流
- SWT 下菜单与子菜单添加的实现(详细图解)
- php无刷新分页插件,jQuery插件jPaginate实现无刷新分页_jquery
- 【博弈】取石子游戏(P2599)
- 华为手机记事本导出_深夜浅谈怎样用一部手机做电影解说?
- 实验五 burpsuite重放攻击实验
- [bzoj1500 维修数列](NOI2005) (splay)
- 更改SQL数据库的繁体数据为简体
- Extjs ComboBox常用的配置
- 智慧公厕管理系统不断提升公厕管理水平
- mysql 检查配置_MYSQL 配置检查脚本
- adb 隐藏/删除 app
- win10 家庭版cmd命令打开超级管理员和关闭超级管理员
- 华硕 x570 Ryzen 9 5900X电脑 Hackintosh 黑苹果efi引导文件
- WPF加载SVG格式的图片
- 怎么把静态地图做成gif动图?一键教你快速合成gif地图
- 陈睿提供2009-06-19
- 售后的设计(退换货)
- Diagnostic Viewer 显示空白
热门文章
- 目标跟踪 facebook_如何关闭Facebook Messenger的位置跟踪(如果已启用)
- 美国用户现在可以下载其所有Apple帐户数据,这是操作方法
- 数据底座_体验当今计算机的未来:通过智能底座将您的Galaxy S4变成PC
- 重新学习web后端开发-001-写在前面的话
- SpringBoot+Shiro学习(四):Realm授权
- Centos7作为VNCserver,本地使用VNCViewer连接
- centos6,7的启动流程
- 两款JSON类库Jackson与JSON-lib的性能对比(新增第三款测试)
- 学号20145209《信息安全系统设计基础》第11周学习总结
- 使用chpasswd命令批量修改系统用户密码