Tiskárna zpráv serveru SQL
Okamžitě tiskněte zprávy v SSMS pomocí vyzkoušeného a důvěryhodného triku. Zahrnuje datum, čas a čísla řádku možností
Funkce, kterou pravidelně používáme ke sledování časování v rámci dlouhodobě běžících uložených procedur. Toto vytiskne bez čekání na dávku jako PRINT. Používají se tři vstupní parametry:
- @MessageDate - Předejte hodnotu NULL pro tisk aktuálního data a času při volání funkce,
- @MessageText – Text zprávy, který chcete zobrazit
- @MessageRows – Volitelně přidejte počet ovlivněných řádků.
SQL
Use UtilitiesGOCREATE PROC dbo.Printer(@MessageDate DATETIME,@MessageText NVARCHAR(250),@MessageRows NVARCHAR(50)) AS BEGIN IF @MessageDate IS NULL SET @MessageDate=GETDATE(); DECLARE @MessageDateString NVARCHAR(MAX)=CONVERT(NVARCHAR(20),@MessageDate,120) IF @MessageRows IS NOT NULL BEGIN RAISERROR ('%s - %s - Rows(%s)',0,0,@MessageDateString,@MessageText,@MessageRows) WITH NOWAIT END IF @MessageRows IS NULL BEGIN RAISERROR ('%s - %s',0,0,@MessageDateString,@MessageText,@MessageRows) WITH NOWAIT ENDENDGOEXEC dbo.Printer NULL,'Started',NULLWAITFOR DELAY '00:00:03'EXEC dbo.Printer NULL,'Step 1',1WAITFOR DELAY '00:00:01'EXEC dbo.Printer NULL,'Step 2',2WAITFOR DELAY '00:00:01'EXEC dbo.Printer NULL,'Step 3',3WAITFOR DELAY '00:00:01'EXEC dbo.Printer NULL,'Step 4',4WAITFOR DELAY '00:00:01'EXEC dbo.Printer NULL,'Step 5',5WAITFOR DELAY '00:00:01'EXEC dbo.Printer NULL,'Finished',NULL