适用于:SQL Server
Azure SQL 数据库
Azure SQL 托管实例
Microsoft Fabric 中的 SQL 数据库
导入 .bacpac
文件 - 在数据库引擎的新实例或 Azure SQL 数据库上创建原始数据库及其数据的副本。 导出作可以与导入作结合使用,在实例之间迁移数据库,或创建在 Azure SQL 数据库中部署的数据库的副本。 轻松导入 .bacpac
的方法包括:
- SQL Server Management Studio 中的 “导入数据层应用程序 向导”
- 在 SQL Server Management Studio 中 将数据库部署到 Microsoft Azure SQL 数据库 向导,用于在数据库引擎实例与 Azure SQL 数据库服务器之间部署数据库,或者在两个 Azure SQL 数据库服务器之间部署数据库
- SqlPackage 命令行实用工具
在您开始之前
导入过程分两个阶段生成一个新数据库。
导入使用存储在
.bacpac
导出文件中的数据库模型定义创建新数据库,就像.dacpac
部署使用存储在.dacpac
文件中的定义创建新数据库一样。导入过程将从
.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 数据库需要成为 loginmanager 或 serveradmin 角色的成员。 要将不带登录名的 .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
。
使用“导入数据层应用程序”向导
若要启动向导,请使用以下步骤:
无论是本地还是 SQL 数据库中,都连接到 SQL Server 的实例。
在 对象资源管理器中,右键单击 “数据库”,然后选择“ 导入数据层应用程序” 菜单项以启动向导。
完成向导对话框:
简介页
本页介绍数据层应用程序导入向导的步骤。
选项
不要再次显示此页面。 - 选中复选框可阻止将来显示“简介”页。
下一步 - 转到 “导入设置” 页。
取消 - 取消操作和关闭向导。
“导入设置”页
使用此页指定要导入的文件的位置 .bacpac
。
从本地磁盘导入 - 选择 “浏览...” 以导航本地计算机,或在提供的空间中指定路径。 路径名称必须包含文件名和
.bacpac
扩展名。从 Azure 导入 - 从 Microsoft Azure 容器导入
.bacpac
文件。 必须连接到 Microsoft Azure 容器才能验证此选项。 “从 Azure 导入”选项还要求为临时文件指定本地目录。 临时文件将在指定位置创建,并在作完成后保留。浏览 Azure 时,可以在单个帐户中的容器之间切换。 必须指定单个
.bacpac
文件才能继续导入操作。 可以按 “名称”、“ 大小”或“ 修改日期”对列进行排序。若要继续,请指定要
.bacpac
导入的文件,然后选择“ 打开”。
“数据库设置”页
使用此页可指定要创建的数据库的详细信息。
对于 SQL Server 的本地实例:
新数据库名称 - 提供导入的数据库的名称。
数据文件路径 - 提供数据文件的本地目录。 选择 “浏览...” 以导航本地计算机,或在提供的空间中指定路径。
日志文件路径 - 提供日志文件的本地目录。 选择 “浏览...” 以导航本地计算机,或在提供的空间中指定路径。
若要继续操作,请选择“下一步”。
对于 Azure SQL 数据库:
- 导入 BACPAC 文件以创建新的 Azure SQL 数据库 ,提供使用 Azure 门户、PowerShell、SQL Server Management Studio 或 SqlPackage 的分步说明。
- 请参阅 SQL 数据库选项和性能:了解每个服务层级中可用的内容 ,详细了解不同的服务层级。
“验证”页
使用此页面可以查看阻止操作的任何问题。 若要继续,请解决阻止问题,然后选择 “重新运行验证 ”以确保验证成功。
若要继续操作,请选择“下一步”。
摘要页
使用此页面可以查看用于操作的指定源和目标设置。 若要使用指定的设置完成导入作,请选择“ 完成”。 若要取消导入作并退出向导,请选择“ 取消”。
“进度”页
此页面显示一个进度栏,指示操作的状态。 若要查看详细状态,请选择 “查看详细信息 ”选项。
若要继续操作,请选择“下一步”。
“结果”页
此页面报告导入的成功或失败,并创建数据库操作,显示每个操作的成功或失败。 任何遇到错误的操作在 结果 列中都有一个链接。 选择该链接以查看该操作的错误报告。
选择 关闭 以关闭向导。