다음을 통해 공유


서버 구성: 잠금

적용 대상: SQL Server

이 문서에서는 SQL Server Management Studio 또는 Transact-SQL을 사용하여 SQL Server에서 서버 구성 옵션을 구성하는 locks 방법을 설명합니다. 이 locks 옵션은 사용 가능한 최대 잠금 수를 설정하여 SQL Server에서 사용하는 메모리 양을 제한합니다데이터베이스 엔진. 기본 설정은 0이며 데이터베이스 엔진이 시스템 요구 사항의 변화를 기준으로 동적으로 잠금 구조를 할당하거나 할당을 취소할 수 있습니다.

Important

SQL Server의 이후 버전에서는 이 기능이 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 애플리케이션은 수정하세요.

권장 사항

이 옵션은 고급 옵션으로, 숙련된 데이터베이스 관리자나 공인된 SQL Server 전문가만이 변경해야 합니다.

서버가 설정으로 0시작 locks 되면 잠금 관리자는 2,500개의 잠금 구조의 초기 풀에 대해 데이터베이스 엔진 충분한 메모리를 획득합니다. 잠금 풀이 소진되면 풀에 대해 더 많은 메모리가 확보됩니다.

일반적으로 데이터베이스 엔진 메모리 풀에서 사용할 수 있는 것보다 잠금 풀에 더 많은 메모리가 필요하고 더 많은 컴퓨터 메모리를 사용할 수 있는 경우(임계값에 max server memory 도달하지 않은) 데이터베이스 엔진 잠금 요청을 충족하기 위해 동적으로 메모리를 할당합니다. 그러나 해당 메모리를 할당하면 운영 체제 수준에서 페이징이 발생하는 경우(예: 다른 애플리케이션이 SQL Server 인스턴스와 동일한 컴퓨터에서 실행되고 해당 메모리를 사용하는 경우) 더 많은 잠금 공간이 할당되지 않습니다. 동적 잠금 풀은 데이터베이스 엔진 할당된 메모리의 60% 이상을 획득하지 않습니다. 잠금 풀이 데이터베이스 엔진 인스턴스에서 획득한 메모리의 60%에 도달하거나 컴퓨터에서 더 이상 메모리를 사용할 수 없으면 잠금에 대한 추가 요청에서 오류가 발생합니다.

SQL Server 가 잠금을 동적으로 사용하는 것이 권장 구성입니다. 그러나 잠금 리소스를 동적으로 할당하는 SQL Server의 기능을 설정하고 locks 재정의할 수 있습니다. 이외의 0값으로 설정된 경우 locks 데이터베이스 엔진 지정된 locks값보다 더 많은 잠금을 할당할 수 없습니다. SQL Server에서 사용 가능한 잠금 수를 초과했다는 메시지가 표시되면 이 값을 늘입니다. 각 잠금은 메모리(잠금당 96바이트)를 소모하므로 이 값을 늘리려면 서버 전용 메모리 양을 늘려야 할 수 있습니다.

locks 옵션은 잠금 에스컬레이션이 발생하는 경우에도 영향을 줍니다. 로 설정0하면 locks 현재 잠금 구조에서 사용하는 메모리가 데이터베이스 엔진 메모리 풀의 40%에 도달하면 잠금 에스컬레이션이 발생합니다. locks 로 설정0되지 않으면 잠금 수가 지정된 locks값의 40%에 도달하면 잠금 에스컬레이션이 발생합니다.

사용 권한

매개 변수 없이 또는 첫 번째 매개 변수만 사용하여 sp_configure 를 실행할 수 있는 권한은 기본적으로 모든 사용자에게 부여됩니다. 구성 옵션을 변경하거나 RECONFIGURE 문을 실행하는 두 매개 변수를 사용하여 sp_configure를 실행하려면 사용자에게 ALTER SETTINGS 서버 수준 권한이 있어야 합니다. ALTER SETTINGS 권한은 sysadminserveradmin 고정 서버 역할에 의해 암시적으로 보유됩니다.

SQL Server Management Studio 사용

  1. 개체 탐색기에서 서버를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.

  2. 고급 노드를 선택합니다.

  3. 병렬 처리에서 옵션에 원하는 값을 입력합니다locks.

    locks 옵션을 사용하여 사용 가능한 최대 잠금 수를 설정하여 SQL Server에서 사용하는 메모리 양을 제한합니다.

Transact-SQL 사용

  1. 데이터베이스 엔진에 연결합니다.

  2. 표준 도구 모음에서 새 쿼리를 선택합니다.

  3. 다음 예시를 복사하여 쿼리 창에 붙여넣고 실행을 선택합니다. 이 예는 sp_configure를 사용하여 locks 옵션 값을 설정함으로써 모든 사용자가 사용할 수 있는 잠금 수를 20000개로 설정하는 방법을 보여 줍니다.

    USE master;
    GO
    
    EXECUTE sp_configure 'show advanced options', 1;
    GO
    
    RECONFIGURE;
    GO
    
    EXECUTE sp_configure 'locks', 20000;
    GO
    
    RECONFIGURE;
    GO
    
    EXECUTE sp_configure 'show advanced options', 0;
    GO
    
    RECONFIGURE;
    GO
    

자세한 내용은 서버 구성 옵션을 참조하세요.

후속 작업: 잠금 옵션을 구성한 후

설정을 적용하려면 서버를 다시 시작해야 합니다.