Udostępnij za pomocą


Konfiguracja serwera: blokady

Dotyczy:SQL Server

W tym artykule opisano sposób konfigurowania locks opcji konfiguracji serwera w programie SQL Server przy użyciu programu SQL Server Management Studio lub Transact-SQL. Opcja locks ustawia maksymalną liczbę dostępnych blokad, która ogranicza ilość pamięci używanej przez aparat bazy danych programu SQL Server. Ustawieniem domyślnym jest wartość 0, która umożliwia aparatowi bazy danych dynamiczne przydzielanie i cofanie przydziału struktur blokady na podstawie zmieniających się wymagań systemowych.

Ważne

Ta funkcja zostanie usunięta w przyszłej wersji programu SQL Server. Unikaj używania tej funkcji w nowych pracach programistycznych i zaplanuj modyfikowanie aplikacji, które obecnie korzystają z tej funkcji.

Rekomendacje

Ta opcja jest opcją zaawansowaną i powinna zostać zmieniona tylko przez doświadczonych specjalistów w dziedzinie bazy danych.

Po uruchomieniu locks serwera z ustawioną wartością 0menedżer blokady uzyskuje wystarczającą ilość pamięci z aparatu bazy danych dla początkowej puli 2500 struktur blokady. W miarę wyczerpania puli blokad większa ilość pamięci jest uzyskiwana dla puli.

Ogólnie rzecz biorąc, jeśli dla puli blokad jest wymagana większa ilość pamięci niż jest dostępna w puli pamięci aparatu bazy danych, a ilość pamięci komputera jest dostępna ( max server memory (MB) próg nie został osiągnięty), aparat bazy danych przydziela pamięć dynamicznie w celu spełnienia żądania blokad. Jeśli jednak przydzielanie tej pamięci spowoduje stronicowanie na poziomie systemu operacyjnego (na przykład jeśli inna aplikacja jest uruchomiona na tym samym komputerze co wystąpienie programu SQL Server i przy użyciu tej pamięci), więcej miejsca na blokadę nie zostanie przydzielone. Pula blokad dynamicznych nie uzyskuje więcej niż 60 procent pamięci przydzielonej do aparatu bazy danych. Gdy pula blokad osiągnie 60 procent pamięci uzyskanej przez wystąpienie aparatu bazy danych lub nie ma więcej pamięci na komputerze, dalsze żądania dotyczące blokad generują błąd.

Zezwalanie programowi SQL Server na dynamiczne używanie blokad jest zalecaną konfiguracją. Można jednak ustawić locks i zastąpić możliwość dynamicznego przydzielania zasobów przez program SQL Server. Jeśli locks parametr jest ustawiony na wartość inną niż 0, aparat bazy danych nie może przydzielić większej liczby blokad niż wartość określona w elem locks. Zwiększ tę wartość, jeśli program SQL Server wyświetli komunikat o przekroczeniu liczby dostępnych blokad. Ponieważ każda blokada zużywa pamięć (96 bajtów na blokadę), zwiększenie tej wartości może wymagać zwiększenia ilości pamięci dedykowanej serwerowi.

Opcja locks ma również wpływ na eskalację blokady. Gdy locks jest ustawiona wartość 0, eskalacja blokady występuje, gdy pamięć używana przez bieżące struktury blokady osiągnie 40 procent puli pamięci aparatu bazy danych. Jeśli locks wartość nie jest ustawiona na 0, eskalacja blokady występuje, gdy liczba blokad osiągnie 40 procent wartości określonej dla locks.

Permissions

Wykonywanie uprawnień bez sp_configure parametrów lub tylko pierwszy parametr jest domyślnie udzielany wszystkim użytkownikom. Aby wykonać sp_configure przy użyciu obu parametrów w celu zmiany opcji konfiguracji lub uruchomienia RECONFIGURE instrukcji, użytkownik musi mieć uprawnienie ALTER SETTINGS na poziomie serwera. Uprawnienie ALTER SETTINGS jest niejawnie przechowywane przez administrator systemu i administrator serwera stałe role serwera.

Korzystanie z programu SQL Server Management Studio

  1. W Eksploratorze obiektów kliknij prawym przyciskiem myszy serwer i wybierz polecenie Właściwości.

  2. Wybierz węzeł Zaawansowany .

  3. W obszarze Równoległość wpisz żądaną wartość locks dla opcji .

    locks Użyj opcji , aby ustawić maksymalną liczbę dostępnych blokad, która ogranicza ilość pamięci używanej przez program SQL Server.

Korzystanie z Transact-SQL

  1. Połącz się z silnikiem bazy danych.

  2. Na pasku Standardowym wybierz pozycję Nowe zapytanie.

  3. Skopiuj poniższy przykład i wklej go w oknie zapytania, a następnie wybierz pozycję Wykonaj. W tym przykładzie pokazano, jak użyć sp_configure , aby ustawić wartość locks opcji w celu ustawienia liczby blokad dostępnych dla wszystkich użytkowników na 20000wartość .

    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
    

Aby uzyskać więcej informacji, zobacz Opcje konfiguracji serwera.

Postępuj zgodnie z instrukcjami: po skonfigurowaniu opcji blokad

Przed rozpoczęciem działania ustawienia należy ponownie uruchomić serwer.