Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как определить, что сервер в Azure?  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3459
Как определить в приложении, запросом, что сервер в Azure?
18 янв 18, 18:15    [21117736]     Ответить | Цитировать Сообщить модератору
 Re: Как определить, что сервер в Azure?  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
Ролг Хупин,

@@Verion судя по описанию
18 янв 18, 18:18    [21117747]     Ответить | Цитировать Сообщить модератору
 Re: Как определить, что сервер в Azure?  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
или точнее

SERVERPROPERTY('Edition') даст 'SQL Azure' indicates SQL Database or SQL Data Warehouse
18 янв 18, 18:21    [21117756]     Ответить | Цитировать Сообщить модератору
 Re: Как определить, что сервер в Azure?  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3459
спасибо, протормозил.
В Амазоне такого нет
18 янв 18, 18:32    [21117787]     Ответить | Цитировать Сообщить модератору
 Re: Как определить, что сервер в Azure?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30767
Ролг Хупин
спасибо, протормозил.
В Амазоне такого нет
В Ажуре тоже такого нет, если сервер в виртуалке (то есть как в Амазоне).

То есть SERVERPROPERTY('Edition') даст 'SQL Azure' не если сервер в ажуре, а если сервер - это SQL Database или SQL Data Warehouse
А если я просто сиквел запущу в ажуре, скажем, стандарт эдишен 2012, то оно вернёт "Standart Edition (64-bit)"

НО ТС наверное имел в виду не хостинг, а версию, что для Амазона есть не имеющий смысла вопрос..
19 янв 18, 01:14    [21118446]     Ответить | Цитировать Сообщить модератору
 Re: Как определить, что сервер в Azure?  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3459
alexeyvg
Ролг Хупин
спасибо, протормозил.
В Амазоне такого нет
В Ажуре тоже такого нет, если сервер в виртуалке (то есть как в Амазоне).

То есть SERVERPROPERTY('Edition') даст 'SQL Azure' не если сервер в ажуре, а если сервер - это SQL Database или SQL Data Warehouse
А если я просто сиквел запущу в ажуре, скажем, стандарт эдишен 2012, то оно вернёт "Standart Edition (64-bit)"

НО ТС наверное имел в виду не хостинг, а версию, что для Амазона есть не имеющий смысла вопрос..


да, имел в виду этот вариант, у меня так:
SERVERPROPERTY('Edition') ='SQL Azure'

Нужно для того, чтобы в приложении знать. какой сервер и обходить обломы.

Например, нарвался на то, что WinForms приложение, работающее с SQL Server и использущее SMO начало ломаться при попытке работать с азурной базой, т.е. взять дефолтные пути к файлам базы, создать базу, выдать список существующих баз и т.д.

Кстати, как быть с ограничениями SMO при работе с азуре?
19 янв 18, 09:52    [21118852]     Ответить | Цитировать Сообщить модератору
 Re: Как определить, что сервер в Azure?  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3459
alexeyvg
Ролг Хупин
спасибо, протормозил.
В Амазоне такого нет
В Ажуре тоже такого нет, если сервер в виртуалке (то есть как в Амазоне).

То есть SERVERPROPERTY('Edition') даст 'SQL Azure' не если сервер в ажуре, а если сервер - это SQL Database или SQL Data Warehouse
А если я просто сиквел запущу в ажуре, скажем, стандарт эдишен 2012, то оно вернёт "Standart Edition (64-bit)"

НО ТС наверное имел в виду не хостинг, а версию, что для Амазона есть не имеющий смысла вопрос..


В Амазоне по-моему два варинта тоже: в машине и RDS.
Как запросом определить, что мы в RDS - тоже вопрос.
19 янв 18, 09:57    [21118885]     Ответить | Цитировать Сообщить модератору
 Re: Как определить, что сервер в Azure?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30767
Ролг Хупин
В Амазоне по-моему два варинта тоже: в машине и RDS.
Как запросом определить, что мы в RDS - тоже вопрос.
А, RDS...

Там делаются инстансы обычного сиквела, разных версий и редакций, при этом тоже (как SQL Database в Azure, ограниченные) и конечно неплохо иметь какую то возможность определить, в RDS инстанс или нет (да и уровень RDS-сервиса)

Может, где то будет в @@VERSION?

Или вот, говорят, можно:
SELECT CASE WHEN db_id('rdsadmin') IS NULL THEN 0 ELSE 1 END AS RDS_DATABASE;


Или в свойстве serverproperty('ServerName') искать что то там, типа "EC2AMAZ", но это наверное совсем ненадёжно.
19 янв 18, 12:28    [21119715]     Ответить | Цитировать Сообщить модератору
 Re: Как определить, что сервер в Azure?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30767
alexeyvg
Или вот, говорят, можно:
SELECT CASE WHEN db_id('rdsadmin') IS NULL THEN 0 ELSE 1 END AS RDS_DATABASE;
Ещё для надёжности можно посмотреть, есть ли в rdsadmin процедура rds_show_configuration
19 янв 18, 12:38    [21119760]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить