2015-04-07 23 views
16

Tôi đang cố gắng tối ưu hóa trải nghiệm Visual Studio và máy của mình nói chung. Tôi nhận thấy rằng tôi có hai trường hợp của SQL Server đang chạy, một trong số đó là LocalDB. Điều này được bắt đầu bởi Visual Studio.Tại sao Visual Studio bắt đầu localdb và làm thế nào tôi có thể dừng lại?

Tôi thà nó không khởi động db cục bộ, nhưng tôi có thể tưởng tượng nó sử dụng nó cho một vài thứ. Kể từ khi tôi đã có một trường hợp sql đầy đủ chạy nó sẽ là tốt hơn nếu nó được sử dụng đó.

Có ai biết nếu tôi có thể ngăn chặn điều này bắt đầu hoặc ít nhất là không bắt đầu nó cho đến khi nó thực sự cần nó?

Cảm ơn

+0

Bạn có nghĩa là phiên bản SQL Server Express được cài đặt với VS2013 và bắt đầu khởi động máy tính không? Bạn có thể bắt đầu 'services.msc' và dừng các dịch vụ' SQL Server (SQLEXPRESS) 'và' SQL Server Agent (SQLEXPRESS) '. Nếu bạn muốn chắc chắn rằng họ không bắt đầu khởi động máy tính, hãy đặt chúng thành "Đã tắt" trong hộp thoại thuộc tính. Điều này sẽ giúp bạn tiết kiệm một số tài nguyên khi khởi động và sử dụng máy tính nói chung. –

+0

Điều đó xảy ra, chỉ khi bạn mở một dự án cụ thể hoặc cho tất cả các dự án, nếu cho bất kỳ dự án cụ thể nào, vui lòng đăng app.config/web.config –

Trả lời

3

LocalDB không chạy dưới dạng dịch vụ như SQL Server Express. Nó sẽ bắt đầu và dừng/tự động khi cần thiết.

LocalDB không tạo bất kỳ dịch vụ cơ sở dữ liệu nào; Các quy trình LocalDB được bắt đầu và dừng tự động khi cần. Ứng dụng chỉ là kết nối với "Nguồn dữ liệu = (localdb) \ v11.0" và quá trình LocalDB là bắt đầu như là một tiến trình con của ứng dụng. Một vài phút sau khi kết nối cuối cùng với quá trình này bị đóng, quá trình đóng sẽ ngừng hoạt động.

http://blogs.msdn.com/b/sqlexpress/archive/2011/07/12/introducing-localdb-a-better-sql-express.aspx

+1

Có, tôi biết điều đó. Câu hỏi của tôi là tại sao Visual Studio bắt đầu nó. Im giả sử nó cho biên dịch dự án cơ sở dữ liệu SQL. Tôi thà rằng VS đã sử dụng cá thể SQL đang chạy của tôi và lưu ram cho những thứ tốt hơn. – Jonesie

8

Các thủ tục sau đây làm việc cho tôi.

(Nên biết trước:.. Tôi không sử dụng LocalDB ở tất cả, vì vậy tôi không quan tâm nếu thủ tục này sẽ vô hiệu hóa nó hoàn toàn Bạn có thể cảm thấy khác nhau)

  1. Hãy chắc chắn rằng Visual Studio không chạy .
  2. Chạy Visual Studio và đi tới Trình khám phá đối tượng máy chủ SQL.
  3. Nhấp chuột phải vào từng phiên bản LocalDB và chọn Xóa hoặc nếu Xóa là không có sẵn, hãy chọn Ngắt kết nối.
  4. Đóng Visual Studio.
  5. Giết tất cả các phiên bản sqlservr.exe đã được khởi chạy bởi Visual Studio.
  6. Đến HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 12.0 \ SSDT \ SqlServerObjectExplorer và xác minh rằng nó không có khóa con ServerInstance, ví dụ ServerInstance1, ServerInstance2 vv
  7. Đổi tên HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft SQL Máy chủ cục bộ DB để Visual Studio không thể tìm thấy nó (ví dụ: nối thêm .DISABLED vào tên khóa).
  8. Chạy Visual Studio và tận hưởng trải nghiệm LocalDB miễn phí của bạn.

Xin lưu ý rằng bạn sẽ cần lặp lại quy trình này mỗi khi bạn cài đặt bản cập nhật lên Công cụ dữ liệu SQL Server (SSDT), vì trình cài đặt thêm lại khóa bạn đã đổi tên.

+0

Xác minh quy trình này hoạt động như mô tả. Rất hữu ích. Visual Studio khá khó chịu tạo ra ví dụ hút bộ nhớ này nếu nó không được sử dụng. Nên là một lựa chọn rõ ràng hơn. –

+5

Dường như với tôi rằng bạn có thể đổi tên "C: \ Program Files \ Microsoft SQL Server \ 120 \ LocalDB \ Binn \ sqlservr.exe" cũng dễ dàng. – Fosna

+1

5 bước đầu tiên đã chăm sóc phần lớn bộ nhớ của tôi. – StingyJack

Các vấn đề liên quan