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

Ö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.

158586
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
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.
sql60 sql65 en az yapılandırma

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 158586 - Son İnceleme: 02/02/2014 00:59:10 - Düzeltme: 3.0

  • Microsoft SQL Server 6.0 Standard Edition
  • Microsoft SQL Server 6.5 Standard Edition
  • kbnosurvey kbarchive kbmt KB158586 KbMttr
Geri bildirim