SqlLocalDB örneği Windows hesabımla başlatılamıyor


12

Ben yöneticiyim ve sadece komutu çalıştırın:

 sqllocaldb start v11.0

Sonuç:

 Start of LocalDB instance "v11.0" failed because of the following error:
 Error occurred during LocalDB instance startup: SQL Server process failed to sta
 rt.

Olay görüntüleyici günlüğü Olay Kimliği: 528

Windows API çağrısı WaitForMultipleObjects hata kodu döndürdü: 575. Windows sistem hata mesajı: {Uygulama Hatası} Uygulama düzgün başlatılamadı (0x% lx). Uygulamayı kapatmak için Tamam'ı tıklayın. Satırda bildirildi: 3621.

Başka bir (kullanıcı ve yönetici) hesap denedim, onlarla ilgili bir sorun yoktu.

SQLLocalDB.msi'nin 2012 sürümünü kaldırdım ve yeniden yükledim ama şansım olmadı. Herhangi bir fikriniz var mı?


Visual Studio projemi başlatırken sorun yaşadı ve aynı hatayı olay günlüğünde gördüm. Koşarak düzeltildi sqllocaldb start v11.0.
Andre Luus

Yanıtlar:


12

Genellikle klasörün altında hangi %localappdata%\Microsoft\Microsoft SQL Server Local DB\Instances\v11.0büyük ipuçları verecek hata günlüğünü kontrol edin .

Giriş olarak geri yöneticisi hesabı (değil bir yönetici) ve bir komut istemi başlatın . Sonra şunu çalıştırın:Run As Administrator

sqllocaldb share v11.0 MyInstance

Bir hedef ise, Windows hesabınızı bu örnekte açıkça bir sysadmin olarak eklemek isteyebilirsiniz. Yani:

sqllocaldb start MyInstance

Ardından, SQLCMD, Management Studio, neyiniz var ve çalıştırın:

CREATE LOGIN [Domain\Username] FROM WINDOWS;
EXEC sp_addsrvrolemember N'Domain\Username', N'sysadmin';

Şimdi Windows hesabınız olarak tekrar oturum açın; bu örneği aşağıdakileri kullanarak başlatabilirsiniz:

sqllocaldb start MyInstance

(İşletim sisteminize ve hesapları nasıl değiştirdiğinize bağlı olarak zaten başlatılabilir.)

Sonra Domain\Usernamekullanarak SQLCMD, SSMS vb kullanarak bağlanabilmelidir (localdb)\.\MyInstance.


1
Bu iyi bir çözümdür, ancak sorunu açıklayamaz ve çözemez.
Nime Cloud

1
@NimeCloud um, tamam, belki başka biri daha iyi bir "düzeltme" ile gelecektir. <shrug>
Aaron Bertrand

Bu benim için çalıştı. Belirli kullanıcının artık hibe vermediği orijinal durumla ilgiliydi ve ne yaparsanız yapın garip bir şekilde erişim sağlayamıyor. Paylaşılan örnek ayrı bir kimlik olarak işlem gördü, bu nedenle uygulamanın şimdi önceki gibi bağlanabileceği "yeni" bir başlangıç ​​verildi.
Jon P

7

Oturumu kapatıp başka bir yönetici olarak oturum açtım ve kullanıcı profili klasörümün adını yeniden adlandırdım. Windows 7'de hesabıma geçtim. Kullanıcı profili klasörü olarak yeni oluşturulan bir TEMP klasörü var. Resimdeki gibi klasör yapısından önce ve sonra karşılaştırdım. Artı; LocalDB örneği başarıyla başlatıldı.

localdb2.png

Oturumu kapattım ve kullanıcı adımı orijinal olarak yeniden adlandırdım. Tekrar giriş yaptı ve şu klasöre atladı:

C: \ Kullanıcılar \ MYUSERNAME \ AppData \ Local \ Microsoft \ Microsoft SQL Server Yerel DB \ Örnekleri \ v11.0

Ve hata günlüklerini gördüm; Erişim reddedildi!

http://pastebin.com/ASeJGqpw

Çözüm: v11.0 klasöründeki tüm dosyaları silin . Ver yazma permision için v11.0 klasörün. Başka bir örnek oluşturamıyorsanız Örnekler klasörüne yazma izni verin .


1
V11.0 klasörü silindi. Sonra sqllocaldb.exe c v11.0yeniden oluşturmak için yayınlandı (VS2013 geliştirici komut satırında, yükseltilmiş). Bu çözdü.
cheesus

2

Benim localdb ve sql örneği geçerli (etki alanı kullanıcısı) farklı bir kullanıcı ile yüklendiğinde bu sorunu vardı, bu yüzden V11.0 klasörü temizleyerek ve mdf ve ldf dosyaları eski yoldan yapıştırarak bu sorunu giderdi:

C:\Users\{inseryouroldusernamehere}\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\v11.0

Umarım yardımcı olur.



1

Services.msc dosyasını açtım ve aşağıdaki hizmetleri yeniden başlattım:

  • Sql Sunucu Tarayıcısı
  • Sql Server VSS Yazıcı

Umarım yardımcı olur


1

Bir dosya oluşturun fix.bat, içine aşağıdaki metni koyun:

net localgroup Administrators "%userdomain%\%username%" /add

net localgroup Users "%userdomain%\%username%" /add

sqllocaldb d test

rd /s/q "%localappdata%\Microsoft\Microsoft SQL Server LocalDB\Instances\test"

sqllocaldb c test -s

fix.batYönetici olarak çalıştırın ve bilgisayarınızı yeniden başlatın. fix.batTekrar koş .

Bu yöntemi 10 defadan fazla bu sorunu çözmek için kullandım.


0

Bu soruyu buraya gönderiyorum çünkü bu soru şu anda Google arama sonuçlarında diğerlerinden daha yüksek. Benim durumumda LocalDB, IIS'den başlatılamadı. Ben takip bu SO yorumun öneri açıklandığı gibi Uygulama havuzuna setProfileEnvironment = "true" eklemek için \ Windows \ System32 \ inetsrv \ config \ applicationHost.config: C değiştirmek için Kullanıcı Profili: Tam IIS, Bölüm 1 ile LocalDB kullanma . Aslında applicationPoolDefaults'un processModel'in setProfileEnvironment özniteliğini true olarak değiştirdim ve her yeni Uygulama Havuzu için yapmayı hatırlamanız gerekmeyecek şekilde daha iyi olabilir.


0

Localdb örneğinde gerçek bir bilginiz yoksa, silebilirsiniz. Veritabanınız otomatik olarak başlatılırsa (EF DbInitializerveya geçişler vb. Kullanılarak) iyi bir seçimdir .

Sorunu çözmek için yaptığım şey:

  • Bir komut istemi penceresi açın
  • Yürüt sqllocaldb delete ****, ****varsayılan örnek için boş (genellikle MSSqlLocalDbveya sorunlu örnek)
  • gerçekleştirmek sqllocaldb create ****
  • gerçekleştirmek sqllocaldb start ****

Bu benim için çalıştı, ancak bunu kendi sorumluluğunuzda yapın ve bu durumda değerli verileriniz olmadığını iki kez kontrol ettiğinizden ve eylemleri doğru örnek üzerinde gerçekleştirdiğinizden emin olun.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.