Sql-Server

Azure SQL - 超大規模服務層 - 是否支持表分區

  • March 11, 2022

在超大規模服務層中執行的 Azure SQL DB 中,是否支持表級分區?它似乎沒有在已知限制頁面中被呼叫。

嘗試通過 SSMS 在 Azure SQL 超大規模數據庫中創建文件組(這是創建分區方案的第一步)時,它引發了錯誤:

此版本的 SQL Server 不支持關鍵字或語句選項“文件組”。

所以,要麼做分區是不可行的,要麼必須有其他的方法來創建它們。

  • 有人可以澄清是否支持分區嗎?
  • 如果是這樣,如何為表創建它們?
  • 如何處理分區切換/新分區創建?

Azure SQL 數據庫完全支持分區,包括超大規模服務層。

但是,Azure SQL 數據庫不支持添加其他文件組。

如果您查看Files & Filegroups 的文件,“適用於”部分顯示“SQL Server(所有支持的版本)”,它實際上僅指傳統的自行安裝的“在伺服器上執行”風格的 SQL Server,而不是Azure SQL 數據庫。將其他文件組添加到 Azure SQL 數據庫不起作用。

有許多功能/語法在 Azure SQL 數據庫中不起作用,它們都會引發錯誤 40517:

Keyword or statement option '%.*ls' is not supported in this version of SQL Server.

在添加文件組的情況下,在拋出錯誤時%.*ls替換為:filegroup

Msg 40517, Level 16, State 1, Line 4
Keyword or statement option 'filegroup' is not supported in this version of SQL Server.

由於各種數據管理原因(分散 IO、較慢的儲存或存檔數據、零碎恢復等),您可能希望為單獨的分區使用單獨的文件組。但是,這不是使用分區的必要條件,您可以輕鬆地為PRIMARY文件組中的所有內容設置分區——這最終成為您在 Azure SQL 數據庫中的唯一選擇。

您可以跳過創建新文件組的步驟,通過創建分區方案和函式繼續配置分區,然後將它們應用到表中。

引用自:https://dba.stackexchange.com/questions/308620