Уровень совместимости SQL Azure

Я думал, что SQL Azure был построен поверх SQL Server 2012, но уровень совместимости при создании новой базы данных равен 100 (уровень совместимости SQL Server 2008), а не 110.

SELECT compatibility_level FROM sys.databases WHERE name = 'Test';

Я попытался изменить его на 110. используя два известных мне метода:

ALTER DATABASE Test SET COMPATIBILITY_LEVEL = 110;
--> Incorrect syntax near 'SET'.

EXEC sp_dbcmptlevel 'Test', 110;
--> Could not find stored procedure 'sp_dbcmptlevel'.

Причина, по которой это проблема для меня, заключается в том, что SQL 2008 не поддерживает географические фигуры, которые пересекают полушария, поэтому, если вы уменьшите масштаб карты, чтобы увидеть мир, и попытаетесь сохранить границ карты это не удастся. Довольно глупо, верно?

Я думал, что это не будет проблемой в SQL Azure, потому что это было исправлено в SQL Server 2012, но когда я пытаюсь создать фигуру, пересекающую полушария, я получаю следующую ошибку:

Microsoft.SqlServer. Types.GLArgumentException: 24205: указанные входные данные не представляют допустимый экземпляр geography, поскольку он выходит за пределы одного полушария. Каждый экземпляр geography должен помещаться внутри одного полушария. Распространенной причиной этой ошибки является то, что многоугольник имеет неправильную кольцевую ориентацию. Чтобы создать экземпляр географии больше полушария, обновите версию SQL Server и измените уровень совместимости базы данных как минимум на 110.

Итак, он говорит мне изменить уровень совместимости, как будто знает, что это уже исправлено, но я не могу понять, как это сделать в SQL Azure.У кого-нибудь есть предложение что-нибудь попробовать? Или дайте мне знать, если это просто невозможно прямо сейчас?

7
задан user1406823 20 May 2012 в 23:11
поделиться