如何:导入数据库对象和设置

如果您想要管理已包含数据库对象的定义的数据库,则可以创建一个空的数据库项目,并将数据库中的对象和设置导入到该项目中。 可以使用导入数据库向导或通过在命令窗口中使用自动化命令来导入对象和设置。 如果您想要将数据库对象添加到一个非空的项目中,则必须使用不同的过程来导入其他对象或更改现有对象。 有关更多信息,请参见如何:将更新从数据库导入数据库项目

提示

如果从数据库导入,则不会导入密码。 完成导出操作后,项目中的密码会设置为随机字符。 如果您比较架构,则不会报告密码差异。

所需权限

对于要从其导入对象和设置的数据库,您必须拥有对该数据库的访问权限。 在许多开发环境中,将项目发放给开发工作团队之前,由充当数据库管理员角色的人创建数据库项目并导入对象和设置。

使用导入数据库向导导入数据库对象和设置

  1. 创建一个数据库项目,或者打开一个尚未包含数据库对象的数据库项目。

    有关更多信息,请参见如何:创建空的数据库项目和服务器项目

    提示

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

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

    将出现**“架构视图”**。

  3. 在**“架构视图”中右击数据库项目,再单击“导入对象和设置”**。

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

  4. 在**“源数据库连接”中,单击要用来从现有数据库服务器中导入信息的连接。 如果未显示任何连接,请单击“新建连接”**,然后创建一个连接。

    可以在**“服务器资源管理器”**中创建数据库连接,也可以在各种其他位置创建。 有关更多信息,请参见如何:创建数据库连接

  5. (可选)在**“导入选项”**下,执行以下一项或多项操作:

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

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

      例如,可以导入一个名为 MyTable 的表。 此操作将 sp_addextendedproperty 语句添加到 MyTable.table.sql 文件。 这些语句包括 sp_addextendedproperty、sp_settriggerorder、sp_tableoption 和 sp_indexoption。 有关更多信息,请参见 Microsoft 网站上的主题:sp_addextendedproperty (Transact-SQL)

    3. 若要导入日志文件和文件组的大小,请选中**“导入日志和文件组文件大小”**复选框。 否则,清除该复选框。

    4. 若要从源数据库导入权限,请选中**“导入权限”**复选框。 否则,清除该复选框。

      如果导入权限,可以指定是否将这些权限添加到数据库项目的模型。 如果向该模型添加这些权限,则数据库项目的加载速度将变慢。

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

    6. 可以限制项目中每个文件夹中存储的数据库对象数量,从而缩短打开和使用数据库项目所需的时间。 在**“每目录最大文件数”**列表中,单击允许在磁盘上一个目录中包含的文件数。

  6. 单击**“启动”**以导入架构。

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

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

使用 Visual Studio 自动化模型导入数据库对象和设置

  1. 创建一个数据库项目,或者打开一个尚未包含数据库对象的数据库项目。

    有关更多信息,请参见如何:创建空的数据库项目和服务器项目

    提示

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

  2. 打开**“视图”菜单,指向“其他窗口”,然后单击“命令窗口”**。

  3. 在命令窗口中,键入下面的命令:

    Project.ImportDatabaseSchema /ConnectionString "YourConnectionInfo"
    

    将 YourConnectionInfo 替换为用于连接到要从其进行导入的数据库的连接字符串。

    提示

    可以为控制导入操作的命令指定其他选项。 有关更多信息,请参见 Visual Studio 数据库功能的自动化命令参考。 如果不指定连接,则会出现导入数据库向导。

    执行该命令时,会将对象和设置从指定数据库导入到在**“解决方案资源管理器”**中选择的数据库项目中。 **“错误列表”**窗口中显示与导入架构时所创建的对象有关的任何错误。

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

请参见

任务

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

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

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