Is it possible to test whether a database is hosted on SQL Azure? I am looking at SqlAzureExecutionStrategy for EF6 and only want to apply if the database is actually SQL Azure database.
Currently I am testing if App is running within Azure. However we are looking at allowing clients to host DB themselves so would like some way to identify if DB is a SQL Server or Azure SQL.
Assume EF won't know as it is hiding the implementation details.
Could just have a config setting I guess. Just wondered if it was technically possible.
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
I've been using the same function as gvee, ServerProperty(), but with a different property name:
IF ServerProperty('Edition') = 'SQL Azure'
PRINT 'true'
For me, this is easier to read and also self-documenting.