Как использовать столбцы текста, текста или изображения в таблицах "вставленные" и "удаленные"
Нельзя использовать столбцы text, ntext или image в таблицах "вставлен" и "удален".
Каким должен быть обходной путь в этом случае?: (
Ответ 1
Начиная с SQL Server 2005, TEXT/NTEXT/IMAGE устарели - вместо этого вы должны использовать типы данных (N)VARCHAR(MAX) и VARBINARY(MAX).
(N) VARCHAR (MAX) (см. MSDN docs здесь) и VARBINARY (MAX) позволяют получать до 2 ГБ данных
В документах MSDN:
nvarchar [(n | max)]
Символьные данные Unicode с переменной длиной. n может быть значением от 1 до 4000. max указывает, что максимальный размер хранилища составляет 2 ^ 31-1 байта. (= 2 ГБ)
Типы (N) VARCHAR (MAX) также позволяют использовать для них всю обычную строковую функцию T-SQL - что-то, что не было с (N) TEXT вообще.
Как показано в статье статьи MSDN, типы замещения также поддерживаются в триггерах:
SQL Server 2008 не разрешает текст, ntext или изображение. ссылки во вставке и удалении таблицы для триггеров AFTER. Однако, эти типы данных включены для только для обратной совместимости. Предпочтительное хранилище для больших данных заключается в использовании varchar (max), nvarchar (max) и данные varbinary (max)типы. И ПОСЛЕ И ВМЕСТО триггеры поддерживают varchar (max), nvarchar (max) и varbinary (max) данные во вставленных и удаленных таблицах.
По существу вам необходимо присоединиться к псевдо таблицам inserted и/или deleted в базовую таблицу и прочитать данные NTEXT, TEXT или IMAGE из нижележащих таблиц.