Sử dụng User Instance
nghĩa là SQL Server đang tạo một bản sao đặc biệt của tệp cơ sở dữ liệu đó để chương trình của bạn sử dụng. Nếu bạn có hai chương trình khác nhau sử dụng cùng một chuỗi kết nối đó, chúng sẽ nhận được hai bản sao hoàn toàn khác nhau của cơ sở dữ liệu. Điều này dẫn đến một lô nhầm lẫn, vì mọi người sẽ kiểm tra cập nhật dữ liệu bằng chương trình của họ, sau đó kết nối với một bản sao khác của cơ sở dữ liệu của họ trong Management Studio và phàn nàn rằng bản cập nhật của họ không hoạt động. Điều này sẽ đưa họ qua một loạt các bước đuổi ngỗng hoang đầy thiếu sót để cố gắng khắc phục sự cố sai.
Bài viết này đi sâu hơn về cách sử dụng tính năng này, nhưng chú ý đến lưu ý đầu tiên: User Instance
tính năng đã không được dùng nữa . Trong SQL Server 2012, các lựa chọn thay thế được ưu tiên là (theo thứ tự này, IMHO):
-
Tạo hoặc đính kèm cơ sở dữ liệu của bạn vào một phiên bản SQL Server thực. Sau đó, chuỗi kết nối của bạn sẽ chỉ cần chỉ định tên phiên bản, tên cơ sở dữ liệu và thông tin đăng nhập. Sẽ không có sự kết hợp nào vì Management Studio, Visual Studio và (các) chương trình của bạn sẽ kết nối với một bản sao duy nhất của cơ sở dữ liệu.
-
Sử dụng
SqlLocalDb
để phát triển địa phương. Tôi tin rằng tôi đã chỉ cho bạn bài viết này ngày hôm qua:"Bắt đầu với SQL Server 2012 Express LocalDB." - Sử dụng SQL Server Compact. Tôi ít thích tùy chọn này nhất vì chức năng và cú pháp không giống nhau - vì vậy nó không nhất thiết phải cung cấp cho bạn tất cả các chức năng mà cuối cùng bạn sẽ muốn triển khai. Phiên bản thu gọn cũng không được dùng nữa, vì vậy sẽ có điều đó.
Tất nhiên nếu bạn đang sử dụng phiên bản AttachDbFileName
.
CHỈNH SỬA: Tôi đã viết blog về điều này ở đây:
- Thói quen xấu:Sử dụng AttachDBFileName