如何检查所有查询是否存在绑定错误

时间:2009-09-08 14:22:21

标签: sql sql-server tsql sql-server-2008

我正在迁移数据库。新的是数据的一部分位于外部数据库(ERP系统)中。我必须修改大量的查询。

如何检查所有查询& SP,如果他们仍然成功运行?

如果我有一个依赖于查询'B'的查询'A',并且我在查询'B'中更改了一列,那么在我运行查询'A'之前我不会收到错误。有没有办法系统地检查所有查询绑定错误?

我们正在运行MS-SQL 2008

2 个答案:

答案 0 :(得分:2)

最后我想出了这个剧本。它会为每个查询生成一个“select * from”,如果查询被破坏,它会SHOWPLAN_TEXT ON只发出计划或错误。

像这样使用它:执行以下查询并启用输出到文本。在新查询中复制生成的文本并执行它。

SET NOCOUNT ON
GO

PRINT 'SET SHOWPLAN_TEXT ON'
PRINT 'GO'
SELECT  'SELECT * FROM [' + sys.schemas.name + '].[' + sys.objects.name + ']' AS [--stmt]
FROM         sys.objects INNER JOIN
                      sys.schemas ON sys.objects.schema_id = sys.schemas.schema_id
WHERE     (sys.objects.type = 'V')
PRINT 'GO'
PRINT 'SET SHOWPLAN_TEXT OFF'
PRINT 'GO'

答案 1 :(得分:0)

我会通过为我的应用程序编写单元测试来解决这个问题,首先关注使用外部数据库的所有方法。