在数据层应用程序项目和数据库项目之间转换

在创建数据层应用程序 (DAC) 项目或数据库项目后,您可能希望在这两种项目类型之间相互转换。 例如,如果您开始时处理 DAC 项目,但随后需要使用此 DAC 项目中不支持的语言构造,则您可能希望更改项目类型。

提示

有关更多信息,请参见 Microsoft 网站上的以下页面:数据层应用程序中支持的功能

同样,如果您的数据库项目仅使用 DAC 项目支持的对象,则您可能会决定转换项目。 更改项目类型后,您必须先执行一个或多个手动步骤,才能成功生成和部署更新的项目。

主题内容

  • 更改项目类型

  • 转换为数据库项目所必需的手动步骤

  • 转换为 DAC 项目所必需的手动步骤

更改项目类型

更改项目类型

  1. 在“解决方案资源管理器”中,单击要更改其类型的项目。

  2. 在**“项目”菜单上,单击“ProjectName 属性”**。

  3. 在**“项目设置”选项卡的“项目版本”中,单击要应用于此项目的新类型。 例如,若要将此项目更改为数据层应用程序项目,请单击“数据层应用程序”**。

  4. 在确认对话框中,单击**“是”即可更改此类型,并重新加载此项目。 如果单击“否”**,此项目类型会还原到其先前的值。

转换为数据库项目所必需的手动步骤

在将数据层应用程序项目类型更改为数据库项目后,您应解决以下问题:

问题

用户操作

注释

不必要的 .sqlpolicy 文件

可选

因为 .sqlpolicy 文件的生成操作设置为“DACPropertiesFile”,所以,如果项目不是 DAC 项目,则在生成和部署该项目时,这些文件将被忽略。 如果您不想将此项目更改回 DAC 项目,则可以移除这些文件。

缺少部署属性文件 (.sqldeployment)

可选

在部署数据库项目之前,您至少需要添加一个 .sqldeployment 文件。

缺少 SQLCMD 变量文件 (.sqlcmdvars)

可选

如果您要定义其他 SQLCMD 变量以用于您的项目中,则可以添加 Database.sqlcmdvars 文件。

缺少权限文件 (.sqlpermissions)

可选

如果要为数据库中的对象定义权限,则可以添加 Database.sqlpermissions 文件。

Database.sqlsettings 中的目录属性太少。

可选

DAC 项目显示其 Database.sqlsettings 文件中的目录属性太少。 如果不想接受其他属性的默认值,您应在生成和部署您的项目之前对其进行检查。

将属性文件添加到数据库项目中

如果创建了新的数据库项目,则该项目包含四个属性文件:Database.sqlcmdvars、Database.sqldeployment、Database.sqlpermissions 和 Database.sqlsettings。 在转换 DAC 项目时,结果项目中只有 Database.sqlsettings。 您必须手动将其他文件添加到您的项目中。

将属性文件添加到数据库项目中

  1. 在“解决方案资源管理器”中,右击您的数据库项目的**“属性”文件夹,指向“添加”,然后单击要添加到数据库项目的属性文件。 例如,若要添加 Database.sqldeployment,请单击“部署配置”**。

  2. 在**“添加新项”**对话框中,验证要添加的属性模板是否突出显示。

  3. 在**“名称”**中,指定要赋予此文件的名称。

  4. 单击**“添加”**。

  5. 调整要更改的任何属性值。

  6. 在**“文件”菜单中,单击“保存文件名”**,其中文件名是您要更改的文件的名称。

  7. 若要查看或更新属性文件中包含的属性,请展开“解决方案资源管理器”中的**“属性”**文件夹,然后双击要查看或更新的属性文件。

转换为 DAC 项目所必需的手动步骤

在将数据库项目类型更改为 DAC 项目后,您应解决以下问题:

问题

用户操作

注释

缺少 ServerSelection.sqlpolicy 文件

必需

数据库项目不包含任何 .sqlpolicy 文件。 在部署 DAC 项目之前,必须创建一个 .sqlpolicy 文件。

不支持的对象类型

必需

DAC 项目仅支持可能存在于数据库项目中的一个对象子集。 例如,不支持 XML 索引。 有关更多信息,请参见 Microsoft 网站上的以下页面:数据层应用程序中支持的功能。 在更改项目类型以标识项目中定义的任何不受支持的对象类型后,您应该生成 DAC 项目。 有关更多信息,请参见如何:生成数据库项目以生成经过编译的架构 (.dbschema) 文件

不必要的属性文件

可选

DAC 项目不使用 .sqlcmdvars、.sqldeployment 或 .sqlpermissions 属性文件。 如果您不想将您的项目类型更改回数据库项目,则可以安全移除这些文件。

数据层应用程序项目的策略文件

将 .sqlpolicy 文件添加到您的 DAC 项目中

  1. 在“解决方案资源管理器”中,右击 DAC 项目的**“属性”文件夹,指向“添加”,然后单击“Sql 策略”**。

  2. 在**“添加新项”**对话框中,验证要添加的 .sqlpolicy 模板是否突出显示。

  3. 在**“名称”**中,指定要赋予此文件的名称。

  4. 单击**“添加”**。

  5. 在部署您的项目之前,创建将要执行的验证策略。 有关更多信息,请参见 Configuring the Server Selection Policy(配置服务器选择策略)。

  6. 在**“文件”菜单上,单击“保存文件名”**。

请参见

任务

如何:创建数据库和服务器项目

概念

编写和更改数据库代码

开始团队数据库开发