SORUN: 'Temp_db' aygıt, SQL Server başlangıç sorunlarına neden oluyor

Makale çevirileri Makale çevirileri
Makale numarası: 158586 - Bu makalenin geçerli olduğu ürünleri görün.
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
Hepsini aç | Hepsini kapa

Belirtiler

SQL Server başlatılır, böylece tempdb RAM'ın (veya 'RAM içinde tempdb' seçeneği açık olarak ayarlayarak -f</a0> parametresini, komut satırında kullanarak en az yapılandırma modunda başlatılıyor) yerleştirilir, SQL Server 'temp_db' bir aygıt adına sahip bir aygıt varsa, doğru şekilde başlatmak başarısız olur.

Neden

Tempdb RAM'DE yerleştirildiğinde, SQL Server önce bir RAM Aygıtı 'temp_db' mantıksal bir adla oluşturmaya çalışır ve bu aygıttaki tempdb veritabanı oluşturun. Bir aygıt adı 'temp_db' ile zaten varsa, giriş sysdevices tabloya ekleme girişimi başarısız olur; böylece tempdb oluşturulamıyor.

SQL Server errorlog aşağıdaki hata iletilerini dizisi içerir:
Nesne 'sysdevices' benzersiz bir dizin 'sysdevices' (2601 hata) ile yinelenen anahtar satırda ekleme girişimi

crdb_tempdb: için tempdb RAM taşımak; RAM aygıt yok, oluşturulamaz ya da tempdb için yeterli alan yok.

Sunucu, başlatma işlemi ile devam etmek ve başka hata iletileri de büyük olasılıkla rapor eder.



Tempdb (Başlangıç saklı yordamdaki gibi) başlatma sırasında kullanmaya çalışırsanız, aşağıdaki hata iletilerinden bildirdi ve sunucu başlatılamaz:
Msg 906: satır için sistem kataloğunu 'sysobjects' veritabanındaki 'tempdb' sysobjects bulun değil....

Msg 615: Veritabanı, tablo kimliği bulunamıyor = 2, ad 'tempdb' =....

Sunucunun başlatılmasından sonra tempdb erişmeye çalışırsanız, yukarıdaki iletileri günlüğe kaydedilir, ancak sunucu değil durduracak.

Pratik Çözüm

Sunucuyu başlatmak için bir komut istemine gidin ve sonra da (örneğin, SQL Server 6. 0'ın SQL60\BINN veya MSSQL\BINN için SQL Server 6.5) SQL Server yüklü olduğu BINN dizinine gidin. Ardından, büyük/küçük harf SQL Server'ı başlatmak için ayrımı, aşağıdaki komut satırını kullanın:
sqlservr - c -m - T3609 - T4022



-M kullanımını SQL Server'ı tek kullanıcı modunda başlatır unutmayın. Ilk bağlantının oturum kadar ilk başarılı oturum sonra izleyen tüm istekler "Oturum açma başarısız oldu" iletisi alıyorum. (Örneğin, SQL yönetici, performans izleyicisi, vb.) SQL Server'da oturum açmaya çalışıyor olabilirsiniz otomatik tüm işlemleri durdurun emin olun.

SQL Server başladıktan sonra ISQL/w SQL Server'a bağlanmak için kullanın. SQL Enterprise Manager'ı kullanmak gideremez ve çözemez olduğunu unutmayın; (tempdb kullandığından) Bu başlangıç parametreleri ile kullanılamaz. Bağlantı kurulduktan sonra SQL Server başlatma aygıtı oluşturabilmeleri için 'temp_db' adlı varolan bir aygıt bırakmak için aşağıdaki komutu kullanın.
'temp_db' sp_dropdevice

Komut, aygıtın diğer tüm veritabanlarının yanı sıra, tempdb genişletilmiş, adları bu veritabanlarından bildirir. Bu veritabanlarından kesilmesine, DROP DATABASE komutu kullanılarak temp_db aygıt silinmesi gerekir.



Sonra aşağıdaki adımları başlatabilmeniz SQL Server yine başarısız olursa ve tempdb açıkça RAM'DE yerleştirilmiş disk üzerinde tempdb yerleştirmek için aşağıdaki komutu kullanın.
'de bir RAM tempdb' sp_configure 0
geçersiz kılma ile yeniden

Varsayılan veritabanı boyutu (genellikle 2 MB yöneticisinde) olan varsayılan aygıttaki geri bu tempdb koymanız gerekir. Durdurun ve SQL Server'ı yeniden başlatın. Bu noktada, aygıt adı temp_db ile doğrudan bir aygıtı farklı bir adla oluşturmak ve bu yeni bir aygıt üzerine tempdb'ı genişletin isteyebilirsiniz.

Özellikler

Makale numarası: 158586 - Last Review: 2 Şubat 2014 Pazar - Gözden geçirme: 3.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server 6.0 Standard Edition
  • Microsoft SQL Server 6.5 Standard Edition
Anahtar Kelimeler: 
kbnosurvey kbarchive kbmt KB158586 KbMttr
Machine-translated Article
Ö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:158586

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com