Pouvez-vous save et insert des messages de requête SQL dans une table?

J'ai l'printing que c'est une question extrêmement novice, mais il est difficile de find la réponse comme quoi que ce soit à faire avec la connection me signale des erreurs et des problèmes SQL. Si ce n'est pas le cas, la réponse consiste à interroger le journal entier pour passer au crible.

Lorsque j'insère des données dans une table existante via TSQL. Comment puis-je save ou referencer le message de requête pour cette instruction spécifique? De cette façon, je peux prendre le message de requête et insert le résultat dans une table de journal qui spécifie combien d'loggings ont été insérés, peut-être une durée de time, etc.

J'utilise SQL Server 2008 R2 et ces instructions SQL sont des procédures stockées qui insèrent des données et mettent à jour des données. Je veux m'assurer que chaque étape du process est enregistrée et insérée dans une table de journal spécifique avec des détails sur cette étape du process.

Merci pour votre aide sur cette question (je suppose) newbie. Je suis encore en train d'apprendre MSSQL.

 DECLARE @dt DATETIME2(7), @duration INT, @rowcount INT; SET @dt = SYSDATETIME(); INSERT dbo.foo(bar) VALUES('x'); SELECT @rowcount = @@ROWCOUNT, @duration = DATEDIFF(MICROSECOND, @dt, SYSDATETIME()); INSERT dbo.LoggingTable(duration,row_count) SELECT @duration, @rowcount; 

En 2005 ou less, vous ne pouvez pas être aussi précis, par exemple

 DECLARE @dt DATETIME, ... SET @dt = GETDATE(); ... ... , @duration = DATEDIFF(MILLISECOND, @dt, GETDATE());