SQL Server 2008의 IDENTITY_INSERT에 대한 자세한 설명
SQL Server에서 IDENTITY_INSERT
는 데이터베이스가 ID 열에 대한 명시적 값을 허용하는지 여부를 결정하는 핵심 설정입니다. OFF로 설정하면 데이터베이스는 INSERT 작업 중에 이러한 열에 대한 값을 자동으로 생성합니다. 그러나 경우에 따라 수동으로 값을 삽입하려면 IDENTITY_INSERT
을 ON으로 설정해야 할 수도 있습니다.
IDENTITY_INSERT를 비활성화하고 활성화하는 이유는 무엇입니까?
비활성화하는 일반적인 이유IDENTITY_INSERT
는 데이터 무결성을 강화하기 위한 것입니다. 명시적인 값 삽입을 방지함으로써 데이터베이스는 연속적인 ID 값이 생성되도록 보장하여 중복 항목의 위험을 줄입니다. 그러나 외부 소스에서 데이터 가져오기와 같은 일부 특정 작업의 경우 ID 값을 수동으로 할당해야 할 수도 있습니다.
SQL 쿼리를 사용하여 IDENTITY_INSERT 활성화
SQL Server 2008에서 IDENTITY_INSERT
을 활성화하려면 다음 쿼리를 실행하세요.
SET IDENTITY_INSERT Database.dbo.Baskets ON
"Database" 및 "dbo"를 해당 데이터베이스 및 스키마 이름으로 바꿉니다. 이 쿼리를 실행한 후 수동 삽입을 진행할 수 있습니다.
코드에서 활성화된 IDENTITY_INSERT 처리
쿼리 사용이 활성화되어 있어도IDENTITY_INSERT
INSERT 작업 중에 계속 오류가 발생하는 경우 애플리케이션 코드 때문일 수 있습니다. 코드가 ID 열을 명시적으로 설정하려고 시도하지 않는지 확인하세요. IDENTITY_INSERT
을 OFF로 설정하면 데이터베이스는 코드에 지정된 명시적 값에 관계없이 자동으로 값을 할당합니다.
수동 삽입을 완료한 후 IDENTITY_INSERT
를 OFF로 되돌려 데이터 무결성을 복원해야 한다는 점을 기억하세요. 다음 쿼리를 사용하여 비활성화합니다.
SET IDENTITY_INSERT Database.dbo.Baskets OFF
위 내용은 SQL Server의 IDENTITY_INSERT를 언제, 어떻게 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!