매일 오전 5시에 로그를 날짜별로 CYCLE 하는 JOB이 실행됩니다.

 

EXEC GameLogDB.dbo.Proc_LogCycle
GO
EXEC GameLogDB2.dbo.Proc_LogCycle
GO
EXEC GameLogDB3.dbo.Proc_LogCycle
GO
... 10개 정도의 DB입니다.

 

Proc_LogCycle 프로시저의 스크립트 내용은 같고

안의 내용은 아래과 같습니다.

 

JOB이 매일 실패하는 것은 아니고,
가끔 실패를 하는데 여러 DB중 하나에서만 갑자기 아래와 같은 오류가  발생하면서 밑에 있는 db들도 실패하게 됩니다.

 

------------------------------------------------------------
-- Proc_LogCycle 프로시저의 스크립트 내용
------------------------------------------------------------
--1. 테이블 생성
TblLogOp1
TblLogOp2
TblLogOp3
TblLogOp4

 

--2. 테이블 이름 세팅--어제 이름으로  
declare @old_table_name1 varchar(100) 
declare @old_table_name2 varchar(100) 
declare @old_table_name3 varchar(100) 
declare @old_table_name4 varchar(100) 

set @old_table_name1 = 'TblLogOp1_'  + convert(char(8),dateadd(dd,-1,getdate()),112)  
set @old_table_name2 = 'TblLogOp2_' + convert(char(8),dateadd(dd,-1,getdate()),112)  
set @old_table_name3 = 'TblLogOp3_' + convert(char(8),dateadd(dd,-1,getdate()),112)  
set @old_table_name4 = 'TblLogOp4_' + convert(char(8),dateadd(dd,-1,getdate()),112)  

 

--3. 테이블 이름 변경 
exec sp_rename 'TblLogOp1',@old_table_name1 
exec sp_rename 'TblLogOp1_new','TblLogOp1' 

 

exec sp_rename 'TblLogOp2',@old_table_name2 
exec sp_rename 'TblLogOp2_new','TblLogOp2' 

 

exec sp_rename 'TblLogOp3',@old_table_name3 
exec sp_rename 'TblLogOp3_new','TblLogOp3' 

 

exec sp_rename 'TblLogOp4',@old_table_name4 
exec sp_rename 'TblLogOp4_new','TblLogOp4'     

 

--4. 이후 어떠한 작업
....

 

------------------------------------------------------------
-- 에러 메시지
------------------------------------------------------------
메시지
다음 사용자로 실행되었습니다: (메시지 15477) 
 주의: 개체 이름 부분을 변경하면 스크립트 및 저장 프로시저를 손상시킬 수 있습니다. [SQLSTATE 01000] (메시지 15477)
 주의: 개체 이름 부분을 변경하면 스크립트 및 저장 프로시저를 손상시킬 수 있습니다. [SQLSTATE 01000] (메시지 15477) 
 주의: 개체 이름 부분을 변경하면 스크립트 및 저장 프로시저를 손상시킬 수 있습니다. [SQLSTATE 01000] (메시지 15477)
 주의: 개체 이름 부분을 변경하면 스크립트 및 저장 프로시저를 손상시킬 수 있습니다. [SQLSTATE 01000] (메시지 15477) 
 주의: 개체 이름 부분을 변경하면 스크립트 및 저장 프로시저를 손상시킬 수 있습니다. [SQLSTATE 01000] (메시지 15477) 
 주의: 개체 이름 부분을 변경하면 스크립트 및 저장 프로시저를 손상시킬 수 있습니다. [SQLSTATE 01000] (메시지 15477) 
 주의: 개체 이름 부분을 변경하면 스크립트 및 저장 프로시저를 손상시킬 수 있습니다. [SQLSTATE 01000] (메시지 15477) 
 주의: 개체 이름 부분을 변경하면 스크립트 및 저장 프로시저를 손상시킬 수 있습니다. [SQLSTATE 01000] (메시지 15477) 
 주의: 개체 이름 부분을 변경하면 스크립트 및 저장 프로시저를 손상시킬 수 있습니다. [SQLSTATE 01000] (메시지 15477) 
 주의: 개체 이름 부분을 변경하면 스크립트 및 저장 프로시저를 손상시킬 수 있습니다. [SQLSTATE 01000] (메시지 15477) 
 주의: 개체 이름 부분을 변경하면 스크립트 및 저장 프로시저를 손상시킬 수 있습니다. [SQLSTATE 01000] (메시지 15477) 
 주의: 개체 이름 부분을 변경하면 스크립트 및 저장 프로시저를 손상시킬 수 있습니다. [SQLSTATE 01000] (메시지 15477) 
 주의: ...  단계가 실패했습니다.

 

 

확인을 해보니, 이름부분만 변경이 안되었고 테이블 생성까지만 되었습니다.

저 메시지는 개체이름 변경할때 경고인거 같은데.. 잡이 실패하는 이유를 잘 모르겠습니다.

 

아.. 그리고 실패를 해서 다시 수동으로

쿼리문으로 다시 실행하면 에러없이 잘 됩니다.

 

부탁드립니다 (_ _)