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

Откуда:
Сообщений: 35
Здравствуйте, камрады. При запуске джоба с репликацией сегодня утром она зафейлилась с ошибкой "Репликация таблиц с данными невозможна, так как существуют таблицы, у которых первичный ключ не IDENTITY. [SQLSTATE 42000] (Error 50000). The step failed." Честно скажу, что увидел такую шляпу в первый раз. Перерытый интернет не помог. Ковыряние в настройках репликации тоже, так как я слабо представлял, что именно нужно исправлять. Засим вопрос: кто когда-нибудь видел такую ошибку и что с ней делать?
27 май 13, 15:44    [14354798]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008: ошибка репликации  [new]
Glory
Member

Откуда:
Сообщений: 104751
Error 50000 - это user-defined error
27 май 13, 15:46    [14354816]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008: ошибка репликации  [new]
invm
Member

Откуда: Москва
Сообщений: 9722
Grum001
При запуске джоба с репликацией
Что за джоб? У вас там точно штатная репликация?
27 май 13, 16:29    [14355140]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008: ошибка репликации  [new]
Grum001
Member

Откуда:
Сообщений: 35
invm, точно штатная. По информации, которой я владею, эта репликация отправляет каждое утро рабочего дня данные на другой сервак. Соответственно, всю прошлую неделю по утрам она отрабатывала благополучно, а в понедельник свалилась. Никаких глобальных изменений в пятницу не припомню.
27 май 13, 16:46    [14355269]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008: ошибка репликации  [new]
invm
Member

Откуда: Москва
Сообщений: 9722
Grum001
точно штатная
Штатная не может выдавать таких ошибок.
27 май 13, 17:12    [14355485]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008: ошибка репликации  [new]
Grum001
Member

Откуда:
Сообщений: 35
invm, ох, пардонте, если вы имели в виду, используется ли стандартный механизм или написанная самим админом репликация - то я тут, к сожалению, точного ответа дать не могу: слабо себе представляю, как это определить. Внутри задания на репликацию увидел только "execute *******", как понял, запуск какой-то функции. Сейчас роюсь в поисках этой функции, возможно, в ее коде что-то пойму (благо SQL на среднем уровне знаю).
27 май 13, 18:42    [14355903]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008: ошибка репликации  [new]
invm
Member

Откуда: Москва
Сообщений: 9722
Grum001,

Джоб заскриптуйте и покажите.
27 май 13, 19:03    [14355973]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008: ошибка репликации  [new]
Grum001
Member

Откуда:
Сообщений: 35
invm, заскриптованный джоб выглядит так:

автор
USE [msdb]
GO

/****** Object: Job [BOSS_REPLIC_JOB_lite_vsk_46] Script Date: 05/28/2013 08:02:23 ******/
BEGIN TRANSACTION
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
/****** Object: JobCategory [BOSS-Jobs] Script Date: 05/28/2013 08:02:23 ******/
IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'Jobs' AND category_class=1)
BEGIN
EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'Jobs'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

END

DECLARE @jobId BINARY(16)
EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'REPLIC_JOB_1',
@enabled=1,
@notify_level_eventlog=0,
@notify_level_email=0,
@notify_level_netsend=0,
@notify_level_page=0,
@delete_level=0,
@description=N'Задача для обработки данных системы',
@category_name=N'Jobs',
@owner_login_name=N'ULTRA\Admin', @job_id = @jobId OUTPUT
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
/****** Object: Step [REPLIC_JOB_1] Script Date: 05/28/2013 08:02:23 ******/
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'REPLIC_JOB_1',
@step_id=1,
@cmdexec_success_code=0,
@on_success_action=1,
@on_success_step_id=0,
@on_fail_action=2,
@on_fail_step_id=0,
@retry_attempts=0,
@retry_interval=1,
@os_run_priority=0, @subsystem=N'TSQL',
@command=N'exec rep_job_export 2, ''1'' ',
@database_name=N'base01',
@output_file_name=N'C:\Log\REPLIC_JOB_1.txt',
@flags=2
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'REPLIC_JOB_1',
@enabled=1,
@freq_type=8,
@freq_interval=62,
@freq_subday_type=1,
@freq_subday_interval=0,
@freq_relative_interval=0,
@freq_recurrence_factor=1,
@active_start_date=20110825,
@active_end_date=20990101,
@active_start_time=200000,
@active_end_time=235959,
@schedule_uid=N'b8bd5fe9-fb15-406d-92f5-f1fe7dbf01bb'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
COMMIT TRANSACTION
GOTO EndSave
QuitWithRollback:
IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
EndSave:

GO
28 май 13, 08:11    [14356988]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008: ошибка репликации  [new]
Glory
Member

Откуда:
Сообщений: 104751
@command=N'exec rep_job_export 2, ''1'' '
Т.е. процедура rep_job_export не пользовательская ?
28 май 13, 09:27    [14357219]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008: ошибка репликации  [new]
Jovanny
Member

Откуда:
Сообщений: 1196
@job_name=N'REPLIC_JOB_1' - как-то на штатную репликацию непохоже.:)
28 май 13, 09:48    [14357314]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008: ошибка репликации  [new]
invm
Member

Откуда: Москва
Сообщений: 9722
Grum001,

У вас самописная репликация. Так что все вопросы следует адресовать ее авторам.
28 май 13, 09:56    [14357345]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008: ошибка репликации  [new]
Grum001
Member

Откуда:
Сообщений: 35
Мда-с, понятно... попытаюсь попинать админов из центрального офиса, может, они в курсе, кто прикладывал руку к процедуре. Сегодня утром, кстати, репликация опять свалилась.
28 май 13, 10:03    [14357390]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить