Tidak dapat memulai instance SqlLocalDB dengan akun Windows saya

11

Saya administrator dan jalankan perintah:

 sqllocaldb start v11.0

Hasil:

 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.

Log penampil acara ID Peristiwa: 528

Panggilan Windows API WaitForMultipleObjects mengembalikan kode kesalahan: 575. Pesan kesalahan sistem Windows adalah: {Application Error} Aplikasi tidak dapat memulai dengan benar (0x% lx). Klik OK untuk menutup aplikasi. Dilaporkan pada baris: 3621.

Saya mencoba akun lain (pengguna dan administrator), tidak ada masalah dengan mereka.

Saya mencopot & menginstal ulang versi SQLLocalDB.msi 2012 tetapi saya tidak beruntung. Apakah Anda memiliki ide & perbaikan?

Nime Cloud
sumber
Visual Studio mengalami kesulitan memulai proyek saya dan saya melihat kesalahan yang sama di log peristiwa. Memperbaikinya dengan menjalankan sqllocaldb start v11.0.
Andre Luus

Jawaban:

12

Periksa log kesalahan yang biasanya di bawah folder %localappdata%\Microsoft\Microsoft SQL Server Local DB\Instances\v11.0akan memberi Anda petunjuk besar.

Log kembali sebagai yang akun administrator (bukan sebuah administrator), dan mulai perintah prompt dengan Run As Administrator. Kemudian jalankan ini:

sqllocaldb share v11.0 MyInstance

Anda mungkin ingin secara eksplisit menambahkan akun Windows Anda sebagai sysadmin pada contoh ini jika itu adalah tujuan. Begitu:

sqllocaldb start MyInstance

Kemudian terhubung dengan SQLCMD, Management Studio, apa pun yang Anda miliki, dan jalankan:

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

Sekarang login kembali sebagai akun Windows Anda, dan Anda seharusnya dapat memulai instance ini menggunakan:

sqllocaldb start MyInstance

(Ini mungkin sudah dimulai tergantung pada O / S Anda dan bagaimana Anda berpindah akun.)

Maka Domain\Usernameharus dapat terhubung menggunakan SQLCMD, SSMS dll menggunakan (localdb)\.\MyInstance.

Aaron Bertrand
sumber
1
Ini adalah solusi yang baik tetapi tidak bisa menjelaskan & menyelesaikan masalah.
Nime Cloud
1
@NimeCloud um, ok, mungkin orang lain akan datang dengan "perbaikan" yang lebih baik. <shrug>
Aaron Bertrand
Ini berhasil untuk saya. Itu terkait dengan contoh asli di mana pengguna tertentu tidak memiliki hibah lagi dan anehnya itu tidak dapat memberikan akses ke apa pun yang Anda lakukan. Mesin virtual yang dibagikan diperlakukan sebagai identitas terpisah sehingga diberi awal yang "segar" di mana aplikasi sekarang dapat terhubung seperti sebelumnya.
Jon P
7

Saya keluar dan masuk sebagai administrator lain dan menamai nama folder profil pengguna saya. Saya beralih ke akun saya di Windows 7. Ada folder TEMP yang baru dibuat sebagai folder profil pengguna saya. Saya membandingkan sebelum & sesudah struktur folder seperti pada gambar. Plus; Contoh LocalDB mulai berhasil.

localdb2.png

Saya keluar dan mengubah nama pengguna menjadi asli. Masuk lagi & masuk ke folder itu:

C: \ Users \ MYUSERNAME \ AppData \ Local \ Microsoft \ Microsoft SQL Server Local DB \ Instances \ v11.0

Dan melihat log kesalahan; Akses ditolak!

http://pastebin.com/ASeJGqpw

Solusi: Cukup hapus semua file di folder v11.0 . Berikan izin menulis ke folder v11.0 . Jika Anda tidak dapat membuat instance lain berikan izin menulis ke folder Instances

Nime Cloud
sumber
1
Menghapus folder v11.0. Kemudian dikeluarkan sqllocaldb.exe c v11.0untuk membuatnya kembali (dalam baris perintah pengembang VS2013, ditinggikan). Ini menyelesaikannya.
cheesus bilang hentikan mod tembak
2

Saya dulu memiliki masalah ini ketika contoh localdb dan sql saya diinstal dengan pengguna yang berbeda dari yang saat ini (pengguna domain), jadi saya memperbaiki ini dengan menghapus folder V11.0 dan menempelkan file mdf dan ldf dari jalur lama:

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

Semoga ini bisa membantu.

Jonathan Escobedo
sumber
1

Saya punya ini sekali dan reboot sederhana menyelesaikannya. Tampaknya telah memecahkannya untuk orang lain juga . Mungkin patut dicoba sebelum melakukan jawaban Nime & Aarons

Robert MacLean
sumber
1

Saya membuka services.msc dan memulai kembali layanan berikut:

  • Sql Server Browser
  • Sql Server VSS Writer

Semoga ini bisa membantu

Christian Rodriguez
sumber
1

Buat file fix.bat, masukkan teks berikut di dalamnya:

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

Jalankan fix.batsebagai administrator kemudian nyalakan kembali komputer Anda. Lari fix.batlagi.

Saya telah menggunakan metode ini untuk menyelesaikan masalah ini lebih dari 10 kali.

pengguna104430
sumber
0

Saya memposting ini di sini karena pertanyaan ini saat ini lebih tinggi di hasil pencarian Google daripada yang lain. Dalam kasus saya, LocalDB tidak dapat dimulai dari IIS. Saya mengikuti saran komentar SO ini untuk memodifikasi C: \ Windows \ System32 \ inetsrv \ config \ applicationHost.config untuk menambahkan setProfileEnvironment = "true" ke App Pool seperti yang dijelaskan dalam Menggunakan LocalDB dengan IIS Penuh, Bagian 1: Profil Pengguna . Saya benar-benar mengubah processModel's setProfileEnvironment atribut applicationPoolDefaults menjadi true dan itu bekerja juga yang mungkin lebih baik sehingga Anda tidak perlu ingat untuk melakukannya untuk setiap Pool App baru.

csrowell
sumber
0

Jika Anda tidak memiliki info nyata dalam instance localdb, Anda bisa menghapusnya. Ini adalah pilihan yang baik jika database Anda diinisialisasi secara otomatis (menggunakan EF DbInitializeratau migrasi dll.).

Inilah yang saya lakukan untuk menyelesaikan masalah:

  • Buka jendela command prompt
  • Jalankan sqllocaldb delete ****, di mana ****kosong untuk instance default (biasanya MSSqlLocalDbatau instance merepotkan)
  • Menjalankan sqllocaldb create ****
  • Menjalankan sqllocaldb start ****

Ini bekerja untuk saya, tetapi lakukan ini dengan risiko Anda sendiri dan pastikan untuk memeriksa Anda tidak memiliki data berharga dalam hal itu, dan pastikan Anda melakukan tindakan pada contoh yang benar.

Bergetar
sumber