导入 BACPAC 文件以创建新数据库

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Microsoft Fabric 中的 SQL 数据库

导入 .bacpac 文件 - 在数据库引擎的新实例或 Azure SQL 数据库上创建原始数据库及其数据的副本。 导出作可以与导入作结合使用,在实例之间迁移数据库,或创建在 Azure SQL 数据库中部署的数据库的副本。 轻松导入 .bacpac 的方法包括:

  1. SQL Server Management Studio 中的 “导入数据层应用程序 向导”
  2. 在 SQL Server Management Studio 中 将数据库部署到 Microsoft Azure SQL 数据库 向导,用于在数据库引擎实例与 Azure SQL 数据库服务器之间部署数据库,或者在两个 Azure SQL 数据库服务器之间部署数据库
  3. SqlPackage 命令行实用工具

在您开始之前

导入过程分两个阶段生成一个新数据库。

  1. 导入使用存储在.bacpac导出文件中的数据库模型定义创建新数据库,就像.dacpac部署使用存储在.dacpac文件中的定义创建新数据库一样。

  2. 导入过程将从 .bacpac 导出文件中大容量复制数据。

数据库选项和设置

默认情况下,导入期间创建的数据库具有 CREATE DATABASE 语句中的所有默认设置,但数据库排序规则和兼容性级别设置为导出文件中定义的 .bacpac 值。 .bacpac导出文件使用原始数据库中的值。

某些数据库选项(如 TRUSTWORTHY、DB_CHAINING和HONOR_BROKER_PRIORITY)无法作为导入过程的一部分进行调整。 物理属性(如文件组数)或文件的数量和大小无法在导入过程中更改。 导入完成后,可以使用 ALTER DATABASE 语句、SQL Server Management Studio 或 SQL Server PowerShell 定制数据库。 有关详细信息,请参阅 “数据库”。

安全

为了提高安全性,SQL Server 身份验证登录名存储在 .bacpac 没有密码的导出文件中。 导入文件时,登录名会被创建为禁用状态,并生成一个密码。 若要启用登录功能,请使用 ALTER ANY LOGIN 权限登录,然后使用 ALTER LOGIN 启用登录并分配新密码。 Windows 身份验证登录不需要此额外步骤,因为它们的密码不受 SQL Server 管理。

权限

.bacpac 只能由 sysadmin 或 serveradmin 固定服务器角色的成员导入,或者由具有 dbcreator 固定服务器角色且具有 ALTER ANY LOGIN 权限的登录名导入。 名为sa的内置 SQL Server 系统管理员帐户也可以导入.bacpac。 导入带有登录信息的 .bacpac 到 SQL 数据库需要成为 loginmanagerserveradmin 角色的成员。 要将不带登录名的 .bacpac 导入 SQL 数据库,需要 dbmanager 或 serveradmin 角色的成员身份。

在 SQL Server Management Studio 中 将数据库部署到Microsoft Azure SQL 数据库 向导需要更多权限才能导出源数据库。 登录至少需要 ALTER ANY LOGIN 和数据库范围的 VIEW DEFINITION 权限,还需要对 sys.sql_expression_dependencies 具有 SELECT 权限。 securityadmin 固定服务器角色的成员(同时也是 database_owner 固定数据库角色的成员)可以导出 .bacpac sysadmin 固定服务器角色的成员或名为 sa 的内置 SQL Server 系统管理员帐户也可以导出 .bacpac

使用“导入数据层应用程序”向导

若要启动向导,请使用以下步骤:

  1. 无论是本地还是 SQL 数据库中,都连接到 SQL Server 的实例。

  2. 对象资源管理器中,右键单击 “数据库”,然后选择“ 导入数据层应用程序” 菜单项以启动向导。

  3. 完成向导对话框:

简介页

本页介绍数据层应用程序导入向导的步骤。

选项

  • 不要再次显示此页面。 - 选中复选框可阻止将来显示“简介”页。

  • 下一步 - 转到 “导入设置” 页。

  • 取消 - 取消操作和关闭向导。

“导入设置”页

使用此页指定要导入的文件的位置 .bacpac

  • 从本地磁盘导入 - 选择 “浏览...” 以导航本地计算机,或在提供的空间中指定路径。 路径名称必须包含文件名和 .bacpac 扩展名。

  • 从 Azure 导入 - 从 Microsoft Azure 容器导入 .bacpac 文件。 必须连接到 Microsoft Azure 容器才能验证此选项。 “从 Azure 导入”选项还要求为临时文件指定本地目录。 临时文件将在指定位置创建,并在作完成后保留。

    浏览 Azure 时,可以在单个帐户中的容器之间切换。 必须指定单个 .bacpac 文件才能继续导入操作。 可以按 “名称”、“ 大小”或“ 修改日期”对列进行排序。

    若要继续,请指定要 .bacpac 导入的文件,然后选择“ 打开”。

“数据库设置”页

使用此页可指定要创建的数据库的详细信息。

对于 SQL Server 的本地实例:

  • 新数据库名称 - 提供导入的数据库的名称。

  • 数据文件路径 - 提供数据文件的本地目录。 选择 “浏览...” 以导航本地计算机,或在提供的空间中指定路径。

  • 日志文件路径 - 提供日志文件的本地目录。 选择 “浏览...” 以导航本地计算机,或在提供的空间中指定路径。

若要继续操作,请选择“下一步”。

对于 Azure SQL 数据库:

“验证”页

使用此页面可以查看阻止操作的任何问题。 若要继续,请解决阻止问题,然后选择 “重新运行验证 ”以确保验证成功。

若要继续操作,请选择“下一步”。

摘要页

使用此页面可以查看用于操作的指定源和目标设置。 若要使用指定的设置完成导入作,请选择“ 完成”。 若要取消导入作并退出向导,请选择“ 取消”。

“进度”页

此页面显示一个进度栏,指示操作的状态。 若要查看详细状态,请选择 “查看详细信息 ”选项。

若要继续操作,请选择“下一步”。

“结果”页

此页面报告导入的成功或失败,并创建数据库操作,显示每个操作的成功或失败。 任何遇到错误的操作在 结果 列中都有一个链接。 选择该链接以查看该操作的错误报告。

选择 关闭 以关闭向导。