SQL - 如何检查更改表是否会破坏任何存储过程

时间:2015-03-10 17:07:56

标签: sql-server database stored-procedures

在我更改表格之前是否有一个很好的方法(例如删除一个列),看看这是否会破坏任何存储过程?

我正在尝试在MS SQL Server中执行此操作

3 个答案:

答案 0 :(得分:0)

使用查询here在表和列名称的所有存储过程中搜索。您可能仍然希望查看每个找到的代码,以验证它是否会破坏。

答案 1 :(得分:0)

您可以使用以下查询在任何存储过程中搜索表名:

SELECT name
FROM   sys.procedures
WHERE  Object_definition(object_id) LIKE '%Your_Table_Name%'

答案 2 :(得分:0)

我建议你:

  1. 确保您有一个单独的环境(DEV)
  2. 使用此处的示例代码创建一个proc,确认可以重新编译数据库中的所有对象 How to Check all stored procedure is ok in sql server?
  3. 使用它 - 我可以保证在删除列之前您已经有失败的对象
  4. 删除您的列并再次使用它以查看是否有更多内容损坏
  5. 更成熟的方法是将数据库放入数据库项目并构建它。但是,在数据库有效之前,您无法执行此操作。