Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 проблема с репликацией  [new]
temp-for-testing
Member

Откуда:
Сообщений: 384
Добрый день.. Помогите разобраться, из-за чего ошибка в репликации

@@VERSION
Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (X64) Mar 29 2009 10:11:52 Copyright (c) 1988-2008 Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 5.2 <X64> (Build 3790: Service Pack 2)


Репликация транзакциями.. Все работало нормально, пока не остановилась репликация с ошибкой

Incorrect syntax near 'dbo'. (Source: MSSQLServer, Error number: 102)


В логах агента есть такое:

Date		10/11/2011 0:07:03
Log Job History (MainServer-MainBase-MainBase_New-ReserveServer-74)

Step ID 2
Server MainServer
Job Name MainServer-MainBase-MainBase_New-ReserveServer-74
Step Name Run agent.
Duration 14:42:51
Sql Severity 0
Sql Message ID 0
Operator Emailed
Operator Net sent
Operator Paged
Retries Attempted 0

Message
2011-11-10 12:49:46.521 Copyright (c) 2008 Microsoft Corporation
2011-11-10 12:49:46.521 Microsoft SQL Server Replication Agent: distrib
2011-11-10 12:49:46.521
2011-11-10 12:49:46.521 The timestamps prepended to the output lines are expressed in terms of UTC time.
2011-11-10 12:49:46.521 User-specified agent parameter values:
-Subscriber ReserveServer
-SubscriberDB MainBase
-Publisher MainServer
-Distributor MainServer
-DistributorSecurityMode 1
-Publication MainBase_New
-PublisherDB MainBase
-Continuous
-XJOBID 0x2C67B0EEBB3B3D40B3AD76DC41120861
-XJOBNAME MainServer-MainBase-MainBase_New-ReserveServer-74
-XSTEPID 2
-XSUBSYSTEM Distribution
-XSERVER MainServer
-XCMDLINE 0
-XCancelEventHandle 00000000000008D4
-XParentProcessHandle 0000000000000ACC
2011-11-10 12:49:46.521 Startup Delay: 6366 (msecs)
2011-11-10 12:49:52.880 Connecting to Distributor 'MainServer'
2011-11-10 12:49:52.927 Parameter values obtained from agent profile:
-bcpbatchsize 2147473647
-commitbatchsize 100
-commitbatchthreshold 1000
-historyverboselevel 1
-keepalivemessageinterval 300
-logintimeout 15
-maxbcpthreads 1
-maxdeliveredtransactions 0
-pollinginterval 5000
-querytimeout 1800
-skiperrors
-transactionsperhistory 100
2011-11-10 12:49:52.927 Connecting to Subscriber 'ReserveServer'
2011-11-10 12:49:52.989 Initializing
2011-11-10 12:49:54.583 Agent message code 102. Incorrect syntax near 'dbo'.
2011-11-10 12:49:54.630 Category:COMMAND
Source: Failed Command
Number:
Message: if @@trancount > 0 rollback tran
2011-11-10 12:49:54.645 Category:NULL
Source: Microsoft SQL Server Native Client 10.0
Number: 102
Message: Incorrect syntax near 'dbo'.

из-за чего может возникать эта ошибка?
10 ноя 11, 17:01    [11576839]     Ответить | Цитировать Сообщить модератору
 Re: проблема с репликацией  [new]
invm
Member

Откуда: Москва
Сообщений: 9845
С помощью sp_browsereplcmds вытащите с дистрибьютора реплицируемые команды и прогоните их на подписчике в транзакции с обязательным откатом. Или попробуйте профайлером отловить ошибочную инструкцию.
10 ноя 11, 17:27    [11577110]     Ответить | Цитировать Сообщить модератору
 Re: проблема с репликацией  [new]
temp-for-testing
Member

Откуда:
Сообщений: 384
invm,

спасибо.. нашел в чем была проблема

изменяли триггер таким образом

ALTER
TRIGGER [dbo].[SomeTable_Upd]
	 ON	[dbo].[SomeTable] 
	 AFTER UPDATE
NOT FOR REPLICATION
AS 
BEGIN

а на подписчике почему-то пытался выполниться такой запрос

if object_id('[SomeTable_Upd]') is not null exec('ALTER TRIGGER [dbo].[SomeTable_Upd] on [dbo].[SomeTable] 	[dbo].[SomeTable] 
	 AFTER UPDATE
NOT FOR REPLICATION
AS 
BEGIN

каким образом могло появится второе [dbo].[SomeTable]? его точно не было в скрипте на издателе, иначе бы там запрос не выполнился
10 ноя 11, 18:08    [11577571]     Ответить | Цитировать Сообщить модератору
 Re: проблема с репликацией  [new]
invm
Member

Откуда: Москва
Сообщений: 9845
temp-for-testing, без подробностей трудно о чем-либо судить.
10 ноя 11, 18:20    [11577664]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить