|
分類:[データベース全般]
お世話になります。 こちらに質問して良いか少し迷ったのですが、他に聞くあてがないので SQL Server Express には古いもので 4GB 新しいもので 10GB のサイズの制限があります。 サイズ制限に関係する値が取得したくて以下で何やらサイズらしきものは取得できました。 最初は "database_size" だろうと思っていたのですが・・・・
cmd.CommandText = "EXEC sp_spaceused"; sda.Fill(ds); @ ds.Tables[0].Rows[0]["database_name"].ToString(); A ds.Tables[0].Rows[0]["database_size"].ToString(); B ds.Tables[0].Rows[0]["unallocated space"].ToString();
C ds.Tables[1].Rows[0]["reserved"].ToString(); D ds.Tables[1].Rows[0]["data"].ToString(); E ds.Tables[1].Rows[0]["index_size"].ToString(); F ds.Tables[1].Rows[0]["unused"].ToString();
「data」はレコード数に比例して増えていくのですが、「database_size」は全く変わりませんでした。
レコード数 database_size unallocated reserved data index unusede 0 12341.56 6311.75 8.448 6.968 0.856 0.624 10000 12341.56 6305.86 14.48 12.936 0.872 0.672 20000 12341.56 6300.05 20.432 18.904 0.872 0.656 30000 12341.56 6294.23 26.384 24.864 0.872 0.648 40000 12341.56 6288.36 32.4 30.832 0.872 0.696※ 単位はMB(index と unusedはkB) 50000 12341.56 6282.55 38.352 36.8 0.872 0.68 60000 12341.56 6276.73 44.304 42.76 0.872 0.672 80000 12341.56 6265.11 56.208 54.696 0.872 0.64 100000 12341.56 6253.42 68.176 66.624 0.872 0.68
制限に近づいてきたらレコードを消す目安にしたかったのですが、 "data" を使えば良いのでしょうか?
|