테이블의 IDENTITY값 재설정하기 > db

본문 바로가기
사이트 내 전체검색

db

테이블의 IDENTITY값 재설정하기

페이지 정보

작성자 서방님 댓글 0건 조회 144회 작성일 06-09-13 11:19

본문

DBCC CHECKIDENT

지정한 테이블의 현재 ID 값을 검사하고 필요하면 수정합니다.

* 구문

DBCC CHECKIDENT
     ( 'table_name
'
        
[ , { NORESEED
                 | { RESEED [ , new_reseed_value ] }
            }
        ]
    )

* 인수

'table_name' : 현재 ID 값을 검사할 테이블 이름입니다.

NORESEED : 현재 ID 값을 수정하지 않도록 지정합니다.

RESEED : 현재 ID 값을 수정하도록 지정합니다.

new_reseed_value : ID 열의 시드를 재설정할 값입니다.

* 비고

DBCC CHECKIDENT는 필요에 따라 열의 현재 ID 값을 수정합니다.

그러나 ID 열이 NOT FOR REPLICATION 절(CREATE TABLE 또는  ALTER TABLE 문에서)로

만들어졌다면 ID 값이 수정되지 않습니다.

ID 열에 PRIMARY KEY나 UNIQUE KEY 제약 조건이 존재할 경우 잘못된 ID 정보는
오류 메시지 2627을 발생시킵니다.

현재 ID 값의 실제 수정 여부는 매개 변수 지정에 따라 다릅니다.

DBCC CHECKIDENT 문 ID 값 수정
DBCC CHECKIDENT
(' table_name ', NORESEED)
현재 ID 값을 재설정하지 않습니다. DBCC CHECKIDENT는
현재 ID 값과 수정할 값을 나타내는 보고서를 반환합니다.
DBCC CHECKIDENT
(' table_name ') 또는
DBCC CHECKIDENT
(' table_name ', RESEED)
테이블의 현재 ID 값이 열에 저장된 최대 ID 값보다 작을 경우
ID 열의 최대값을 사용하여 재설정됩니다.
DBCC CHECKIDENT
(' table_name ' , RESEED, new_reseed_value )
현재 ID 값이 new_reseed_value 로 설정됩니다. 테이블이 만들어진 이후에 삽입된 행이 없는 경우에는 DBCC CHECKIDENT를 실행한 후에 처음 삽입되는 행이 new_reseed_value 를 ID로 사용하게 됩니다. 그렇지 않은 경우, 다음으로 삽입되는 행이 new_reseed_value + 1을 사용하게 됩니다. new_reseed_value 의 값이 ID 열의 최대 값보다 작은 경우에는 테이블에 대한 후속 참조에 대해 오류 메시지 2627이 생성됩니다.

현재 ID 값이 테이블의 최대값보다 클 경우 DBCC CHECKIDENT는 현재 ID 값을 자동으로 재설정하지 않습니다. 열의 최대값보다 큰 현재 ID 값을 재설정하려면 다음 중 한 방법을 사용합니다.
  • DBCC CHECKIDENT ('table_name', NORESEED)를 실행하여 현재 열의 최대값을 확인한 다음, DBCC CHECKIDENT ('table_name', RESEED, new_reseed_value) 문에서 new_reseed_value를 지정합니다.

  • new_reseed_value를 매우 작은 값으로 설정한 상태에서 DBCC CHECKIDENT ('table_name', RESEED, new_reseed_value)를 실행한 다음, DBCC CHECKIDENT ('table_name', RESEED)를 실행합니다.
결과 집합

옵션 지정 여부에 관계 없이 DBCC CHECKIDENT는 ID 열이 포함된 테이블에 대해 다음 결과 집합을 반환합니다(값은 상황에 따라 다름). 다음은 pubs 데이터베이스의 jobs 테이블을 사용하는 예제입니다.

 
사용 권한

 

DBCC CHECKIDENT는 테이블 소유자와 sysadmin 고정 서버 역할의 구성원, db_owner,
db_ddladmin 고정 데이터베이스 역할에 대한 기본 권한이며, 양도할 수 없습니다.

 
예제

 

A. 필요에 따라 현재 ID 값 재설정

다음은 jobs 테이블의 현재 ID 값을 재설정하는 예제입니다.

 
 
B. 현재 ID 값 보고

다음은 jobs 테이블의 현재 ID 값을 보고하고, ID 값이 정확하지 않아도 그 값을 수정하지 않는
예제입니다.

 
 
C. 현재 ID 값을 30으로 설정

다음은 jobs 테이블의 현재 ID 값을 30으로 설정하는 예제입니다.

 

댓글목록

등록된 댓글이 없습니다.

Total 464건 29 페이지
게시물 검색

회원로그인

접속자집계

오늘
30
어제
302
최대
1,347
전체
155,091
Latest Crypto Fear & Greed Index

그누보드5
Copyright © 서방님.kr All rights reserved.