是否可以重命名Azure Synapse SQL池?

问题描述

我正在使用Azure sql数据库进行团队报告,并且现在的数据量太大,无法用单个数据处理(至少我认为是这样,它有2个事实表,每个表中约有1亿行)。

Azure sql数据库被命名为“ operation-db”,而Synapse被命名为“ operation-synapse”。

我希望使我的团队的过渡尽可能顺利。因此,我计划将所有表,视图,存储过程和用户​​定义的函数复制到Synapse。

一旦完成,是否有办法将“ operation-synapse”重命名为“ operation-db”,这样团队就不必去他们的代码库来更改数据库名称了? / p>

谢谢!

解决方法

无法通过SQL Server Management Studio重命名SQL池,并且您将收到以下错误:

Synapse工作空间中不支持

ALTER DATABASE NAME语句。 若要更新SQL池的名称,请使用Azure Synapse门户或 Synapse REST API。 (Microsoft SQL Server,错误:49978)

REST API确实列出了一种move方法来更改名称:

POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/sqlPools/{sqlPoolName}/move?api-version=2019-06-01-preview

虽然我无法使它正常工作。 YMMV。不过,不重命名数据库应该没什么大不了的。您的团队应该对更改连接字符串等感到满意,这将帮助他们了解他们正在转向具有不同特性的其他产品(Synapse)。

但是,在移至Synapse之前,是否已查看Azure SQL DB中的群集列存储索引?它们是SQL Pool数据库中默认的索引类型,但在SQL DB中也可用。他们可以将您的数据压缩5到10倍,因此最终可能没有那么大。列存储适用于聚合查询,但不适用于点查询,因此在迁移之前请先考虑一下您的工作量。

,

您可以使用 SSMS GUI 轻松重命名 Synapse 数据库。 (我刚刚在 v18.8 上试过这个)。

只需在对象资源管理器中单击一次数据库名称即可将其选中,然后按 F2 键重命名。

Synapse 服务必须正在运行(即未暂停)才能使重命名工作。