SQL Server 2005 Express Edition でデータベースの容量が4GBを超えたときの挙動

@IT のフォーラムで SQL Server Express Edition のデータベース容量が制限値とされている 4GB を超えた場合の挙動を尋ねる投稿がありました。
@IT / SQLServer2005Expressの容量制限超過時の挙動

私もこの件について調査中でしたので、実際に4GBを超えるデータベースを作成して C# で接続した結果を投稿しました。
調査結果をこのブログにも載せておきます。

4GBの制限値を超えた段階でデータを追加しようとすると SqlException が発生します。

データベース 'データベース名' にオブジェクト 'dbo.テーブル名'.'PK_テーブル名' の領域を割り当てられませんでした。'PRIMARY' ファイル グループがいっぱいです。不要なファイルの削除、ファイル グループ内のオブジェクトの削除、ファイル グループへの新しいファイルの追加、またはファイル グループの既存のファイルの自動拡張の設定のいずれかを行ってディスク領域を作成してください。

この状態でもデータを読み取ることは可能です。
イベントログにはこのようなメッセージが記録されます。

イベントの種類: エラー
イベント ソース: MSSQL$SQLEXPRESS
イベント カテゴリ: (2)
イベント ID: 1827

説明:
CREATE DATABASE または ALTER DATABASE が失敗しました。結果として生成される累積データベース サイズが、ライセンスされている データベース ごとの制限 4096 MB を超えることになります。

Published 木, 3 30 2006 11:02 by Ryosuke Uemoto

Comments

# SQL Server 2005 Express Edition : データベースの容量が 4GB に制限される

SQL Server 2005 Express Edition には SQL Server 2005 のその他のエディションとの相違としてデータベースのサイズが最大 4GB であるという制限があります。

2006年9月20日 16:29 by Hello Another World!

# re: SQL Server 2005 Express Edition でデータベースの容量が4GBを超えたときの挙動

ファイルグループにはファイルをいっぱい付けられるから。ぐふふふう(^^;;

2006年9月21日 0:48 by 中博俊

# SQL Server 2005 Express Edition : データベースの容量が 4GB に制限される その2

以前投稿した SQL Server 2005 Express Edition : データベースの容量が 4GB に制限される にmattakeさんからコメントを頂きました。 > 実際には mdf

2007年1月19日 22:48 by Hello Another World!