web-dev-qa-db-ja.com

Azure SQL-使用されるデータスペースと最大データスペース

Azureに次のデータベースデータスペースを持つ単一のAzure SQLデータベースがあります database data space

ドキュメントを読んだとき: https://docs.Microsoft.com/en-us/Azure/sql-database/sql-database-file-space-management 「使用済みスペース」は増え続けます、そして私自身もそれを縮小する必要があります。それはまったく問題なく、予想通りです。また、割り当てられたスペースが使用済みスペースよりも少し大きいこともわかります。これは私がそれがうまくいくことを望んでいる方法です:

  1. 使用済みスペースが割り当てられたスペースに近づくと、さらにスペースが割り当てられます
  2. 使用済みスペースが最大サイズの場合、使用可能なスペースがないため、スペースが不足します

何かを誤解していて、使用済みスペースが割り当てられたスペースにある場合、私のデータベース(およびサイト)が機能しなくなるのではないかと少し怖いです。 Azureの世界は初めてです。

今日気づいたことです。使用されているデータ領域(パーセント)を監視するように設定されたモニターがあり、最大に達したときにアラートが表示されます。しかし、割り当てられたスペースを超えて成長しない場合、私は決して最大にヒットしません。

2
mslot

まず、これは正常な動作であるため、心配する必要はありません。

回答のリンクFrom msdocs onData space allocationは必要な情報を提供します:

割り当てられたスペースの量は自動的に増加しますが、削除後に減少することはありません。この動作により、スペースを再フォーマットする必要がないため、将来の挿入がより高速になります。

この割り当てられたスペースは自動的に拡大し、拡大しても同じ状態を保ちます。

データベースが増大し続ける場合、最終的に割り当てられるスペースは最大ストレージサイズと同じサイズになります。これは、通常のSQLサーバーデータベースの自動拡張動作に相当します。

Azureポータルの便利な部分は、多くの設定にこれらの小さな(i)マークがあることです。

enter image description here

これらはあなたを正しい方向に向かわせるはずです、詳細は上のリンク先のページを私たちに示してください。


要するに

使用済みスペースが割り当てられたスペースに近づくと、さらにスペースが割り当てられます

はい(データベースの制限に達していない限り)

使用済みスペースが最大サイズの場合、使用可能なスペースがないため、スペースが不足します

はい

サイズを取得する別の方法は、Azure sql dbのプロパティで使用可能な領域をssmsで確認することです。

enter image description here

これは、SQLサーバー自体でさえ、割り当てられた領域のようなメカニズムが使用されていることを認識していないことを意味します。


証明

前述のデータベースを少し拡張します。

enter image description here

使用済みスペースと割り当て済みスペースを増やします:

enter image description here

その後、私はデータを削除してデータベースを縮小しました(そうするべきではありません;))、_dbcc shrinkdatabaseも使用せず、ダブルファウル

dbcc shrinkdatabase([databasename])

割り当てられたスペースは同じになりますが、使用されるスペースは少なくなります。

enter image description here

3
Randi Vertongen