如何修改无服务器Azure SQL Edge实例的时区?
调整Azure SQL Edge无服务器实例时区的方法
Azure SQL Edge本身没有直接修改服务器时区的内置功能,因为它的运行依赖于宿主容器的时区设置(无服务器实例本质是容器化部署),你需要通过配置容器时区来间接让SQL Edge实例使用目标时区。以下是具体操作方法:
1. 新部署实例时指定时区(推荐)
创建Azure SQL Edge容器时,通过环境变量TZ直接指定目标时区。例如设置为中国标准时区(Asia/Shanghai),容器启动命令关键部分如下:
docker run -e ACCEPT_EULA=Y -e SA_PASSWORD=<你的强密码> -e TZ=Asia/Shanghai -p 1433:1433 --name sqledge -d mcr.microsoft.com/azure-sql-edge
2. 已部署实例修改时区
如果实例已经运行,需重启容器并更新时区配置:
- 先停止容器:
docker stop sqledge - 重新启动容器并指定时区(注意保留之前的数据卷挂载参数,避免数据丢失):
docker run -e ACCEPT_EULA=Y -e SA_PASSWORD=<你的强密码> -e TZ=Asia/Shanghai -p 1433:1433 --name sqledge -d mcr.microsoft.com/azure-sql-edge
3. 验证时区生效情况
进入SQL Edge实例,执行以下SQL语句确认当前时区:
SELECT SYSDATETIMEOFFSET() AS 当前带偏移的时间; SELECT GETDATE() AS 服务器本地时间;
返回的时间偏移与目标时区匹配,即说明配置生效。
另外,若需在查询中灵活转换时区,可使用AT TIME ZONE函数,示例:
-- 将UTC时间转换为中国标准时间 SELECT GETUTCDATE() AT TIME ZONE 'UTC' AT TIME ZONE 'China Standard Time' AS 上海时间;
内容的提问来源于stack exchange,提问作者Itay Moav -Malimovka
相关产品推荐
相关产品推荐

