如何:导入数据库架构

更新:2007 年 11 月

数据库项目是数据库的脱机表示形式,您可以通过它来管理对数据库所做的更改。如果创建了数据库项目但没有创建或导入任何数据库对象定义,那么可以从数据库中导入数据库架构。如果数据库项目已包含一个或多个数据库对象,则必须使用不同的过程来导入其他对象或更改现有对象。有关更多信息,请参见如何:将更新从数据库导入数据库项目

说明:

导入数据库架构时,还会导入源数据库中的扩展属性。对象的扩展属性在包含对象定义的同一文件中定义。例如,表 MyTable 的扩展属性会导致 sp_addextendedproperty 语句添加到 MyTable.table.sql 文件中。这些语句包括 sp_addextendedproperty、sp_settriggerorder、sp_tableoption 和 sp_indexoption。

导入数据库架构

  1. 创建或打开尚未包含数据库对象的现有数据库项目。有关更多信息,请参见如何:创建空数据库项目如何:打开数据库项目

    “解决方案资源管理器”显示包含数据库项目的解决方案。

    说明:

    可以通过使用新建数据库项目向导来同时创建项目和导入架构。有关更多信息,请参见如何:创建数据库项目

  2. 如果未出现“架构视图”,请打开“视图”菜单,然后单击“架构视图”。

    将出现“架构视图”。

  3. 在“架构视图”中右击数据库项目,再单击“导入数据库架构”。

    将出现“导入数据库向导”。

  4. 在“源数据库连接”中,单击要用来从现有数据库中导入架构信息的连接。如果未出现任何连接,请单击“新建连接”创建连接。

    可以在“服务器资源管理器”中创建数据库连接,也可以在 Visual Studio Team System Database Edition 中的其他多个位置创建。有关更多信息,请参见如何:创建数据库连接

  5. (可选)执行下列一项或多项操作:

    1. 可以限制只有当列排序规则与数据库排序规则不匹配时才显式指定列排序规则。若要创建此限制,应在“导入选项”中选中“仅当列排序规则与数据库排序规则不同时才编写列排序规则脚本”复选框。否则,清除该复选框。

    2. 如果要忽略源数据库及其内容的扩展属性,请在“导入选项”中选中“忽略扩展属性”复选框。否则,清除该复选框。

    3. 如果要更新数据库项目设置,使其与源数据库项目设置匹配,请在“导入选项”中选中“用导入的架构设置重写数据库配置”复选框。否则,清除该复选框。

      说明:

      只能从数据库导入以下设置:ANSI 填充、ANSI null 值、ANSI 警告、算术中止、数值舍入中止、串联 null 值的结果为 null 值、带引号的标识符和数据库排序规则。

  6. 单击“完成”开始导入架构。

    “错误列表”窗口中显示与导入架构时所创建的对象有关的任何错误。Visual Studio 状态栏指明架构的导入时间。(例如,状态栏中应显示“已开始从源数据库: 服务器名称.数据库名称 导入数据库架构… 导入数据库架构已完成”。)其他错误显示在向导摘要页上,同时还会写入项目文件夹中的日志文件中。

    此时,必须配置数据库项目设置后才能生成和部署数据库项目。有关更多信息,请参见如何:为生成和部署配置数据库项目

安全性

您必须有权访问要从中导入数据库架构的数据库。在许多开发环境中,将项目发放给开发工作小组之前,由充当数据库管理员角色的人创建数据库项目并导入数据库架构。

说明:

当您导入数据库架构时,“可信”数据库设置将不会导入,这是设计使然。此性质应当显式设置,而且在设置时需要 sysadmin 权限。如果您对于设计时验证数据库具有 sysadmin 权限,则可以在数据库项目中启用“可信”设置。

请参见

任务

如何:从脚本导入数据库对象

如何:创建数据库项目

演练:将现有数据库架构置于版本控制之下

概念

Database Edition 术语概述

其他资源

数据库项目入门

在团队环境中处理数据库项目