如何知道我是否在 azure 中?

Mar*_*lli 1 sql-server azure-sql-database environment-variables sql-server-2016 azure

我这里说的是sql server。

我可以连接到天蓝色。我还可以管理权限

但是在进行一些自动化操作时,我需要知道我是在天蓝色还是普通sql中。我怎样才能做到这一点?

我一直在使用@@版本。不过,据说并不准确

Erg*_*sha 5

一种选择是EngineEdition

尝试:

SELECT CASE ServerProperty('EngineEdition')
         WHEN 1 THEN 'Personal'
         WHEN 2 THEN 'Standard'
         WHEN 3 THEN 'Enterprise'
         WHEN 4 THEN 'Express'
         WHEN 5 THEN 'SQL Database'
         WHEN 6 THEN 'Azure Synapse Analytics'
         WHEN 8 THEN 'Azure SQL Managed Instance'
         WHEN 9 THEN 'Azure SQL Edge'
         WHEN 11 THEN 'Azure Synapse serverless SQL pool'
       END
Run Code Online (Sandbox Code Playgroud)

笔记。使用 SERVERPROPERTY 通过上面的链接获取 SQL Server 版本的方法有多种。

另一种更简单的方法:

SELECT CASE
         WHEN ServerProperty('Edition') = 'SQL Azure'
         THEN 'Azure'
         ELSE 'No Azure' END AS server_version;
Run Code Online (Sandbox Code Playgroud)

https://dbfiddle.uk/?rdbms=sqlserver_2019&fiddle=c10db6e4d5def947657b780ede48fee1