Системные 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

Это снижение стоимости владения

за счет меньшего количества людей для поддержки и узкого стека разработки. Про снижение стоимости владения продуктом

Это быстрое внесение изменений

по ходу эксплуатации программы. Как создается функционал на платформе

Это простой удобный интерфейс

адаптация под мобильные устройства. Про юзабилити платформы

Нужна бесплатная консультация?
Получить оценку проекта
Создайте концепцию проекта на основе нашего шаблона и получите оценку проекта в виде КП.
Демо-сайт решений
Базисные решения, которые можно гибко адаптировать под себя: менять внешний вид, бизнес-логику и даже структуру базы данных.
Сайт использует Cookie. Правила конфиденциальности OK