什么是重构数据库程序的最佳方式?

问题描述:

我需要理解和阐明一些包含重要业务逻辑的T-SQL存储过程。有谁知道可用于单元测试的任何工具,技巧,技巧或提示,以便我可以重构此sql而不会破坏它?什么是重构数据库程序的最佳方式?

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

Close those Loopholes - Testing Stored Procedures

Close These Loopholes - Testing Database Modifications

Simon Harriyott建议为此使用TSqlUnit。有关于他的过程on his blog的更多信息。

你为什么需要重构?

添加一堆PRINT语句并从Management Studio手动运行它。如果您打印了适当的信息,您应该能够追踪代码并了解正在发生的事情。

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

+0

为什么不使用调试器? – 2009-07-10 18:40:38

如果您有权访问Visual Studio Team System数据库版,那么它会附带一些专门针对数据库的单元测试工具,如MSDN article中所述。

有关重构本身(而不是得到它的测试,因此您可以refector)的帮助下,不要忘记检查Refactoring Databases(无论是书籍或网站)。

我没有用调用代码编写存储过程的测试(在我的情况下,使用dbunit的Java),但我不知道它如何与其他方法进行比较。