Trigger funktioniert nicht wegen des veralteten datatyps in der replizierten Tabelle

Ich habe eine Tabelle in meiner SQL server 2005 database, die ein Feld mit dem datatyp NTEXT hat. Diese Tabelle wird in einer Merge-Replikation mit vielen SQLCE-Abonnements repliziert.

Ich habe versucht, einen ON INSERT Trigger zu dieser Tabelle hinzuzufügen, um das NTEXT-Feld zu verarbeiten. Aber ich habe diesen Fehler:

 Cannot use text, ntext, or image columns in the 'inserted' and 'deleted' tables. 

Auf meinen Untersuchungen fand ich mehrere Beiträge, die NTEXT veraltet ist, und ich sollte zu NVARCHAR (MAX) wechseln. Aber ich kann das nicht tun, ohne den Schnappschuss neu zu erstellen, was für die Leute, die mit den Geräten arbeiten, ein Problem ist (wegen der datamenge und der time).

Gibt es einen Workaround für den Insert-Trigger, um die datatypen zu behandeln?

Hier wird der Fehler geworfen:

 DECLARE c1 CURSOR FOR SELECT ControlValue FROM INSERTED 

Sie können dies tun, indem Sie die data aus der zugrunde liegenden Tabelle lesen und sich bei INSERTED anschließen.

Das ist der Workaround:

 DECLARE c1 CURSOR FOR SELECT t.ControlValue from INSERTED i INNER JOIN TableName t on i.PrimaryKey = t.PrimaryKey 

Im Wesentlichen müssen Sie die inserted und / oder deleted NTEXT an die zugrunde liegende Tabelle anschließen und die NTEXT , NTEXT oder IMAGE data aus den zugrunde liegenden Tabellen lesen.