2011-09-06 9 views
15

Jakie polecenie T-SQL można uruchomić, aby znaleźć zestaw znaków tabeli lub bazy danych w programie SQL Server?ustalanie zestawu znaków tabeli/bazy danych?

edit: wersja serwera: Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64)

+0

Uruchom program SQL Server Management Studio i uruchom 'Select @@ Verion', aby sprawdzić wersję SQL Server. –

+0

Zobacz 'DATABASEPROPERTYEX' i' SERVERPROPERTY' – Lijo

Odpowiedz

20

Można sprawdzić wersję używając

SELECT @@VERSION; 

Jest to 9.00 lub nowszej, można sprawdź sortowania kolumny przy użyciu

SELECT collation_name FROM sys.columns 
WHERE name = 'column name' 
AND [object_id] = OBJECT_ID('dbo.table name'); 

a do bazy danych przy użyciu

SELECT collation_name FROM sys.databases 
WHERE name = 'database name'; 

Jeśli jest to < 9.0, to używasz programu SQL Server 2000 lub niższego. W 2000 roku wierzę, że możesz sprawdzić podobne kolumny (np. syscolumns.collationid dla kolumn).

8

Aby sprawdzić sortowanie SQL Server uruchomić to w SQL Server Management Studio (umieścić nazwę bazy danych w odpowiednim miejscu)

SELECT DATABASEPROPERTYEX('DatabaseNameGoeshere', 'Collation') DatabaseCollation; 

Należy pamiętać, że ustawienia sortowania można ustawić każdy poziom

Server

SELECT SERVERPROPERTY('Collation') as ServerCollation 

Database

SELECT DATABASEPROPERTYEX('DatabaseNameGoeshere', 'Collation') DatabaseCollation; 

Kolumna (SQL Svr 2005 lub nowszy)

Select TABLE_NAME, COLUMN_NAME, Columns.COLLATION_NAME 
From INFORMATION_SCHEMA.COLUMNS 

Kolumna (niższa niż SQL Svr 2005)

SELECT name, collation_name 
FROM syscolumns 
WHERE OBJECT_ID IN 
(
    SELECT OBJECT_ID 
    FROM sysobjects 
    WHERE type = 'U' 
    AND name = 'TableNameGoesHere' 
) 
AND name = 'ColumnNameGoesHere' 
+0

Otrzymuję zero jako odpowiedź. Co to znaczy? – shealtiel

+0

Czy umieściłeś odpowiednią nazwę bazy danych w zapytaniu? –

+0

'sys.columns' i' sys.objects' są niepoprawne

12

Zestaw znaków zależy od typu danych kolumny. można zorientować się, jakie zestawy znaków używane są do kolumn w bazie danych, jak również sortowania korzystających z tej SQL:

select data_type, character_set_catalog, character_set_schema, character_set_name, collation_catalog, collation_schema, collation_name, count(*) count 
from information_schema.columns 
group by data_type, character_set_catalog, character_set_schema, character_set_name, collation_catalog, collation_schema, collation_name; 

Jeśli używa domyślnego zestawu charakteru, character_set_name należy iso_1 (ISO 8859- 1) dla typów danych char i varchar. Ponieważ nchar i nvarchar przechowują dane Unicode w formacie UCS-2, character_set_name dla tych typów danych to UNICODE.

Powiązane problemy