sql - 获取远程服务器版本 MS SQL
问题描述
我有一个表,其中包含已添加服务器的列表。但我想添加一个额外的列,它将识别它是否是 Azure 服务器。如何实施?
解决方案
我会将其作为答案发布,因为它使用不同的参数SERVERPROPERTY
,但这与我链接的答案非常接近(确定链接服务器的 SQL Server 版本)。
您将希望改为'Edition'
用作输入参数:
DECLARE @Edition sysname;
SELECT @Edition = CONVERT(sysname,Edition)
FROM OPENQUERY(YourLinkedServer,'SELECT SERVERPROPERTY(''Edition'') AS Edition;');
IF (CHARINDEX('Azure', @Edition)) > 0
SET @IsAzure = 1;
ELSE
SET @IsAzure = 0;
根据文档(SERVERPROPERTY (Transact-SQL)),返回值之一是'SQL Azure'
. 该响应“指示 SQL 数据库或 SQL 数据仓库”,我认为这不是问题,因为您只想知道主机是否在 Azure 中,而不是它是否是 SQL 数据库或 SQL 数据仓库。
但是,如果您确实需要确定它是 SQL 数据库还是 SQL 数据仓库(在 Azure 中),您可以使用'EngineEdition'
; 5
表示 SQL 数据库和6
SQL 数据仓库。
推荐阅读
- php - 当我从存储库中提取代码时,phpmailer 无法正常工作
- cuda - 报告 clang cuda 中的寄存器使用情况
- docker - 在 Docker 容器中运行的 Airflow 可以访问本地文件吗?
- python - 在 pyautogui 中执行故障安全的自定义触发器
- react-native - 在电话拨号器中添加括号和连字符的电话链接
- javascript - 优化用 TypeScript 编写的文件内容解析器类
- php - 使用 php 和 ssh2 从 sftp 服务器获取文件
- python - 是否有可能在 Keras 中将步幅 > 1 与扩张率 > 1 结合起来?
- javascript - 通过类名获取元素来禁用属性的问题
- mongodb - 模型、视图、控制器、服务、存储库设计模式(RestEasy + MongoDB)