如何:删除对象和解析依赖关系
在 SQL Server 对象资源管理器中重命名或删除某一对象时,SQL Server Data Tools 将自动检测其所有依赖对象,并且将准备 ALTER 脚本以便根据需要重命名或删除这些依赖对象。
删除数据库
右键单击“SQL Server 对象资源管理器”中的某个数据库,然后选择“删除”。
在“删除数据库”对话框中接受所有默认设置,然后单击“确定”。
重命名表
请确保
Customer
表未在表设计器或 Transact-SQL 编辑器中打开。展开 SQL Server 对象资源管理器中的“表”节点。 右键单击 Customer 表,然后选择“重命名”。
将表名称更改为 Customers,然后按 ENTER 键。
请注意,该工具将立即代表你调用“数据库更新”操作。 SSDT 仍将代表您调用 sp_rename 存储过程以便重命名该表。 如果存在诸如外键约束之类的任何依赖对象,则这些对象也将更新。
警告
SSDT 不自动更新基于脚本的依赖项,例如对来自视图的表或存储过程的引用。 重命名后,可以使用“错误列表”窗格找到其他所有依赖项,并手动修复它们。
在执行了上一过程中的步骤后应用更改,即如何:使用 Power Buffer 更新连接的数据库。
再次右键单击“SQL Server 对象资源管理器”中的“Customers”表,然后选择“查看数据”。 请注意,在重命名操作后表数据将保持不变。
右键单击 Products 表,然后选择“查看代码”。 请注意,外键引用已自动更新为
REFERENCES [dbo].[Customers] ([Id])
以便反映此重命名操作。
删除表
右键单击“SQL Server 对象资源管理器”中的“Customers”表,然后选择“删除”。
在“预览数据库更新”对话框的“用户操作”下,请注意 SSDT 已标识了所有依赖对象,在此情况下,依赖对象是将删除的外键引用。
单击“更新数据库”。
右键单击“SQL Server 对象资源管理器”中的“Products”表,然后选择“查看代码”。 请注意,对
Customers
表的外键引用已消失。警告
如果在删除操作发生时已在表设计器或 Transact-SQL 编辑器中打开了 Products 表,则该表将不会自动刷新以显示外键引用的删除。 此外,与无法解析的引用有关的错误可能会出现在“错误列表”中。 若要解决此问题,请关闭表设计器或 Transact-SQL 编辑器,然后重新打开 Products 表。