Есть табличка, которая используется для формирования html-файлов из базы через BCP. Размеры формируемых файлов варьируются в разбросе 2-15 КБ. Весь html код для файлов хранится в одном поле varchar(max). Т.е. 1 строка = 1 выгружаемый файл
Файлы прикрепляются в другой сервис как вложения, а итоговым результатом получается некое сообщение, состоящее из шапки сообщения (туда доступ есть) и сформированного вложения (доступа уже нет).
Чтобы каждый раз не гонять по 20-30к строк, каждый раз выгружая одни и те же значения, в голову пришла мысль формировать хэш из содержимого вложения и его же писать в шапку сообщения.
На этапе формирования сообщений проверять, есть ли в шапках сообщения нужны хэш, сравнивать его с хэшем содержимого html-файла и выгружать только те записи, которые отсутствуют, либо изменились.
На тестовых данных, которые содержали около 8к символов, проблем не возникло, однако когда запрос наткнулся на бОльшую длину строки, то словил ошибку
Msg 8152, Level 16, State 10, Line 9
String or binary data would be truncated.
Сам запрос, которым генерировал хэш простой:
SELECT HASHBYTES('SHA1', html) FROM tbl1
Вопрос - как обойти ограничение в 8к символов при создании хэша?