2

我需要提供(LOC)与系统相关联的代码行数的统计信息。应用程序部分很简单,但我还需要包含驻留在 SQL Server 数据库中的任何代码。这将适用于存储过程、函数、触发器等。

我怎样才能轻松获得该信息?可以通过查询系统等使用TSQL (准确地)完成吗?tables\sprocs

4

3 回答 3

5

在 Management Studio 中,右键单击要为其计算行数的数据库...选择任务 -> 生成脚本,您可以在脚本向导中选择脚本选项以包含或排除对象,当您将其设置为您喜欢的方式时生成到新的查询窗口

于 2008-09-17T14:13:26.467 回答
2

只需从 syscomments 中选择所有文本并计算您有多少行。文本列是文本,您在 Management Studio 中看不到,所以我会编写这样的程序或 power shell 脚本:

$conn = new-object System.Data.SqlClient.SqlConnection("Server=server;Database=database;Integrated Security=SSPI")
$cmd = new-object System.Data.SqlClient.SqlCommand("select text from syscomments", $conn)
$conn.Open()
$reader = $cmd.ExecuteReader()

$reader.Read() | out-null
$reader.GetString(0) | clip
$reader.Close()
$conn.Close()

粘贴到具有行数的编辑器中,您就完成了。

于 2008-09-16T18:25:05.573 回答
1

就个人而言,您可能只是使用 SQL Server 管理工具将对象编写到文件中,它会在其中获得一些额外的内容,以便在对象存在的情况下首先进行检查。

于 2008-09-16T18:05:18.320 回答