在SQL Server 2008中,有没有一种方法可以查看系统函数的主体/内容?

为了学习和探索的目的,我想看一下一些系统函数是如何构建的。在SQL Server 2008或R2中有没有办法做到这一点? 我尝试过使用sp_helptext 'Sum',但是出现了资源找不到的错误。
1个回答

我不认为在您的系统中,Sum被存储为T-SQL函数,以便您可以"窥视"它。这很可能是SQL Server核心深处的代码。 作为证明,您可以使用sp_helptext来获取其他系统存储函数的主体内容。
sp_helptext 'sys.fn_isrolemember'
这个很好用 - 这让我相信 Sum 并不是一个存储函数。

或许像求和这样的函数是通过clr集成来构建的? - Brian Dishaw
@BrianDishaw:确实有一些新的选项是使用SQL-CLR构建的(例如HierarchyID类型及其操作),但我非常确定sum函数是如此常见,以至于它已经包含在SQL Server核心代码库中。 - marc_s