چاپگر پیام سرور SQL
با استفاده از یک ترفند آزمایش شده و قابل اعتماد، فوراً پیام ها را در SSMS چاپ کنید. شامل مهر زمان تاریخ و شماره ردیف گزینه است
تابعی که ما مرتباً برای پیگیری زمانبندیها در رویههای ذخیره شده طولانی مدت استفاده میکنیم. این بدون انتظار برای دسته ای مانند PRINT چاپ می کند. سه پارامتر ورودی استفاده می شود:
- @MessageDate - برای چاپ زمان کنونی تاریخ همانطور که تابع نامیده می شود، به NULL عبور دهید.
- @MessageText - متن پیامی که می خواهید نمایش دهید
- @MessageRows - به صورت اختیاری تعداد ردیفهای تحت تأثیر را اضافه کنید.
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