是否可以测试数据库是否托管在SQL Azure上?我正在寻找用于EF6的SqlAzureExecutionStrategy,并且只想在数据库实际是SQL Azure数据库时应用。
目前我正在测试App是否在Azure中运行。但是,我们正在考虑允许客户端自己托管数据库,因此需要一些方法来确定数据库是SQL Server还是Azure SQL。
假设EF不知道它隐藏了实现细节。
我猜可能只有配置设置。只是想知道它是否在技术上可行。
答案 0 :(得分:21)
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
答案 1 :(得分:6)
我一直在使用与gvee,ServerProperty()相同的功能,但使用不同的属性名称:
IF ServerProperty('Edition') = 'SQL Azure'
PRINT 'true'
对我来说,这更容易阅读,也可以自我记录。