如何:删除对象和解析依赖关系

在 SQL Server 对象资源管理器中重命名或删除某一对象时,SQL Server Data Tools 将自动检测其所有依赖对象,并且将准备 ALTER 脚本以便根据需要重命名或删除这些依赖对象。

删除数据库

  1. 右键单击“SQL Server 对象资源管理器”中的某个数据库,然后选择“删除”。

  2. 在“删除数据库”对话框中接受所有默认设置,然后单击“确定”。

重命名表

  1. 请确保 Customer 表未在表设计器或 Transact-SQL 编辑器中打开。

  2. 展开 SQL Server 对象资源管理器中的“表”节点。 右键单击 Customer 表,然后选择“重命名”。

  3. 将表名称更改为 Customers,然后按 ENTER 键。

  4. 请注意,该工具将立即代表你调用“数据库更新”操作。 SSDT 仍将代表您调用 sp_rename 存储过程以便重命名该表。 如果存在诸如外键约束之类的任何依赖对象,则这些对象也将更新。

    警告

    SSDT 不自动更新基于脚本的依赖项,例如对来自视图的表或存储过程的引用。 重命名后,可以使用“错误列表”窗格找到其他所有依赖项,并手动修复它们。

  5. 在执行了上一过程中的步骤后应用更改,即如何:使用 Power Buffer 更新连接的数据库

  6. 再次右键单击“SQL Server 对象资源管理器”中的“Customers”表,然后选择“查看数据”。 请注意,在重命名操作后表数据将保持不变。

  7. 右键单击 Products 表,然后选择“查看代码”。 请注意,外键引用已自动更新为 REFERENCES [dbo].[Customers] ([Id]) 以便反映此重命名操作。

删除表

  1. 右键单击“SQL Server 对象资源管理器”中的“Customers”表,然后选择“删除”。

  2. 在“预览数据库更新”对话框的“用户操作”下,请注意 SSDT 已标识了所有依赖对象,在此情况下,依赖对象是将删除的外键引用。

  3. 单击“更新数据库”。

  4. 右键单击“SQL Server 对象资源管理器”中的“Products”表,然后选择“查看代码”。 请注意,对 Customers 表的外键引用已消失。

    警告

    如果在删除操作发生时已在表设计器或 Transact-SQL 编辑器中打开了 Products 表,则该表将不会自动刷新以显示外键引用的删除。 此外,与无法解析的引用有关的错误可能会出现在“错误列表”中。 若要解决此问题,请关闭表设计器或 Transact-SQL 编辑器,然后重新打开 Products 表。