Makale numarası: 305635 - Son Gözden Geçirme: 02 Aralık 2005 Cuma - Gözden geçirme: 3.3

SORUN: veritabanı otomatik olarak genişletme, BIR zaman aşımı oluşuyor

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ı.
Hepsini aç | Hepsini kapa

Belirtiler

SQL Server'da aşağıdaki belirtilerle karşılaşabilirsiniz:
  • Bir veritabanı otomatik büyüme</a0> seçeneği açık olsa da otomatik olarak genişletmez.
  • Veritabanı dolu olduğunu belirten iletiler Errorlog dosyası içermiyor.
  • Bu veritabanındaki verileri değiştirmek için istemci bilgisayarlar, <a0>kullanıcı</a0> hareketinde "Zaman aşımı süresi doldu" bir ileti alırsınız.
  • SQL Profiler, bir bağlantıda "Uyarı" Olay görüntüler ve SQL Server 7.0 çalıştıran bilgisayar, SQL Profiler de bir "Özel durum: 822" hata görüntüler.
Not: "Zaman aşımı süresi doldu" iletisini başka durumlarda alabileceğiniz genel bir iletidir.

Bu belirtileri görebilirsiniz:
  • Uzun bir süredir SQL Profiler'ı çalıştırın, özel olay ve IntegerData sütun yakalamak ve sonra bir "Özel durum: 822" hata tekrarını bakın.

    -VEYA-
  • Kullandığınız -y822 SQL Server'ı başlatmak için bir parametre. Veritabanı otomatik olarak genişletmez sonra "Exception 822" hatası nedeniyle yığın dökümü için Errorlog dosyasını denetleyin.
Not: otomatik olarak veritabanı dosyasını genişletmesini, ancak bu dosyayı kullanmak için veritabanı yararlı yürütülmelidir başlatıldı zaman aşımı oluşur.

Neden

Bağlantı, bir veritabanı ek alan gerektiren bir veri değişikliği Lanaguage (DML) deyimi yayımladığında, otomatik büyüme seçeneği varsa, SQL Server veritabanını otomatik olarak genişletmek çalışır. Veritabanı, istemci tarafında yapılandırılmış sorgu zaman aşımı değerine bağlı genişletiliyor sırada ifade verilen istemci zaman aşımına uğrayabilir. Bazı uygulamalar, varsayılan zaman aşımı değeri 30 saniye kullanır. Bu zaman aşımı, istemci bağlantı ve bu istemde veritabanının otomatik olarak genişlemesini sona erdirir.

Pratik Çözüm

Bu davranışa geçici bir çözüm için aşağıdaki yöntemlerden birini kullanın:
  • Veritabanını el ile'yi genişletin. Veritabanını el ile genişletmek için <a0></a0>, ALTER DATABASE deyimini veya SQL Server Enterprise Manager'ı kullanın.
  • Böylece sunucu veritabanını genişletmek için zaman DML istekleri uygulamanın istemci sorgu zaman aşımı değerini artırın. DML veritabanını genişletmek için ister.

    Örneğin, SQL Query Analyzer'ı kullanıyorsanız, varsayılan sorgu zaman aşımı değerini 0 (sonsuz)'dır. Varsayılan değer kullanıyorsanız, bu davranışla karşılaşırsınız değil. Varsayılan değer olarak kullanmıyorsanız, sorgu zaman aşımı değerini artırın.

    (Veya Web tabanlı olup olmadıklarına) ve diğer uygulamalar için uygulama içinde değişiklik yapabilirsiniz. Örneğin, ADO kullanıyorsanız, bağlantı veya Command nesnesinin CommandTimeout özelliği değiştirebilirsiniz.
  • Veritabanını genişletme sunucunuzda ne kadar sürer belirler. Bunu belirlemek için <a0></a0>, SQL Query Analyzer'da ALTER DATABASE deyimini çalıştırın ve sonra da durum çubuğunu görüntülemek. Bu belirledikten sonra istemci bu değerden daha büyük bir şey için zaman aşımı değerini ayarlayın.
  • Istemci zaman aşımı değerini değiştirin. En çok, istemci zaman aşımı değeri ne kadar genişletme tamamlandığında otomatik olarak genişlemesini sınamak ve devam edin. Otomatik büyüme seçeneğini bu yeni (küçük) olarak ayarlayın.

Daha fazla bilgi

Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
315512  (http://support.microsoft.com/kb/315512/EN-US/ ) INF: Otomatik büyüme ve Autoshrink yapılandırma ilgili konular

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
Anahtar Kelimeler: 
kbmt kbprb KB305635 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:305635  (http://support.microsoft.com/kb/305635/en-us/ )