Quel est le moyen le plus facile d'obtenir le nombre total de lignes de code (LOC) dans SQL Server?

StackOverflow https://stackoverflow.com/questions/75159

Question

Je dois fournir des statistiques sur le nombre de lignes de code (LOC) associées à un système. La partie application est simple, mais je dois également inclure tout code résidant dans la base de données SQL Server. Ceci s’appliquerait aux procédures stockées, fonctions, déclencheurs, etc.

Comment puis-je obtenir facilement ces informations? Peut-on le faire (avec précision) avec TSQL en interrogeant le système tables \ sprocs , etc.?

Était-ce utile?

La solution

Dans Management Studio, cliquez avec le bouton droit de la souris sur la base de données pour laquelle vous souhaitez définir un nombre de lignes ... sélectionnez Tâches - > Générer des scripts, vous pouvez sélectionner des options de script dans l'Assistant Scripts pour inclure ou exclure des objets, lorsque vous le définissez comme vous le souhaitez, il peut être généré dans une nouvelle fenêtre de requête

Autres conseils

Il suffit de sélectionner tout le texte de syscomments et de compter le nombre de lignes que vous avez. La colonne de texte est un texte que vous ne pouvez pas vraiment voir dans Management studio. Par conséquent, j'écrirais un programme ou un script shell comme ceci:

$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()

Collez-le dans un éditeur doté d'un nombre de lignes et vous avez terminé.

Personnellement, vous pouvez simplement scripter les objets dans les fichiers à l’aide des outils de gestion SQL Server. Vous obtiendrez quelques extras afin que les vérifications s’effectuent tout d'abord si l'objet existe déjà.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top