我正在迁移一个数据库。新的功能是数据的一部分位于外部数据库(ERP系统)中。我必须修改大量的查询。
如果所有查询和SP仍在成功运行,我如何检查它们?
如果我有一个依赖于查询'B‘的查询'A’,并且我在查询'B‘中更改了一列,则直到我运行查询'A’时才会得到错误。有没有办法系统地检查所有查询是否有绑定错误?
我们正在运行MS-SQL 2008
发布于 2009-09-12 13:36:09
最后我想出了这个脚本。它为每个查询生成一个'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'发布于 2009-09-09 15:34:00
我将通过为我的应用程序编写单元测试来解决这个问题,首先关注使用外部数据库的所有方法。
https://stackoverflow.com/questions/1394310
复制相似问题