Sql-Server

如何確定我是否在天藍色?

  • July 25, 2022

我在這裡談論的是sql server。

我可以連接到 azure。我也可以管理權限

但是在進行一些自動化操作時,我需要知道我使用的是azure還是普通 sql。我怎樣才能做到這一點?

我一直在使用@@version。不過,據說不准確

一種選擇可能是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

注意。使用 SERVERPROPERTY 在上面的連結中獲取 SQL Server 版本的方法有多種。

另一種更簡單的方法:

SELECT CASE
        WHEN ServerProperty('Edition') = 'SQL Azure'
        THEN 'Azure'
        ELSE 'No Azure' END AS server_version;

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

引用自:https://dba.stackexchange.com/questions/314816