Репликация - определенный пользователем тип таблицы не распространяется на подписчика. - PullRequest
2 голосов
/ 23 декабря 2010

Я создал пользовательский тип таблицы с именем tvp_Shipment с двумя столбцами (идентификатор и имя). сгенерировал снимок, и определенный пользователем тип таблицы был правильно распространен среди всех подписчиков.

Я использовал этот твп в хранимой процедуре, и все работало нормально.

Затем я хотел добавить еще один столбец созданный_датой к этому значению таблицы. Я удалил хранимую процедуру (тоже из репликации), а также отбросил и заново создал тип таблицы, определенный пользователем, с 3 столбцами, а затем заново создал хранимую процедуру и включил это для публикации

Когда я генерирую новый снимок, изменения в определяемом пользователем типе таблицы не распространяются на подписчика. Недавно добавленный столбец не был добавлен в подписку.

Сообщения об ошибках:

The schema script 'usp_InsertAirSa95c0e23_218.sch' could not be propagated to the subscriber. (Source: MSSQL_REPL, Error number: MSSQL_REPL-2147201001)
Get help: http://help/MSSQL_REPL-2147201001
Invalid column name 'created_date'. (Source: MSSQLServer, Error number: 207)
Get help: http://help/207

1 Ответ

2 голосов
/ 09 января 2011

В публикации установлен ли параметр replicate_ddl в значение true?Кроме того, какое значение имеет значение pre_cmd для рассматриваемой статьи?Если ни один из них не укажет вам правильное направление, посмотрите на файл, который, по его словам, не работает.Это должен быть читаемый человеком файл T-SQL, который находится у дистрибьютора в папке моментальных снимков.Если ошибка неочевидна, вы можете попробовать запустить ее на подписчике и посмотреть, что она вам дает.Я предполагаю, что он не повторял изменение столбца, но вы поместили в него индекс, который ссылается на этот столбец.Но это только предположение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...