Không thể bắt đầu cá thể SqlLocalDB bằng tài khoản Windows của tôi


11

Tôi là quản trị viên và chỉ cần chạy lệnh:

 sqllocaldb start v11.0

Kết quả:

 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.

Nhật ký người xem sự kiện ID sự kiện: 528

Cuộc gọi API Windows WaitForMult MônObjects trả về mã lỗi: 575. Thông báo lỗi hệ thống Windows là: {Lỗi ứng dụng} Ứng dụng không thể khởi động chính xác (0x% lx). Nhấn OK để đóng ứng dụng. Báo cáo tại dòng: 3621.

Tôi đã thử một tài khoản (người dùng và quản trị viên) khác, không có vấn đề gì với họ.

Tôi đã gỡ cài đặt và cài đặt lại phiên bản 2012 của SQLLocalDB.msi nhưng tôi không gặp may. Bạn có bất cứ ý tưởng và sửa chữa?


Visual Studio gặp sự cố khi bắt đầu dự án của tôi và tôi đã thấy lỗi tương tự trong nhật ký sự kiện. Đã sửa nó bằng cách chạy sqllocaldb start v11.0.
Andre Luus

Câu trả lời:


12

Kiểm tra nhật ký lỗi thường trong thư mục %localappdata%\Microsoft\Microsoft SQL Server Local DB\Instances\v11.0sẽ cho bạn gợi ý lớn.

Truy nhập vào lại như các tài khoản quản trị (không một quản trị viên), và bắt đầu một dấu nhắc lệnh với Run As Administrator. Sau đó chạy này:

sqllocaldb share v11.0 MyInstance

Bạn có thể muốn rõ ràng thêm tài khoản Windows của mình dưới dạng sysadmin trong trường hợp này nếu đó là mục tiêu. Vì thế:

sqllocaldb start MyInstance

Sau đó kết nối với SQLCMD, Management Studio, bạn có gì và chạy:

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

Bây giờ hãy đăng nhập lại với tư cách là tài khoản Windows của bạn và bạn sẽ có thể bắt đầu trường hợp này bằng cách sử dụng:

sqllocaldb start MyInstance

(Nó có thể đã được bắt đầu tùy thuộc vào O / S của bạn và cách bạn chuyển đổi tài khoản.)

Sau đó Domain\Usernamesẽ có thể kết nối bằng SQLCMD, SSMS, v.v. bằng cách sử dụng (localdb)\.\MyInstance.


1
Đây là một cách giải quyết tốt nhưng nó không thể giải thích & giải quyết vấn đề.
Đám mây Nime

1
@NimeCloud um, ok, có thể người khác sẽ đi cùng với một "sửa chữa" tốt hơn. <nhún>
Aaron Bertrand

Điều này làm việc cho tôi. Nó có liên quan đến trường hợp ban đầu mà người dùng cụ thể không còn tài trợ nữa và thật kỳ lạ là nó không thể cấp quyền truy cập cho dù bạn có làm gì đi nữa. Ví dụ được chia sẻ được coi là danh tính riêng biệt, do đó, nó đã được bắt đầu "mới" nơi ứng dụng có thể kết nối như trước đây.
Jon P

7

Tôi đã đăng xuất và sau đó đăng nhập với tư cách quản trị viên khác và đổi tên tên thư mục hồ sơ người dùng của tôi. Tôi đã chuyển sang tài khoản của mình trong Windows 7. Có một thư mục TEMP mới được tạo làm thư mục hồ sơ người dùng của tôi. Tôi so sánh cấu trúc thư mục trước & sau như trong ảnh. Thêm; Ví dụ LocalDB đã bắt đầu thành công.

localdb2.png

Tôi đã đăng xuất và đổi tên người dùng của mình thành bản gốc. Đăng nhập lại và nhảy vào thư mục đó:

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

Và thấy các bản ghi lỗi; Truy cập bị từ chối!

http://pastebin.com/ASeJGqpw

Giải pháp: Chỉ cần xóa tất cả các tệp trong thư mục v11.0 . Cho phép viết permision vào thư mục v11.0 . Nếu bạn không thể tạo một thể hiện khác, hãy cho phép ghi vào thư mục Instances .


1
Đã xóa thư mục v11.0. Sau đó được ban hành sqllocaldb.exe c v11.0để tạo lại nó (trong dòng lệnh của nhà phát triển VS2013, được nâng lên). Điều này đã giải quyết nó.
cheesus nói ngừng bắn mod

2

Tôi đã từng gặp vấn đề này khi cá thể localdb và sql của tôi được cài đặt với một người dùng khác với người dùng hiện tại (vì vậy người dùng tên miền), vì vậy tôi đã khắc phục vấn đề này bằng cách xóa thư mục V11.0 và dán các tệp mdf và ldf từ đường dẫn cũ:

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

Hy vọng nó giúp.


1

Tôi đã có điều này một lần và khởi động lại đơn giản đã giải quyết nó. Có vẻ như đã giải quyết nó cho người khác quá . Có lẽ đáng để thử trước khi trả lời Nime & Aarons


1

Tôi đã mở services.msc và khởi động lại các dịch vụ sau:

  • Trình duyệt máy chủ Sql
  • Máy chủ VSS Server

Hy vọng nó giúp


1

Tạo một tệp fix.bat, đặt văn bản sau vào đó:

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

Chạy fix.batvới tư cách quản trị viên sau đó khởi động lại máy tính của bạn. Chạyfix.bat lại.

Tôi đã sử dụng phương pháp này để giải quyết vấn đề này hơn 10 lần.


0

Tôi đang đăng bài này ở đây vì câu hỏi này hiện cao hơn trong kết quả tìm kiếm của Google so với những câu hỏi khác. Trong trường hợp của tôi, LocalDB không thể được khởi động từ IIS. Tôi đã làm theo đề xuất của bình luận SO này để sửa đổi C: \ Windows \ System32 \ inetsrv \ config \ applicationhost.config để thêm setProfileEn môi = "true" vào Nhóm ứng dụng như được mô tả trong Sử dụng LocalDB với IIS đầy đủ, Phần 1: Hồ sơ người dùng . Tôi thực sự đã thay đổi thuộc tính setProfileEn Môi trường của ứng dụngPoolDefaults thành true và nó hoạt động tốt hơn, vì vậy bạn không cần phải nhớ làm điều đó cho mọi Nhóm ứng dụng mới.


0

Nếu bạn không có bất kỳ thông tin thực nào trong ví dụ localdb, bạn chỉ cần xóa nó. Đây là một lựa chọn tốt nếu cơ sở dữ liệu của bạn được tự động khởi tạo (sử dụng EF DbInitializerhoặc di chuyển, v.v.).

Đây là những gì tôi đã làm để giải quyết vấn đề:

  • Mở một cửa sổ nhắc lệnh
  • Thực thi sqllocaldb delete ****, trong đó ****là trống cho trường hợp mặc định (thường MSSqlLocalDbhoặc trường hợp rắc rối
  • Hành hình sqllocaldb create ****
  • Hành hình sqllocaldb start ****

Điều này làm việc cho tôi, nhưng làm điều này có nguy cơ của riêng bạn và đảm bảo kiểm tra kỹ xem bạn không có dữ liệu có giá trị trong trường hợp đó và đảm bảo bạn thực hiện các hành động theo đúng trường hợp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.