كيفية تحديد ما إذا كان مثيل SQL Server غير حالة الأحرف أو لا
-
10-07-2019 - |
سؤال
وكيف يمكنني معرفة ما إذا كان مثيل SQL Server 2005 يسمح قواعد البيانات الحساسة القضية أم لا؟
حسب حالة الأحرف، أعني حساسية حالة الكائنات في قاعدة البيانات، أي من العبارتين التاليتين ليست معادلة:
SELECT * FROM TABLE
SELECT * FROM table
ولقد بحثت في صفحات الخصائص من الخادم (في إدارة Studio)، ولكن لم أتمكن من رؤيته.
المحلول
SELECT DATABASEPROPERTYEX('DatabaseNameHere', 'Collation') SQLCollation;
وعودة "SQL_Latin1_General_CP1_CI_AS"، وCI هو ما يشير إلى حالة عدم الاكتراث
نصائح أخرى
في الاستوديو إدارة، انقر على الحق مثيل في مستكشف كائن، ثم انقر على "خصائص" لمشاهدة خصائص الخادم. في قسم "العامة" للنظر في الترتيب. الحالة الافتراضية وضع حساس هو SQL_Latin1_General_CP1_CI_AS. الإعداد حساسية القضية هو Latin1_General_CS_AS.
ووتجميع قاعدة بيانات يمكن أن تكون مختلفة لجمع الخادم. لا يوجد أي قيود.
عند إنشاء قاعدة بيانات، يمكنك تحديد ذلك هناك أو أنه يفترض في تجميع قواعد بيانات نموذج (الذي يجب أن يكون ترتيب الخادم).
SELECT
DATABASEPROPERTYEX('MyDB', 'Collation'),
SERVERPROPERTY ('Collation')