sqlpackage.exe: 有什么方法可以在导出时忽略用户?
sqlpackage.exe: any way to ignore users on export?
我正在尝试创建一个 bacpac 文件以将我的数据库导出到 azure。
无论如何让它在创建导出包时忽略用户(sqlpackage /a:Export
)?
不,很遗憾,导出时没有忽略用户的选项。
或者,您可以生成一个包含数据的 dacpac 文件 (sqlpackage /a:extract /p:ExtractAllTableData=true) 并在发布时忽略用户...但这只适用于原始数据库,因为dacpacs 跳过了大多数 Azure 导入细节(例如首先发布存储过程以利用延迟名称解析)。
我猜您想忽略用户,因为您的数据库包含一些映射到 Windows 登录名的用户,并且您希望避免生成仅包含 Azure SQL 数据库兼容对象。如果是这样,您可能有兴趣尝试 Azure SQL 数据库迁移服务的私有预览:https://blogs.technet.microsoft.com/dataplatforminsider/2017/04/25/get-to-cloud-faster-with-a-new-database-migration-service-private-preview/
此功能旨在支持将数据库迁移到 Azure 的过程。因此,推理是它只支持 Azure 支持的数据库工件。
Windows 不允许使用用户、文件组和一些提示(不带 WITH 的 nolock)。
一个对我有用的工作流程可以概述如下。
导出数据库的数据库应用程序项目(dacpac 文件)。
将相同的内容导入 Visual Studio(至少 2013 版)。
将目标平台更改为 Azure SQL 数据库(我不确定 V12 附件)
修复所有错误和警告。
可选择考虑编写脚本来删除此时可以删除的任何数据。您可能还想为迭代测试生成一个非常小的版本。
将数据库的备份(从一个好的老式 BAK 文件)恢复到不同的位置。
将您的 Azure-corrected 项目的 dacpac 发布到恢复的数据库中。
从中生成一个 Bacpac。
拥有 bacpac 文件后,您应该能够将其提升到云端
显然这将是一个迭代学习过程,一些步骤需要多次尝试才能正确。
我正在尝试创建一个 bacpac 文件以将我的数据库导出到 azure。
无论如何让它在创建导出包时忽略用户(sqlpackage /a:Export
)?
不,很遗憾,导出时没有忽略用户的选项。
或者,您可以生成一个包含数据的 dacpac 文件 (sqlpackage /a:extract /p:ExtractAllTableData=true) 并在发布时忽略用户...但这只适用于原始数据库,因为dacpacs 跳过了大多数 Azure 导入细节(例如首先发布存储过程以利用延迟名称解析)。
我猜您想忽略用户,因为您的数据库包含一些映射到 Windows 登录名的用户,并且您希望避免生成仅包含 Azure SQL 数据库兼容对象。如果是这样,您可能有兴趣尝试 Azure SQL 数据库迁移服务的私有预览:https://blogs.technet.microsoft.com/dataplatforminsider/2017/04/25/get-to-cloud-faster-with-a-new-database-migration-service-private-preview/
此功能旨在支持将数据库迁移到 Azure 的过程。因此,推理是它只支持 Azure 支持的数据库工件。 Windows 不允许使用用户、文件组和一些提示(不带 WITH 的 nolock)。
一个对我有用的工作流程可以概述如下。
导出数据库的数据库应用程序项目(dacpac 文件)。
将相同的内容导入 Visual Studio(至少 2013 版)。
将目标平台更改为 Azure SQL 数据库(我不确定 V12 附件)
修复所有错误和警告。
可选择考虑编写脚本来删除此时可以删除的任何数据。您可能还想为迭代测试生成一个非常小的版本。
将数据库的备份(从一个好的老式 BAK 文件)恢复到不同的位置。
将您的 Azure-corrected 项目的 dacpac 发布到恢复的数据库中。
从中生成一个 Bacpac。
拥有 bacpac 文件后,您应该能够将其提升到云端
显然这将是一个迭代学习过程,一些步骤需要多次尝试才能正确。