Trong quá trình cài đặt SQL Server 2012, trong tab Collation, tôi có thể chọn giữa French_CI_AS và French_100_CI_AS .
Họ có ý nghĩa gì và cái nào mới hơn? Khi không có Mã, nó mới hơn hoặc cũ hơn 100?
Trong quá trình cài đặt SQL Server 2012, trong tab Collation, tôi có thể chọn giữa French_CI_AS và French_100_CI_AS .
Họ có ý nghĩa gì và cái nào mới hơn? Khi không có Mã, nó mới hơn hoặc cũ hơn 100?
Câu trả lời:
Phiên bản không có mã là đối chiếu phiên bản 90 (SQL Server 2005), được sử dụng bởi các phiên bản trước của Windows / SQL Server. Đối chiếu bao gồm 100 là mới hơn (SQL Server 2008).
Ở đây có một chút tổng quan về sự khác biệt trong tài liệu SQL Server 2008 , tuy nhiên, nó không đi sâu vào chi tiết.
Nếu bạn đang phát triển một ứng dụng mới, bạn có thể thấy rằng việc sắp xếp hợp lý hơn một chút (đặc biệt đối với các ký tự không bình thường) với phiên bản 100. Tuy nhiên, nếu bạn có bất kỳ Máy chủ SQL nào khác đang chạy với French_CI_AS, tốt hơn là giữ cho nó phù hợp với chúng.
Máy chủ SQL phải phiên bản đối chiếu. Vì các đối chiếu xác định thứ tự sắp xếp của dữ liệu trong cơ sở dữ liệu, nên đối chiếu phải được đảm bảo duy trì ổn định giữa các bản phát hành. Mặt khác, thay đổi đối chiếu (ví dụ: sửa lỗi trong đối chiếu) với bản phát hành mới của Windows, nó sẽ dẫn đến hai hàng int cơ sở dữ liệu để sắp xếp khác nhau trước và sau khi phát hành. Điều này nghe có vẻ tầm thường, nhưng thực tế nó có nghĩa là tham nhũng chỉ mục vì các mục nên được sắp xếp là A> B (theo quy tắc đối chiếu mới, cố định, đối chiếu) nhưng trong cơ sở dữ liệu có mặt là B> A (theo cũ , lỗi, quy tắc đối chiếu). Do đó, SQL Server phải chụp nhanh các đối chiếu cửa sổ tại mỗi bản phát hành và dán số phiên bản phát hành vào tên đối chiếu (vì các tên không có sơ đồ phiên bản rõ ràng).
Đối chiếu bạn chọn là tùy thuộc vào nhiều yếu tố. Hãy xem xét rằng nếu bạn tương tác với một máy chủ cũ hơn để trao đổi dữ liệu thì nó có thể không có đối chiếu mới nhất mà bạn sử dụng.