Express Editionのサイズ制限に達しているかどうかを確認するにはどうすればよいですか?


10

私は混乱しています。AFAIK SQL Server 2005 Expressには、4GBのデータベース データサイズの制限があります。ただし、次の結果が得られsp_spaceusedます。

データベースの実際のサイズは?

  1. DBがサイズ制限に達しているかどうかを確認するにはどうすればよいですか?
  2. 未割り当て領域はspace left制限に達するまでですか?
  3. 残りのスペースはどれくらいありますか?
  4. ないindex_size限度で数えますか?

msdb.dbo.backupsetのbackup_size列を確認できます。

回答:


6

ここに私が恥知らずにここからリッピングした良いスクリプトがあります

use [Insert DB Name]

select
a.FILEID,
[FILE_SIZE_MB] = 
convert(decimal(12,2),round(a.size/128.000,2)),
[SPACE_USED_MB] =
convert(decimal(12,2),round(fileproperty(a.name, 'SpaceUsed')/128.000,2)),
[FREE_SPACE_MB] =
convert(decimal(12,2),round((a.size-fileproperty(a.name, 'SpaceUsed'))/128.000,2)) ,
NAME = left(a.NAME,15),
FILENAME = left(a.FILENAME,30)
from
dbo.sysfiles a

これは、各DBファイルの空き容量(複数のファイルがあり、おそらく誰かがいくつかのオブジェクトをそれぞれに配置するように設定している)と空きサイズを提供するので、これは良いことです。

たとえば、3GBの空き容量がある4GBのデータファイルがあるとします。たぶん、1つのMDFに大量のデータはありませんが、NDFには大量のデータがあります。このクエリは、各ファイルの空きサイズとそのファイルが割り当てられているDBを通知します。合計サイズを取得するには、各DBの「SPACE_USED_MB」をすべて合計することを忘れないでください。

幸運を!

編集: このクエリのためにここに投稿することで逃げることができると思っていた、サポートされていないバグの多いコマンドを削除しました。:(



PS古い、下位互換性のあるビューを使用する場合は、使用することでこれをかなり簡略化できますsysaltfiles(これにより、各データベースにアクセスする必要がまったくなくなります)。
アーロンベルトラン

1
sysaltfilesを提供してくれたAaronに感謝します。まだ調べていません。sp_msforeachdbには多くの痛みを伴う問題がありますが、SQL Expressのインストールでは、クエリを実行して空き容量を確認したいと思っています。
Ali Razeghi 2013年

データベースをスキップし、エラーを発生させない場合を除いて...
アーロンベルトラン

そうですが、この場合、エンドユーザーがdbサイズのカウントを必要とするだけの問題になると本当に思いますか?エンドユーザーが探しているDBをスキップしたかどうかを絶対に確認して、悪い動作を補強しないようにした場合でも、投稿しないでください。この時点でその部分を削除するだけです。そうです、そのコマンドを他の場所に埋め込む必要はありません。
Ali Razeghi、2013年

5

データベースのサイズはファイルのサイズです。データファイルの実際のサイズを確認します(トランザクションログはカウントされません)。はい、インデックスはカウントされます。スペースが不足している場合は、SQL 2012 Expressへのアップグレードを検討してください。これにより、サイズ制限が10ギガに増加します。


6
SQL Server 2008 R2 Expressにも10 GBの制限があります(完全を
期す

1

sp_spaceusedが最初の結果セットに約25 GBのdatabase_sizeを表示する場合、これにはデータファイル/インデックス、およびトランザクションログが含まれます。SQL Server Expressの制限にカウントされるのは実際のデータとインデックスのみなので、2番目の結果セットのように約3.3 GBのデータがあり、残りの22 GBがトランザクションログになります。"sp_helpdb"を実行すると、データの使用状況とトランザクションログの使用状況が2つの別々の行に報告されるため、実際の状況が表示されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.