2016-12-12 4 views
2

Значение по умолчанию для Azure SQL - SQL_Latin1_General_CP1_CI_AS, не слишком хорошее, если на вашем языке есть акценты или диакритики, и вы хотите их игнорировать. Каждый раз, когда я хочу развернуть веб-приложение с базой данных на Azure, я вынужден создать базу данных вручную и установить сопоставление в этот момент. Если эту базу данных нужно удалить по какой-либо причине, я должен помнить, что ее нужно снова создать вручную, чтобы установить уровень сортировки и уровень цены.Azure SQL set default Collation

Я хотел бы использовать методы Entity Framework Core для создания с нуля базы данных и установить сопоставление оттуда (EnsureDatabaseCreated и Migrate), но я думаю, что это невозможно в данный момент и, учитывая скорость Entity Framework разрабатывается, вероятно, не будет до 2035 года.

Итак, лучшим решением является установка сортировки по умолчанию на экземпляре сервера (так что новая база данных, созданная на нем, получит это значение по умолчанию), но нет никакой опции, если вы его создаете ... Я знаю, что это можно сделать для «обычного» экземпляра SQL Server, но знает ли кто-нибудь, возможно ли это для экземпляра SaaS Azure SQL Server? Если да, то как?

+0

при создании базы данных в лазури, вы можете увидеть шаблон ARM для that..which является коллекцией значений JSon, чтобы помочь вам в автоматическом создании БД в следующий раз, проверьте, если это полезно для вас – TheGameiswar

+0

@TheGameiswar - Entity Framework создает базу данных atuomatically, вещь «настраивает» сервер, чтобы получить базы данных, созданные с другой сортировкой, чем стандартная. – Vi100

ответ

0

На сегодняшний день вы не можете изменить сортировку Azure SQL DB Server - только база данных.

Это сказал, что вы можете можете использовать EF to run a T-SQL Statement для change the collation в Azure SQL DB, запустив что-то вроде этого:

мастер USE;
GO
ALTER DATABASE MyOptionsTest
COLLATE French_CI_AS;
GO