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がその方向性を変える気があるようには見えません。
MicrosoftはSQL 2019でこれに対処しました。
バージョン:Microsoft SQL Server 2019(CTP3.2)-15.0.1800.32(X64)2019年7月17日21:29:33
this リンクを確認してください。
リンクがなくなった場合、構文は次のとおりです。
ファイルグループ管理–ファイルグループからファイルを削除
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];