部署数据层应用程序

数据层应用程序 (DAC) 定义支持某一应用程序所需的所有 SQL Server 数据库引擎架构和实例对象(例如表、视图和登录名)。DAC 内置于 DAC 包中,DAC 包是一个 XML 文件,包含用于定义应用程序使用的所有 数据库引擎 对象的清单并且用于部署 DAC。DAC 通过为部署和管理提供单个单元,简化了数据层对象的管理。

部署 DAC 包

要部署 DAC,您必须生成一个 DAC 包文件。该 DAC 包是用于 DAC 的部署机制,同样,应用程序可执行文件是用于应用程序可执行程序的部署机制。有关生成 DAC 包文件的详细信息,请参阅实现数据层应用程序

安全说明安全说明

建议您不要从未知或不可信源部署 DAC 包。此类 DAC 可能包含恶意代码,这些代码可能会执行非预期的 Transact-SQL 代码,或者通过修改架构导致错误。在使用来自未知或不可信源的 DAC 之前,请解压缩该 DAC 并检查代码,例如存储过程或者其他用户定义的代码。有关如何查看 DAC 的内容的详细信息,请参阅如何验证 DAC 包

可以将 DAC 部署到运行 SQL Server 2005 Service Pack 4 或更高版本或 SQL Azure 的数据库引擎实例。DAC 操作要求使用 SQL Server 2008 R2 中的客户端工具,并且可能还要求 DAC Framework 1.1。有关详细信息,请参阅对 SQL Server 对象和版本的 DAC 支持

在部署 DAC 包时,“部署数据层应用程序向导”执行以下主要操作:

  • 请求部署时属性,例如将在其中部署 DAC 的数据库引擎或 SQL Azure 实例的名称。

  • 针对该实例评估 DAC 位置策略(如果已定义),并且报告评估是成功还是失败。如果未满足一个或多个策略条件,您可以决定选择另一个实例、重新配置指定的实例或者忽略评估结果(如果您认为结果不重要)。在部署到 SQL Azure 的实例时,不适用于 SQL Azure 的策略情况(例如操作系统版本)的计算结果始终为 false。

  • 创建一个数据库以及在该 DAC 中定义的所有对象。使用数据库引擎实例属性(例如恢复模型)的默认值创建该数据库。该数据库包含具有以下属性的一个数据文件和一个日志文件:

    • 在部署中指定的文件位置。在部署到 SQL Azure 时无法指定文件位置。

    • 数据文件大小为 3 MB,并且以 1 MB 为增量且没有大小限制。

    • 日志文件大小为 1 MB,并且以 10% 为增量且具有 2 TB 的大小限制。

在 SQL Server Management Studio 中,您可以通过导航到**“对象资源管理器”中某一服务器下的“管理”节点,右键单击“数据层应用程序”节点,然后选择“部署数据层应用程序…”**,启动“部署数据层应用程序向导”。

在部署后,像管理任何其他数据库一样管理该数据库。数据库的配置是使用一般机制(例如 ALTER DATABASE Transact-SQL 语句)、Management Studio 中的数据库管理对话框或使用 SQL Server PowerShell 提供程序中的 SQL Server 管理对象完成的。部署过程中应包括用来在部署 DAC 后就执行常见配置更改的步骤,例如:

  • 创建文件和文件组,或者更改文件的大小。

  • 建立并测试备份和还原过程。

  • 设置数据库选项。

有关详细信息,请参阅修改数据库

升级已部署的 DAC

在部署到某一 DAC 的第一个版本后,开发团队可以开发应用程序和该 DAC 的新版本。有关将已部署的 DAC 升级到新版本的详细信息,请参阅升级数据层应用程序

登录密码

为了提高安全性,SQL Server 身份验证登录名存储在 DAC 包中且没有任何密码。在部署或升级该包时,登录名将作为含有生成的密码的已禁用登录名创建。若要启用这些登录名,请使用具有 ALTER ANY LOGIN 权限的登录名登录,并且使用 ALTER LOGIN 来启用该登录名并且分配可以传达给用户的新密码。对于 Windows 身份验证登录名则无需执行此操作,因为其密码不是由 SQL Server 管理的。