Системные SQL функции для диагностики

as_print позволяет проверять значения при выполнении хранимой процедуры. Его вывод есть на странице /start на панели управления администратора. Создает запись в as_trace с кодом print

exec as_print @str='132' 

Не оставляйте print на постоянной основе - иначе это усложняет анализ вывода as_print в будущем. Проверили какие-то значения и убрали из кода. 

as_warning фиксирует возможные проблемные ситуации. Это не является полноценной ошибкой, но может давать негативные эффекты (например, к заказу привязано слишком много файлов). Создает запись в as_trace с кодом warning.

exec [as_warning]    @str =''[, @place = '', @itemID=0]

as_error - фиксирует ошибку. Если есть SQL исключение - то данные по исключению также будут зафиксированы. Создает запись в as_trace с кодом exception.

exec as_error @str='132' 

Тексты хранимок

as_print: 

CREATE OR ALTER PROCEDURE [dbo].[as_print]
(
    @str as varchar(max)
)
AS
BEGIN
	insert into as_trace (code, text, created) values ('print', left(@str, 2048), getdate())
	print @str
END

as_warning: 

CREATE or ALTER PROCEDURE [dbo].[as_warning]
(
    @str as varchar(max),
	@place as nvarchar(max) = '',
	@itemID int = 0
)
AS
BEGIN
	insert into as_trace (code, header, text, itemID,  created) values ('warning', @place, left(@str, 2048), @itemID, getdate())
	print @str
END

as_error:

CREATE OR ALTER procedure [dbo].[as_error]
@str nvarchar(max)
as
begin
	declare @s nvarchar(max) = isnull(@str , '') + ' '
	declare @errorMsg nvarchar(max) = ERROR_MESSAGE()
	if(isnull(@errorMsg, '')<>'')begin
		set @s += 'Msg: ' + @errorMsg +
			', Proc: '+ isnull(ERROR_PROCEDURE() , 'n/a') +
			', Line: '+ isnull(try_cast(ERROR_LINE() as nvarchar) , 'n/a') +
			', ErrorNumber: '+ isnull(try_cast(ERROR_NUMBER() as nvarchar) , 'n/a')
	end
	print @s

declare @t table(id int)

insert into @t
exec as_trace_warn
	@code ='exception',
	@header = @s,
	@itemID =0,
	@text ='',
	@username = ''

Falcon Space - функциональная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space
Насколько полезной была статья?

Google поиск по нашей документации

Выгода от использования Falcon Space

В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Нужна бесплатная консультация?
Планируете делать веб-проект?
Сайт использует Cookie. Правила конфиденциальности OK