Sql-Server
在記憶體數據庫中刪除文件和文件組
我有一個 SQL Server 2016 數據庫,並配置了記憶體表。我想刪除此配置,然後刪除該表。當我想刪除該文件和文件組時,出現以下錯誤。
USE [InMem_Test] GO ALTER DATABASE [InMem_Test] REMOVE FILE [InMemFile] GO ALTER DATABASE [InMem_Test] REMOVE FILEGROUP [InMemFileGroup] GO
消息 41802,級別 16,狀態 1,第 3 行無法刪除最後一個記憶體優化容器“InMemFile”。消息 5042,級別 16,狀態 11,第 5 行文件組“InMemFileGroup”不能被刪除,因為它不是空的。
目前,刪除 Hekaton 的唯一方法是刪除整個數據庫。
可能不是您的第一選擇,但微軟似乎不願意改變方向。
Microsoft 已在 SQL 2019 中解決了這個問題。
版本:Microsoft SQL Server 2019 (CTP3.2) - 15.0.1800.32 (X64) Jul 17 2019 21:29:33
請參閱Daniel Adeniji 的文件組和文件 - v2019/CTP。
語法是這樣的:
文件組管理 - 從文件組中刪除文件
ALTER DATABASE [database] REMOVE FILE [symbolicName];
樣本:
ALTER DATABASE [MyDatabase] REMOVE FILE [InMemoryContainer] GO
文件組管理 - 刪除文件組
ALTER DATABASE [database] REMOVE FILEGROUP [filegroup];
樣本:
ALTER DATABASE [MyDatabase] REMOVE FILEGROUP [DBMO.MOD];