我需要提供与系统关联的几行代码(LOC)
统计信息。 应用程序部分很简单,但我还需要包括SQL Server数据库中驻留的所有代码。 这将适用于存储过程,函数,触发器等。
我如何轻松获取该信息? 是否可以通过查询系统tables\\sprocs
等(正确)使用TSQL ?
我需要提供与系统关联的几行代码(LOC)
统计信息。 应用程序部分很简单,但我还需要包括SQL Server数据库中驻留的所有代码。 这将适用于存储过程,函数,触发器等。
我如何轻松获取该信息? 是否可以通过查询系统tables\\sprocs
等(正确)使用TSQL ?
在Management Studio中,右键单击要用于行计数的数据库...选择“任务”->“生成脚本”,您可以在“脚本向导”中选择脚本选项以包含或排除对象,并以自己喜欢的方式设置生成到新的查询窗口
只需从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()
粘贴到具有行数的编辑器中,您就完成了。
就个人而言,您可能只是使用SQL Server管理工具将对象脚本化为文件,它将在其中获得一些附加功能,以便在对象存在的情况下首先进行删除操作。