我正在迁移数据库。新的是数据的一部分位于外部数据库(ERP系统)中。我必须修改大量的查询。
如何检查所有查询& SP,如果他们仍然成功运行?
如果我有一个依赖于查询'B'的查询'A',并且我在查询'B'中更改了一列,那么在我运行查询'A'之前我不会收到错误。有没有办法系统地检查所有查询绑定错误?
我们正在运行MS-SQL 2008
答案 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)
我会通过为我的应用程序编写单元测试来解决这个问题,首先关注使用外部数据库的所有方法。