Makale numarası: 815281 - Son Gözden Geçirme: 29 Ocak 2008 Salı - Gözden geçirme: 8.1

Büyük işlemler sırasında "Dosya paylaşım kilidi sayısı aşıldı…" hata iletisi

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.
Önemli Bu makale, kayıt defterini değiştirmeyle ilgili bilgiler içermektedir. Kayıt defterini değiştirmeden önce yedeklemeyi unutmayın. Sorun oluşması durumunda kayıt defterini nasıl geri yükleyeceğinizi bildiğinizden emin olun. Kayıt defterini yedekleme, geri yükleme ve değiştirme hakkında daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
322756  (http://support.microsoft.com/kb/322756/ ) Windows XP ve Windows Server 2003'te kayıt defteri nasıl yedeklenir, düzenlenir ve geri yüklenir

Bu Sayfada

Hepsini aç | Hepsini kapa

Belirtiler

Çok kullanıcılı bir ortamda bir veya daha fazla kullanıcı çok sayıda işlem gerçekleştirdiğinde, işlemler aşağıdaki hata iletisiyle başarısız olabilir:
Dosya paylaşım kilidi sayısı aşıldı. MaxLocksPerFile kayıt defteri girdisini arttırın.

Neden

Bu hata, bir işlemi gerçekleştirmek için gereken kilit sayısı, dosya başına izin verilen kilit sayısı üst sınırından fazlaysa oluşur.

Pratik Çözüm

Uyarı Kayıt Defteri Düzenleyicisi'ni veya başka bir yöntemi kullanarak kayıt defterini hatalı olarak değiştirirseniz önemli sorunlar oluşabilir. Bu sorunlar, işletim sistemini yeniden yüklemenizi gerektirebilir. Microsoft bu sorunların çözülebileceğini garanti etmemektedir. Kayıt defterini değiştirmek kendi sorumluluğunuzdadır.

Bu soruna geçici bir çözüm bulmak için, dosya başına kilit sayısı üst sınırını artırın. Bunu yapmak için aşağıdaki yöntemlerden birini kullanın.

Yöntem 1: Kayıt defteri anahtarını MaxLocksPerFile olarak ayarlayıp dosya başına izin verilen kilit sayısı üst sınırını arttırma

  1. Başlat'ı ve ardından Çalıştır'ı tıklatın.
  2. regedit yazın ve Tamam'ı tıklatın.
  3. Uygun yöntemi kullanın:
    • 32-bit Windows işletim sistemi üzerinde çalışan Microsoft Access 2000, Microsoft Access 2002 ve Microsoft Office Access 2003'te, Kayıt Defteri Düzenleyicisi'ni kullanarak aşağıdaki kayıt defteri anahtarını bulun:
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Jet 4.0

      64-bit Windows işletim sistemi üzerinde çalışan Microsoft Access 2000, Microsoft Access 2002 ve Microsoft Office Access 2003'te, Kayıt Defteri Düzenleyicisi'ni kullanarak aşağıdaki kayıt defteri anahtarını bulun:
      HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Jet\4.0\Engines\Jet 4.0
    • 32-bit Windows işletim sistemi üzerinde çalışan Microsoft Office Access 2007'de, Kayıt Defteri Düzenleyicisi'ni kullanarak aşağıdaki kayıt defteri anahtarını bulun:
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Access Connectivity Engine\Engines\ACE

      64-bit Windows işletim sistemi üzerinde çalışan Microsoft Office Access 2007'de, Kayıt Defteri Düzenleyicisi'ni kullanarak aşağıdaki kayıt defteri anahtarını bulun:
      HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\12.0\Access Connectivity Engine\Engines\ACE
  4. Kayıt Defteri Düzenleyicisi penceresinin sağ bölmesinde, MaxLocksPerFile öğesini çift tıklatın.
  5. DWORD Değerini Düzenle iletişim kutusunda, Ondalık'ı tıklatın.
  6. Değer verisi kutusunun değerini gerekli şekilde değiştirin ve Tamam'ı tıklatın.
Not Bu yöntem, Microsoft Jet veritabanı altyapısı sürüm 4.0'ı kullanan tüm uygulamalar için Windows kayıt defteri ayarını değiştirir.

Yöntem 2: SetOption yöntemini kullanarak MaxLocksPerFile değerini geçici olarak değiştirme

Not Bu makaledeki örnek kod Microsoft Data Access Objects kullanır. Bu kodun düzgün çalışması için Microsoft DAO 3.6 Nesne Kitaplığı'na başvurmalısınız. Bunu yapmak için, Visual Basic Düzenleyicisi'nin Araçlar menüsünde Başvurular'ı tıklatın ve Microsoft DAO 3.6 Nesne Kitaplığı onay kutusunun işaretli olduğunu doğrulayın.

SetOption yöntemi, dosya başına varsayılan kilit sayısını geçici olarak geçersiz kılar. Dosya başına varsayılan kilit sayısı, MaxLocksPerFile kayıt defteri anahtarı ile birlikte ayarlanır. Yeni değer, SetOption yöntemi kullanılarak ayarlanır. Yeni değer, DBEngine nesnesi kapatılıncaya kadar geçerlidir. Yöntem 2'yi kullanmak için şu adımları izleyin:
  1. Microsoft Access'i açın.
  2. Bir veritabanı açın ve Alt+F11 tuşlarına basarak Visual Basic Düzenleyicisi'ni başlatın.
  3. Microsoft Visual Basic -<Veritabanı Adı>-[<Modül Adı> (Kod)] penceresinde, Görünüm menüsünden Hemen Penceresi'ni tıklatın.
  4. Hemen Penceresi'ne aşağıdaki kodu girin.
    DAO.DBEngine.SetOption dbmaxlocksperfile,15000
  5. Kod satırını çalıştırmak için ENTER tuşuna basın.

    Not Bu kod, MaxLocksPerFile değerini geçici olarak 15.000 değerine ayarlar.
Büyük işlemleri gerçekleştirmek için, MaxLocksPerFile değerini gereksinimlerinize uygun şekilde ayarlayın ve işlemleri oturum sırasında çalıştırın.

SetOption yöntemini kullanarak MaxLocksPerFile ayarında yaptığınız değişiklikler yalnızca geçerli oturumda kullanılabilir.

Daha fazla bilgi

MaxLocksPerFile ayarı, Microsoft Jet altyapısının bir dosya için belirlediği kilit sayısı üst sınırını belirler. Varsayılan MaxLocksPerFile değeri 9.500'dür. Ancak, bağlantı başına izin verilen sunucu kaydı kilidi üst sınırının 10.000 olduğu bir Novell NetWare sunucusunda çalışıyorsanız bu değeri değiştirmeyin. Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
305995  (http://support.microsoft.com/kb/305995/ ) Novell sunucusundaki bir Jet veritabanına bağlandığınızda "3050 Dosya Kilitlenemedi" hatası (Bu bağlantı, bir kısmı veya tamamı İngilizce olan içeriğe işaret edebilir)

Referanslar

Daha fazla bilgi için, aşağıdaki Microsoft Bilgi Bankası makalelerini ziyaret edin:
198633  (http://support.microsoft.com/kb/198633/ ) Access 2000'de iki kopyayı eşitlemeye çalıştığınızda "Dosya paylaşım kilidi sayısı aşıldı" hata iletisini alıyorsunuz (Bu bağlantı, bir kısmı veya tamamı İngilizce olan içeriğe işaret edebilir)
209940  (http://support.microsoft.com/kb/209940/ ) Access 2000'de bir tabloda işlem gerçekleştirdiğinizde "Yeterli disk alanı veya bellek yok" hata iletisini alıyorsunuz (Bu bağlantı, bir kısmı veya tamamı İngilizce olan içeriğe işaret edebilir)

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Office Access 2007
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
  • Microsoft Access 2000 Standard Edition
Anahtar Kelimeler: 
kberrmsg kbregistry kbprb KB815281