Database 重构数据库过程的最佳方法是什么?

Database 重构数据库过程的最佳方法是什么?,database,unit-testing,tsql,stored-procedures,refactoring,Database,Unit Testing,Tsql,Stored Procedures,Refactoring,我需要理解并澄清一些包含重要业务逻辑的T-SQL存储过程。有人知道可以用于单元测试的任何工具、技巧、窍门或提示吗?这样我就可以在不破坏sql的情况下重构sql?Simon Harryyott建议使用它。关于他的流程有更多信息。为什么需要重构 添加一组打印语句并从ManagementStudio手动运行。如果您打印了正确的信息,您应该能够跟踪代码并了解发生了什么 如果您不知道要使用哪些参数,请修改它以将输入参数发送到日志文件,然后使用这些参数手动运行它。如果您可以访问Visual Studio T

我需要理解并澄清一些包含重要业务逻辑的T-SQL存储过程。有人知道可以用于单元测试的任何工具、技巧、窍门或提示吗?这样我就可以在不破坏sql的情况下重构sql?

Simon Harryyott建议使用它。关于他的流程有更多信息。

为什么需要重构

添加一组打印语句并从ManagementStudio手动运行。如果您打印了正确的信息,您应该能够跟踪代码并了解发生了什么


如果您不知道要使用哪些参数,请修改它以将输入参数发送到日志文件,然后使用这些参数手动运行它。

如果您可以访问Visual Studio Team System数据库版,则它附带了一系列专为数据库而设计的单元测试工具,如本文所述。

我使用C#进行单元测试存储过程-这比T-SQL更有效。第一个链接解释了如何快速生成单元测试


有关重构本身的帮助(而不是让它进行测试以便您可以使用refector),请不要忘记查看(书籍或网站)


我确实用调用代码(在我的例子中是Java with dbunit)为存储过程编写了测试,但我不知道它与其他方法相比会如何。

@John MacIntyre,什么调试器?@KM如果您使用的是SQL2005或更高版本,则安装了VS,您可以从中进行调试。如果您使用的是SQL2000,则查询分析器中内置了一个调试器。