트랜잭션 번호와 같이 증가 된 고유 키 값을 추적하는 SQL Server 2008R2 테이블이 있습니다. 이는 시퀀스 개체의 잘못된 버전과 같습니다. 이 테이블에는 약 300 개의 고유 키가 있습니다. 내 문제는 이전에 사용 된 번호를 유지하기 때문에 테이블에 여러 개의 100,000 개의 행이 증가한다는 것입니다. 제 문제는 일주일에 한 번 또는 성능이 저하되면 테이블을 정리해야한다는 것입니다. Truncate를 사용하고 SP를 시작하여 300 개의 키 각각에 대해 다음 증분 값을 생성하려고합니다. 이것은 약 5 분의 런타임으로 작동하지만,이 시간 동안 시스템은 데이터가 없기 때문에 테이블을 사용하고 오류를 던지려고합니다. 테이블을 잠그고 사용자 액세스를 차단하고 자물쇠를 자르고 올릴 수있는 방법이 있습니까?SQL 테이블을 자르는 동안 사용자를 차단하는 방법
1
A
답변
3
TRUNCATE가 자동으로 전체 테이블을 잠급니다. delete 문은 사용자 쿼리를 방해하지 않는 행 잠금을 구현합니다. 당신은 근무 시간 외의 시간에 오래된 레코드를 없앨 생각을하고 싶을 것입니다.
1
독자의 협조가 필요합니다. serializable과 같이 차단 수준이 높은 격리 수준을 사용하지 않으려면 sp_getapplock 및 sp_releaseapplock을 사용하여 재생성 프로세스 중에 테이블을 보호 할 수 있습니다. https://msdn.microsoft.com/en-us/library/ms189823.aspx
새 테이블을 다른 테이블에 빌드 한 다음 sp_rename을 사용하여 테이블을 바꿀 수도 있습니다.
관련 문제
- 1. 테이블을 자르는 동안 대기하지 않음
- 2. mysql에서이 테이블을 자르는 방법?
- 3. VS2010 데이터 연결의 SQL 테이블을 자르는 방법
- 4. 사용자를 차단하는 방법?
- 5. greenDAO를 사용하여 테이블을 자르는 방법
- 6. 거대한 mysql 테이블을 자르는 방법
- 7. Informix : dbexport를 가져올 때 테이블을 자르는 방법
- 8. 평일에 테이블을 자르는 기능
- 9. 내 앱에서 사용자를 차단하는 방법 (swift + parse)
- 10. 다른 테이블을 차단하는 삽입물 삽입
- 11. 연결된 서버에서 테이블을 자르는 문제
- 12. UIView 콘텐츠를 자르는 방법?
- 13. Quickblox 기본 사용자를 차단하는 방법은 무엇입니까?
- 14. 내 사이트에서 사용자를 차단하는 효과적인 방법은 무엇입니까?
- 15. 페이스 북 내 Facebook 앱에서 사용자를 차단하는 방법?
- 16. 내 사이트에서 Windows XP 및 IE6 사용자를 차단하는 방법? : P
- 17. 지속적으로 메모리를 할당하여 시스템을 손상시키고 표준 사용자를 차단하는 방법
- 18. 파일을 제거하기 위해 스티키 비트로 루트 사용자를 차단하는 방법
- 19. Sql 테이블을 전환하는 방법
- 20. 테이블을 루핑하는 동안 SQL 문을 실행하십시오.
- 21. 테이블을 생성하는 동안 내 SQL 주석
- 22. COUNT() 함수를 선택하는 동안 SQL 테이블을 조인하는 방법?
- 23. Hadoop-Hive에서 테이블을 삭제하거나 자르는 방법은 무엇입니까?
- 24. 이러한 SQL 테이블을 해결하는 방법
- 25. Django 모델을 생성하는 동안 테이블을 채우는 방법?
- 26. SQL Server : 테이블을 바꾸는 동안 CRUD를 수행하는 동안 테이블 B?
- 27. waitpid가 루프를 차단하는 방법
- 28. feathersjs에서 사용자 생성을 차단하는 방법
- 29. SQL Server 2008에서 실행될 특정 SQL 쿼리를 차단하는 방법
"DB에서 사용자를 어떻게 퇴장시킬 수 있습니까?" – ajeh
다른 테이블에서 프로세스를 수행 한 다음, 완료되면 이전 테이블의 이름을 다른 것으로 변경하고 새 테이블을 "활성"테이블로 바꿀 수 있습니까? 그렇다면 즉각적인 것입니다 (잠시 멈추지 만 현재 5 분 정도는 아무데도 못하게됩니다). –