Как проверить, размещена ли база данных на SQL Azure?

azure-sql-database entity-framework entity-framework-6 sql-server

Вопрос

Можно ли проверить, размещена ли база данных на SQL Azure? Я рассматриваю SqlAzureExecutionStrategy для EF6 и хочу только применить, если база данных фактически является базой данных SQL Azure.

В настоящее время я тестирую, работает ли приложение в Azure. Однако мы рассматриваем возможность предоставления клиентам самих БД, поэтому хотелось бы, чтобы определить, является ли БД SQL Server или Azure SQL.

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

Возможно, у меня есть настройка конфигурации, я думаю. Просто подумал, возможно ли это технически.

Принятый ответ

SELECT CASE ServerProperty('EngineEdition')
         WHEN 1 THEN 'Personal'
         WHEN 2 THEN 'Standard'
         WHEN 3 THEN 'Enterprise'
         WHEN 4 THEN 'Express'
         WHEN 5 THEN 'Azure'
         ELSE 'Unknown'
       END

http://technet.microsoft.com/en-us/library/ms174396.aspx


Популярные ответы

Я использовал ту же функцию, что и gvee, ServerProperty (), но с другим именем свойства:

IF ServerProperty('Edition') = 'SQL Azure'
    PRINT 'true'

Для меня это легче читать, а также самостоятельно документировать.




Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему