Недавно я обновил свой сервер SQL 2005 до SQL 2005 SP3. У меня есть репликация с SQL 2005 на SQL 2005, оба являются стандартной версией. Во время обновления у меня не возникло проблем, и репликация, которая уже была настроена, продолжает работать отлично. Недавно я попытался создать новую публикацию для новой учетной записи TEST, и я получаю следующую ошибку:
«Параллельный моментальный снимок для публикации TESTACCT недоступен, потому что он не был полностью сгенерирован или не запущен агент чтения журнала для его активации. Если создание одновременного моментального снимка было прервано, агент моментальных снимков для публикации»
Я пробовал отбросить репликацию на БД. exec sp_replicationdboption @dbname = N'TESTACCT ', @optname = N'publish', @value = N'false '
Я чем воссоздал публикацию и подписку.
Моментальный снимок был успешно создан, и агент чтения журнала запущен. Когда я просматриваю статус синхронизации подписки, я получаю сообщение об ошибке выше. Я включил логирование и ничего выделяющегося не увидел.
010-07-19 19: 43: 53.065 Агент чтения журнала Microsoft SQL Server 9.00.4035.00 2010-07-19 19: 43: 53.065 Авторские права (c) 2005 Microsoft Corporation 2010-07-19 19: 43: 53.065 Репликация Microsoft SQL Server Агент: logread 2010-07-19 19: 43: 53.065 2010-07-19 19: 43: 53.065 Временные метки, добавленные к строкам вывода, выражаются в единицах времени UTC. 2010-07-19 19: 43: 53.065 Пользовательские значения параметров агента: -Publisher TEST-APP-DB -PublisherDB TESTTEST -Distributor TEST-APP-DB -DistributorSecurityMode 1 -Continuous -OutputVerboseLevel 2 -Output E: \ Distribution_Agent2.log -XJOBID 0x046D19B54A2ACF43A7AD2BF20D05CAAF -XJOBNAME TEST-APP-DB-TESTTEST-15 -XSTEPID 2 -XSUBSYSTEM LogReader -XSERVER TEST-APP-DB -XCMDLINE000 0 -XCancelEventHand 0 -XCancelEventHand0: 005: 005: 07 TEST-APP-DB в источнике данных: 'TEST-APP-DB', расположение: '', каталог: 'TESTTEST', providerstring: '' с использованием поставщика 'SQLNCLI' 2010-07-19 19: 43: 53.221 OLE DB TEST- APP-DB: TEST-APP-DB СУБД: Microsoft SQL Server Версия: 09.00.4053 имя каталога: TESTTEST имя пользователя: dbo Соответствие API: 0 Соответствие SQL: 0 возможность транзакции: 1 только чтение: F идентификатор кавычки char: "non_nullable_columns: 0 использование владельца: 15 максимальное имя таблицы len: 128 максимальное имя столбца len: 128 требуется длинные данные len: максимальное количество столбцов в таблице: 1000 максимальное количество столбцов в индексе: 16 м ax char literal len: 131072 max statement len: 131072 max row size: 131072 2010-07-19 19: 43: 53.221 OLE DB TEST-APP-DB 'TEST-APP-DB': выберите is_srvrolemember ('sysadmin'), is_member ('db_owner') 2010-07-19 19: 43: 53.221 OLE DB TEST-APP-DB 'TEST-APP-DB': выберите db_id () 2010-07-19 19: 43: 53.221 Отключение от OLE DB TEST- APP-DB 'TEST-APP-DB' 2010-07-19 19: 43: 53.221 Значения параметров, полученные из профиля агента: -pollinginterval 5000 -historyverboselevel 1 -logintimeout 15 -querytimeout 1800 -readbatchsize 500 -readbatchsize 500000 2010-07-19 19: 43: 53.237 Подключение к издателю OLE DB в источнике данных: 'TEST-APP-DB', расположение: '', каталог: 'TESTTEST', providerstring: '' с использованием поставщика 'SQLNCLI' 19.07.2010 19:43: 53.237 OLE DB Издатель: TEST-APP-DB СУБД: Microsoft SQL Server Версия: 09.00.4053 имя каталога: TESTTEST имя пользователя: dbo Соответствие API: 0 Соответствие SQL: 0 возможность транзакции: 1 только чтение: F идентификатор кавычки char: "non_nullable_columns : 0 использование владельцем: 15 максимальное имя таблицы len: 128 максимальное имя столбца len: 128 нужны длинные данные len: max столбцы в таблице: 1000 максимальное количество столбцов в индексе: 16 max char literal len: 131072 max оператор len: 131072 максимальный размер строки: 131072 2010-07-19 19: 43: 53.237 OLE Издатель БД: TEST-APP-DB СУБД: Microsoft SQL Server Версия: 09.00.4053 имя каталога: TESTTEST имя пользователя: dbo Соответствие API: 0 Соответствие SQL: 0 возможность транзакции: 1 только чтение: F идентификатор кавычки char: "non_nullable_columns: 0 использование владельцем: 15 макс. имя таблицы len: 128 макс. имя столбца len: 128 требуется длинных данных len: макс. столбцы в таблице: 1000 макс. столбцов в индексе: 16 макс. литерал char: 131072 макс. инструкция len: 131072 макс. размер строки: 131072 2010 -07-19 19: 43: 53.237 Издатель OLE DB 'TEST-APP-DB': выберите @@ SERVERNAME 2010-07-19 19: 43: 53.237 Подключение к OLE DB DISTOLE в источнике данных: 'TEST-APP-DB', location: '', catalog: 'distribution', providerstring: '' using provider 'SQLNCLI' 2010-07-19 19: 43: 53.237 OLE DB DISTOLE: TEST-APP-DB СУБД: Microsoft SQL Server Версия: 09.00.4053 каталог нам e: имя пользователя распространения: dbo Соответствие API: 0 Соответствие SQL: 0 возможность транзакции: 1 только чтение: F идентификатор кавычки char: "non_nullable_columns: 0 использование владельца: 15 максимальное имя таблицы len: 128 максимальное имя столбца len: 128 нужны длинные данные len: max столбцы в таблице: не более 1000 столбцов в индексе: 16 max char literal len: 131072 max оператор len: 131072 максимальный размер строки: 131072 2010-07-19 19: 43: 53.237 OLE DB DISTOLE: TEST-APP-DB DBMS : Microsoft SQL Server Версия: 09.00.4053 имя каталога: имя пользователя распространения: соответствие API dbo: 0 Соответствие SQL: 0 возможность транзакции: 1 только чтение: F-идентификатор кавычки char: "non_nullable_columns: 0 использование владельцем: 15 макс. Имя таблицы len: 128 макс. Имя столбца len: 128 нужны длинные данные len: макс. Столбцы в таблице: 1000 макс. Столбцов в индексе: 16 макс. Литерал char len: 131072 макс. Инструкция len: 131072 макс. Размер строки: 131072 2010-07-19 19: 43: 53.237 OLE DB DISTOLE 'TEST-APP-DB': выберите источник данных, srvid от master..sysservers, где upper (srvname) = upper (N'TEST-APP-DB ') 2010-07- 19 19: 43: 53.237 Издатель OLE DB «TEST-APP-DB»: sp_MSgetversion 2010-07-19 19: 43: 53.252 Статус: 4096, код: 20024, текст: «Инициализация». 2010-07-19 19: 43: 53.252 Агент запущен. Используйте Replication Monitor для просмотра деталей этого сеанса агента. 2010-07-19 19: 43: 53.252 OLE DB DISTOLE 'TEST-APP-DB': sp_MSget_last_transaction @publisher_id = 0, @publisher_db = N'TESTTEST ', @for_truncate = 0x0 2010-07-19 19: 43: 53.252 OLE DB DISTOLE 'TEST-APP-DB': sp_MSquery_syncstates 0, N'TESTTEST '2010-07-19 19: 43: 53.252 OLE DB DISTOLE' TEST-APP-DB ': sp_MSget_last_transaction @publisher_id = 0, @publisher_db = N'TESTTEST ', @for_truncate = 0x1 2010-07-19 19: 43: 53.252 Издатель: {call sp_repldone (0x00022b330000086000a2, 0x00022b330000086000a2, 0, 0)} 2010-07-19 19: 43: 53.252 Издатель: {call sp_replcmds (500, 0 , 0,, 0, 500000)} 2010-07-19 19: 43: 53.252 OLE DB DISTOLE 'TEST-APP-DB': sp_MSget_last_transaction @publisher_id = 0, @publisher_db = N'TESTTEST ', @for_truncate = 0x1 2010- 07-19 19: 43: 53.252 Издатель: exec sp_replcounters N'TESTTEST '2010-07-19 19: 43: 53.252 Издатель OLE DB' TEST-APP-DB ': exec sp_replcounters N'TESTTEST' 2010-07-19 19: 43: 53.252 Статус: 16384, код: 20007, текст: «Реплицированные транзакции недоступны.». 2010-07-19 19: 43: 58.252 Издатель: {call sp_replcmds (500, 0, 0,, 5000, 500000)} 2010-07-19 19: 44: 03.252 Издатель: {call sp_replcmds (500, 0, 0, , 5000, 500000)} 2010-07-19 19: 44: 08.268 Издатель: {call sp_replcmds (500, 0, 0,, 5016, 500000)} 2010-07-19 19: 44: 13.268 Издатель: {call sp_replcmds ( 500, 0, 0,, 5000, 500000)} 2010-07-19 19: 44: 18.268 Издатель: {call sp_replcmds (500, 0, 0,, 5000, 500000)} 2010-07-19 19: 44: 23.268 Издатель: {call sp_replcmds (500, 0, 0,, 5000, 500000)} 2010-07-19 19: 44: 28.268 Издатель: {call sp_replcmds (500, 0, 0,, 5000, 500000)}
Любые предложения будут ценны.
Спасибо, Бреннан
Я удалил проблемные записи из таблицы MSsubscriptions в базе данных распространителя.
НАЧАТЬ УДАЛЕНИЕ ТРАНЗАКЦИИ ИЗ dbo.MSsubscriptions, ГДЕ publisher_db = 'TESTDB'
ВЫБРАТЬ * ИЗ dbo.MSsubscriptions, ГДЕ publisher_db = 'TESTDB'
ROLLBACK / COMMIT