2014-02-06 1 views
2

В моей базе данных одна сортировка таблицы отличается от всех остальных таблиц.Запрос на изменение сортировки таблиц в SQL Server 2008

Я хотел бы изменить это сопоставление таблицы так же, как и все остальные таблицы.

Теперь я могу изменить сортировку таблицы с помощью SSMS Design, но я хотел бы использовать запрос для изменения сортировки. В настоящее время моя таблица сортировки составляет Thai_CI_AS, и я хочу изменить сортировку SQL_Latin1_General_CP1_CI_AS.

Невозможно отбросить таблицу, поскольку она уже содержит данные.

ответ

5

Неплохая идея для consult the documentation. Угадывание исходного типа данных и NULLability; Вы можете заполнить в названиях таблиц/столбцов:

ALTER TABLE dbo.TableName ALTER COLUMN ColumnName 
    NVARCHAR(255) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL; 

Если вы не можете проверить документацию, Management Studio будет иногда показать вам умный способ сделать что-то (хотя это не всегда предпочитают делать вещи наилучшим образом). Перейдите на экран дизайна, измените настройку, и вместо нажатия OK нажмите кнопку Сценарий.

0

Это действительное решение, которое я применил и протестировал сброс сортировки на одной из таблиц базы данных jira.

- ИЗМЕНЕНО COLLATION НАДЛЕЖАЩЕЙ КОЛОННЫ ALTER TABLE [schemaName].[TableName] ALTER COLUMN [columnName] [varchar](255) COLLATE SQL_Latin1_General_CP437_CI_AI NOT NULL;

--check Строка сортировка столбца для указанной таблицы --Lists всех строковых столбцов с соответствующей комплектовкой SELECT c.name, c.collation_name FROM SYS.COLUMNS c JOIN SYS.TABLES t ON t.object_id = c.object_id WHERE t.name = 'TableName' and c.collation_name is not null

Смежные вопросы