Trường hợp nhạy cảm được điều khiển bởi các collation cơ sở dữ liệu sử dụng - kiểm tra điều này bằng cách truy vấn các khung nhìn danh mục hệ thống:
select name, collation_name
from sys.databases
Một tên đối chiếu sẽ là một cái gì đó như: Latin1_General_CI_AS
Phần _CI_
là nói cho tôi ở đây rằng đây là một collation không phân biệt chữ hoa chữ thường. Nếu bạn thấy số _CS_
thì đó là số nhạy cảm với trường hợp đối chiếu.
Bạn có thể thay đổi collation mặc định của một cơ sở dữ liệu sử dụng:
ALTER DATABASE AdventureWorks COLLATE .......
và chọn bất kỳ đối chiếu hợp lệ ở đây - sử dụng một với một _CI_
để có được một collation case-insensitive.
Sự cố là: ngay cả khi bạn thay đổi đối chiếu ở cấp cơ sở dữ liệu, một số bảng nhất định vẫn có thể có cột riêng lẻ có một collation cụ thể được xác định khi bảng được tạo. Bạn cũng có thể thay đổi tất cả những điều này, nhưng đó sẽ là một cam kết lớn hơn. Xem this article để biết thêm thông tin và tập lệnh để kiểm tra và có thể thay đổi các cột riêng lẻ trong bảng của bạn.
Lý do intellisense có thể không hoạt động đúng là độ nhạy trường hợp của các đối tượng cơ sở dữ liệu được kiểm soát bởi máy chủ collation - có thể khác với bất kỳ cơ sở dữ liệu mặc định.
Để tìm hiểu những gì đối chiếu của máy chủ là, sử dụng:
SELECT SERVERPROPERTY('Collation')
Thay đổi hệ thống chiếu của máy chủ là một quá trình khá lộn xộn và đòi hỏi bạn phải sử dụng bản gốc setup.exe
như explained here.
Nguồn
2010-07-07 07:12:25