如何删除对象和解析依赖关系
当您在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-SQLProducts 表,则该表将不会自动刷新以显示外键引用的删除。此外,与无法解析的引用有关的错误可能会出现在“错误列表”中。若要解决此问题,请关闭表设计器或 Transact-SQL 编辑器,然后重新打开 Products 表。