将 .DBP 项目转换为数据库项目或数据层应用程序项目
无法将 .dbp 数据库项目用于 Visual Studio 2010。 您必须改用数据库项目或数据层应用程序 (DAC) 项目。 可以将 .dbp 项目中包含的脚本导入到数据库项目或 DAC 项目中。 导入脚本之后,可以生成新项目并将该项目部署到目标数据库。
选择项目类型
数据层应用程序项目只支持完整对象集中您可在 SQL Server 数据库中创建的一部分对象。 如果您的数据库使用数据层应用程序项目不支持的功能或语句,则应考虑改为使用数据库项目。 如果要管理对位于 master 数据库中的对象所做的更改,则应使用服务器项目。 有关数据库项目和服务器项目的更多信息,请参见数据库和服务器项目概述。 有关 DAC 项目的更多信息,请参见 Microsoft 网站上的 Creating and Managing Data-tier Applications(创建和管理数据层应用程序)以及 Features Supported in Data-tier Applications(数据层应用程序中支持的功能)。
导入 .DBP 脚本时的限制
在使用“导入脚本”迁移 .dbp 项目时,可能会遇到以下阻碍成功迁移的问题。
问题 |
注释 |
---|---|
不导入查询文件(.dtq 文件)。 |
如果 .dbp 项目包含一个或多个查询文件(.dtq 文件),则在导入脚本时忽略那些文件。 |
不导入数据库引用。 |
不会将 .dbp 项目中的数据库引用转换为 .dbproj 项目中的数据库引用。 在解决方案资源管理器中可能会出现一个项,但如果双击该项,将会导航到解决方案资源管理器,而不是对引用执行操作。 若要在导入之后解决此问题,则必须移除不正确的引用,并手动添加正确的数据库引用。 |
可能会忽略未定义对象结构的脚本文件。 |
未定义对象(通常通过使用 CREATE 或 ALTER 语句来定义对象)的脚本文件 (.sql) 会放置到解决方案的 ScriptsIgnoredOnImport 文件中。 脚本中的任何用于检查数据库状态或验证某个对象是否已经不存在的检查都会放置到 ScritpsIgnoredOnImport 文件中。 |
假设 .dbp 文件中的所有脚本都是针对单个数据库的。 |
一个 .dbproj 数据库项目始终定义一个数据库。 在导入 .dbp 项目时,假设所有脚本都适用于与您导入到的项目对应的数据库。 如果 .dbp 项目包含适用于多个数据库的脚本,则不建议使用“导入脚本”。 您可能要改为考虑从数据库实例中导入数据库定义。 |
创建新项目并导入脚本
将 .dbp 项目转换为数据库项目或 DAC 项目
在**“文件”菜单上指向“新建”,再单击“项目”**。
如果要将 .dbp 项目转换为 DAC 项目,请转到步骤 6。
在**“新建项目”对话框的“已安装的模板”列表中,展开“数据库”节点,然后单击“SQL Server”**。
重要事项 如果使用的是 Visual Studio 专业版,则必须展开“SQL Server”节点,然后单击“高级”。
在详细信息窗格中,单击**“SQL Server 2008 数据库项目”或“SQL Server 2008 服务器项目”**。
提示
可以指定不同的项目类型。 有关其他数据库项目类型的更多信息,请参见数据库和服务器项目概述和如何:创建数据库和服务器项目。
转到步骤 8。
在**“新建项目”对话框的“已安装的模板”列表中,展开“数据库”节点,然后单击“SQL Server”**。
在详细信息窗格中,单击**“Data-tier Application”**。
在**“名称”**框中,键入要赋予新项目的名称。
单击**“确定”**。
在“解决方案资源管理器”中,右击数据库项目,然后单击**“导入脚本”**。
单击**“下一步”**。
单击**“多个文件”**。
单击**“浏览”**。
定位到包含 .dbp 项目中的脚本的文件夹的父级。
单击包含 .dbp 项目脚本的文件夹。
单击**“选择文件夹”**。
在文件列表中,选中要导入的每个脚本的复选框。 清除要跳过的任何脚本的复选框。
单击**“完成”**。
即会导入脚本,并出现一个摘要。
单击**“完成”**。
在**“视图”菜单上,单击“错误列表”**。
此时将出现**“错误列表”窗口。 如果所导入的脚本导致数据库项目中出现任何错误,这些错误将出现在“错误列表”**中。 可以双击任何错误转到该错误的来源。 如果不打算生成项目并将项目部署到数据库实例,您可以通过更改一个或多个脚本文件的生成操作来消除错误。 有关更多信息,请参见排除脚本文件。
您应先配置数据库属性,然后才能生成并部署数据库项目或服务器项目。 有关更多信息,请参见配置数据库项目和执行测试部署。 有关如何配置和部署数据层应用程序的更多信息,请参见 Microsoft 网站上的 Configuring the Server Selection Policy(配置服务器选择策略)和 Deploying Data-tier Application Packages(部署数据层应用程序包)
排除脚本文件
您可以更改项目中一个或多个脚本文件的生成操作,以从对该项目执行的任何生成或部署操作中排除这些脚本文件。
更改脚本文件的生成操作
在**“解决方案资源管理器”**中,单击要为其更改生成操作的脚本文件 (.sql)。
按 F4 以打开**“属性”**窗口。
在**“属性”窗口中,将“生成操作”**更改为“不在生成中”。
可以为要在生成或部署项目时排除的每个文件重复此过程。