You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何验证EF Core版Azure Functions应用所用Azure SQL API版本是否过时

验证Azure SQL Database实际使用API版本的方法

以下几种方式可以快速确认你的Azure Functions应用实际使用的Azure SQL Database API版本:

  • 数据库端直接查询当前连接的API版本
    登录到你的Azure SQL Database,执行以下SQL查询,查看所有活跃连接的API版本信息:

    SELECT 
        session_id,
        auth_scheme,
        client_interface_name,
        client_version,
        connection_options,
        -- 从connection_options中提取ApiVersion参数
        SUBSTRING(connection_options, CHARINDEX('ApiVersion=', connection_options) + 10, 10) AS ApiVersion
    FROM sys.dm_exec_connections
    WHERE client_interface_name LIKE '%SqlClient%'
    

    结果里的ApiVersion字段就是当前连接使用的API版本号,你可以根据应用的连接特征(比如session_id、client_version)定位到你的游戏应用对应的连接。

  • 通过应用日志捕获连接参数
    开启Azure Functions的详细日志(或者应用的调试日志),在日志中查找包含ApiVersion的连接字符串片段。Microsoft.Data.SqlClient在建立连接时会自动传递API版本参数,EF Core底层调用SqlClient时,这些参数会被记录在调试级别的日志里。你可以筛选应用相关的日志条目,直接找到实际使用的API版本。

  • 确认Microsoft.Data.SqlClient版本对应的默认API版本
    不同版本的Microsoft.Data.SqlClient默认使用的API版本不同,对应关系大致如下:

    • 2.0.x ~ 2.1.x:默认使用2017-03-08 API版本
    • 3.0.x ~ 3.1.x:默认使用2019-02-02 API版本
    • 4.0.x及以上:默认使用2021-02-10 API版本
      你可以在应用代码中添加一行输出,获取当前运行时的SqlClient版本:
    Console.WriteLine($"SqlClient Version: {Microsoft.Data.SqlClient.SqlClientFactory.Instance.Version}");
    

    结合上述版本映射,就能推断出默认使用的API版本。如果你的连接字符串手动指定了ApiVersion参数,需要以该参数为准。

内容的提问来源于stack exchange,提问作者joon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 13:38:23