Aracılığıyla paylaş


Sunucu yapılandırması: kilitler

Şunlar için geçerlidir: SQL Server

Bu makalede, SQL Server Management Studio veya Transact-SQL kullanarak SQL Server'da sunucu yapılandırma seçeneğinin nasıl yapılandırıldığı locks açıklanır. seçeneği locks , SQL Server Veritabanı Altyapısı'nın bunlar için kullandığı bellek miktarını sınırlayan kullanılabilir kilit sayısı üst sınırını ayarlar. Varsayılan ayar 0'dır ve veritabanı altyapısının değişen sistem gereksinimlerine göre kilit yapılarını dinamik olarak ayırmasına ve serbest bırakmasına olanak tanır.

Önemli

Bu özellik, SQL Server'ın gelecek bir sürümünde kaldırılacaktır. Bu özelliği yeni geliştirme çalışmalarında kullanmaktan kaçının ve şu anda bu özelliği kullanan uygulamaları değiştirmeyi planlayın.

Recommendations

Bu seçenek gelişmiş bir seçenektir ve yalnızca deneyimli bir veritabanı uzmanı tarafından değiştirilmelidir.

Sunucu locks olarak ayarlandığında 0, kilit yöneticisi Veritabanı Altyapısı'ndan 2.500 kilit yapısının ilk havuzu için yeterli bellek alır. Kilit havuzu tükendiğinden havuz için daha fazla bellek alınır.

Genellikle, kilit havuzu için Veritabanı Altyapısı bellek havuzunda bulunan bellekten daha fazla bellek gerekiyorsa ve daha fazla bilgisayar belleği varsa ( max server memory (MB) eşik ulaşılmamışsa), Veritabanı Altyapısı kilit isteğini karşılamak için belleği dinamik olarak ayırır. Ancak, bu belleğin ayrılması işletim sistemi düzeyinde disk belleğine neden olursa (örneğin, bir SQL Server örneğiyle aynı bilgisayarda başka bir uygulama çalışıyorsa ve bu belleği kullanıyorsa), daha fazla kilit alanı ayrılmaz. Dinamik kilit havuzu, Veritabanı Altyapısı'na ayrılan belleğin yüzde 60'ından fazlasını almaz. Kilit havuzu Veritabanı Altyapısı örneği tarafından alınan belleğin yüzde 60'ını oluşturduktan veya bilgisayarda kullanılabilir bellek kalmadıktan sonra, kilitler için daha fazla istek bir hata oluşturur.

SQL Server'ın kilitleri dinamik olarak kullanmasına izin vermek önerilen yapılandırmadır. Ancak SQL Server'ın kilit kaynaklarını dinamik olarak ayırma özelliğini ayarlayabilir locks ve geçersiz kılabilirsiniz. locks dışında 0bir değere ayarlandığında, Veritabanı Altyapısı içinde locksbelirtilen değerden daha fazla kilit ayıramaz. SQL Server kullanılabilir kilit sayısını aştığınızı belirten bir ileti görüntülerse bu değeri artırın. Her kilit belleği (kilit başına 96 bayt) tükettiğinden, bu değerin artırılması sunucuya ayrılmış bellek miktarının artırılmasını gerektirebilir.

Bu locks seçenek, kilit yükseltmesi gerçekleştiğinde de etkilenir. locks olarak ayarlandığında0, geçerli kilit yapıları tarafından kullanılan bellek Veritabanı Altyapısı bellek havuzunun yüzde 40'ını aştığında kilit yükseltmesi gerçekleşir. olarak ayarlanmadığında locks0kilit yükseltmesi, kilit sayısı için locksbelirtilen değerin yüzde 40'ını aştığında gerçekleşir.

Permissions

Üzerinde parametre olmadan veya yalnızca ilk parametreyle yürütme izinleri sp_configure varsayılan olarak tüm kullanıcılara verilir. Yapılandırma seçeneğini değiştirmek veya deyimini çalıştırmak için her iki parametreyle de yürütmek sp_configureRECONFIGURE için kullanıcıya sunucu düzeyinde izin verilmelidir ALTER SETTINGS . İzin ALTER SETTINGS , sysadmin ve serveradmin sabit sunucu rolleri tarafından örtük olarak tutulur.

SQL Server Management Studio kullanma

  1. Nesne Gezgini'nde bir sunucuya sağ tıklayın ve Özellikler'i seçin.

  2. Gelişmiş düğümü seçin.

  3. Paralellik'in altında seçenek için locks istediğiniz değeri yazın.

    Sql Server'ın locks bunlar için kullandığı bellek miktarını sınırlayan kullanılabilir kilit sayısı üst sınırını ayarlamak için seçeneğini kullanın.

Transact-SQL kullanma

  1. Veritabanı Altyapısı'na bağlanın.

  2. Standart çubuğundan Yeni Sorgu'yu seçin.

  3. Aşağıdaki örneği kopyalayıp sorgu penceresine yapıştırın ve Yürüt'e tıklayın. Bu örnekte, tüm kullanıcılar için kullanılabilir kilit sayısını olarak ayarlama seçeneğinin locks değerini ayarlamak için 20000 nasıl kullanılacağı gösterilmektedir.

    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
    

Daha fazla bilgi için bkz . Sunucu yapılandırma seçenekleri.

İzleme: Kilitler seçeneğini yapılandırdıktan sonra

Ayarın etkili olması için önce sunucunun yeniden başlatılması gerekir.