导入数据层应用(DAC)文件(.bacpac 文件)以在数据库引擎的新实例上或在 Azure SQL 数据库中创建原始数据库的副本,并包含数据。 导出导入作可以组合在一起,在实例之间迁移 DAC 或数据库,或者创建逻辑备份,例如创建 SQL 数据库中部署的数据库的本地副本。
在您开始之前
导入过程分两个阶段生成新的 DAC。
导入使用存储在导出文件中的 DAC 定义创建新的 DAC 和关联数据库,与 DAC 部署从 DAC 包文件中的定义创建新 DAC 的方式相同。
导入批量复本中的数据从导出文件。
SQL Server 实用工具
如果将 DAC 导入数据库引擎的托管实例,则下次将实用工具收集集从实例发送到实用工具控制点时,导入的 DAC 将合并到 SQL Server 实用工具中。 然后,该 DAC 将出现在 Management Studio 实用工具资源管理器的“已部署的数据层应用程序”节点下,并且在“已部署的数据层应用程序”详细信息页中报告。
数据库选项和设置
默认情况下,导入期间创建的数据库将具有 CREATE DATABASE 语句中的所有默认设置,但数据库排序规则和兼容性级别设置为 DAC 导出文件中定义的值。 DAC 导出文件使用原始数据库中的值。
某些数据库选项(如 TRUSTWORTHY、DB_CHAINING和HONOR_BROKER_PRIORITY)无法作为导入过程的一部分进行调整。 物理属性,例如文件组数,或者不能在导入过程中更改文件的数量和大小。 导入完成后,可以使用 ALTER DATABASE 语句、SQL Server Management Studio 或 SQL Server PowerShell 定制数据库。 有关详细信息,请参阅 “数据库”。
局限性与限制
DAC 可以导入到 SQL 数据库,也可以导入运行 SQL Server 2005 Service Pack 4(SP4)或更高版本的数据库引擎实例。 如果从更高版本导出 DAC,则 DAC 可能包含 SQL Server 2005 不支持的对象。 无法将这些 DAC 部署到 SQL Server 2005 实例。
先决条件
建议不要从未知或不受信任的源导入 DAC 导出文件。 此类文件可能包含恶意代码,可能会执行未预料的 Transact-SQL 代码,或者通过修改模式导致错误。 在使用来自未知或不受信任的源的导出文件之前,请解压缩 DAC 并检查代码,例如存储过程和其他用户定义的代码。 有关如何执行这些检查的详细信息,请参阅 Validate a DAC Package。
安全
为了提高安全性,SQL Server 身份验证登录名存储在没有密码的 DAC 导出文件中。 导入文件时,登录名会被创建为禁用状态,并生成一个密码。 若要启用这些登录名,请使用具有 ALTER ANY LOGIN 权限的登录名登录,并且使用 ALTER LOGIN 来启用该登录名并且分配可以传达给用户的新密码。 对于 Windows 身份验证登录名则无需执行此操作,因为其密码不是由 SQL Server 管理的。
权限
DAC 只能由 sysadmin 或 serveradmin 固定服务器角色的成员,或具有 dbcreator 固定服务器角色和 ALTER ANY LOGIN 权限的登录名导入。 名为 sa 的内置 SQL Server 系统管理员帐户也可以导入 DAC。 要将具有登录名的 DAC 导入 SQL 数据库,需要具有 loginmanager 或 serveradmin 角色的成员身份。 要将不具有登录名的 DAC 导入 SQL 数据库,需要具有 dbmanager 或 serveradmin 角色的成员身份。
使用导入数据层应用程序向导
若要启动向导,请使用以下步骤:
连接到 SQL Server 实例,无论是在本地环境中还是在 SQL 数据库中。
在 对象资源管理器中,右键单击 “数据库”,然后选择“ 导入数据层应用程序” 菜单项以启动向导。
完成向导对话框:
简介页
本页介绍数据层应用程序导入向导的步骤。
选项
不要再次显示此页面。 - 单击该复选框可阻止将来显示“简介”页。
下一步 - 转到 “导入设置” 页。
取消 - 取消操作和关闭向导。
“导入设置”页
使用此页可指定要导入的 .bacpac 文件的位置。
从本地磁盘导入 - 单击 “浏览...” 以导航本地计算机,或在提供的空间中指定路径。 路径名称必须包含文件名和 .bacpac 扩展名。
从 Azure 导入 - 从 Azure 容器导入 BACPAC 文件。 必须连接到 Azure 容器才能验证此选项。 请注意,此选项还要求为临时文件指定本地目录。 临时文件将在指定位置创建,并在作完成后保留。
浏览 Azure 时,可以在单个帐户中的容器之间切换。 必须指定单个 .bacpac 文件才能继续导入操作。 请注意,可以按 “名称”、“ 大小”或“ 日期修改”对列进行排序。
若要继续,请指定要导入的 .bacpac 文件,然后单击“ 打开”。
“数据库设置”页
使用此页可指定要创建的数据库的详细信息。
对于 SQL Server 的本地实例:
新数据库名称 - 提供导入的数据库的名称。
数据文件路径 - 提供数据文件的本地目录。 单击“ 浏览...” 以导航本地计算机,或在提供的空间中指定路径。
日志文件路径 - 提供日志文件的本地目录。 单击“ 浏览...” 以导航本地计算机,或在提供的空间中指定路径。
若要继续,请单击“Next”。
对于 SQL 数据库:
新数据库名称 - 提供导入的数据库的名称。
SQL 数据库版本 - 指定 SQL 数据库商业版或 SQL 数据库 Web 版。 有关 SQL 数据库版本的详细信息,请参阅此 SQL 数据库 网站。
最大数据库大小 (GB) - 使用下拉菜单指定数据库的最大大小。
若要继续,请单击“Next”。
“验证”页
使用此页面可以查看阻止操作的任何问题。 若要继续,请解决阻止问题,然后单击 “重新运行验证 ”以确保验证成功。
若要继续,请单击“Next”。
摘要页
使用此页面可以查看用于操作的指定源和目标设置。 若要使用指定的设置完成导入作,请单击“ 完成”。 若要取消导入作并退出向导,请单击“ 取消”。
“进度”页
此页面显示一个进度栏,指示操作的状态。 若要查看详细状态,请单击“ 查看详细信息 ”选项。
若要继续,请单击“Next”。
“结果”页
此页报告导入或创建数据库操作的成功或失败,其中显示了每个操作的成功或失败。 遇到了错误的任何操作都将在 “结果” 列中具有一个链接。 单击链接以查看该操作的错误报告。
单击“ 关闭 ”关闭向导。