0

我在创建时使用 UTC 时区在 azure 中创建了管理实例。现在我想将时区更改为 GMT。那么这是对管理实例 SQL 服务器进行时区更改的任何方法吗?

4

2 回答 2

1

一旦创建托管实例,就无法更改。您需要使用正确的时间戳重新部署托管实例并使用跨实例 PITR移动数据库。

于 2020-04-02T09:34:43.607 回答
0

日期/时间源自运行 SQL Server 实例的计算机的操作系统。

我搜索了很多,根据我的经验,一旦创建 SQL 服务器实例,我们就无法更改时区。

我们唯一能做的就是将 UTC 时区转换为 GMT。许多人在堆栈溢出上发布了类似的问题。如:

  1. 在sql server中从时区到时区的日期时间转换
  2. SQL Server 时区更改

Azure 提供了适用于 SQL Server 2016 或更高版本的内置函数AT TIME ZONE (Transact-SQL) 。AT TIME ZONE实现依赖于 Windows 机制来跨时区转换日期时间值。

inputdate AT TIME ZONE timezone

例如,在不同时区之间转换值:

USE AdventureWorks2016;  
GO  

SELECT SalesOrderID, OrderDate,   
    OrderDate AT TIME ZONE 'Pacific Standard Time' AS OrderDate_TimeZonePST,  
    OrderDate AT TIME ZONE 'Central European Standard Time' AS OrderDate_TimeZoneCET  
FROM Sales.SalesOrderHeader;

我没有 Azure SQL MI,所以我可以为您测试它。

希望这可以帮助。

于 2020-04-02T01:36:45.883 回答