データベースが占有できる最大容量の割合を示す実行可能なストアド プロシージャが必要です。たとえばSQL Server 2005/2008
、4 GB の DB 制限があり、2008R2 には 10 GB の制限があります (エクスプレス エディション)。
現在のデータベース サイズと未割り当て領域を取得できることはわかってEXEC sp-spaceused
いますが、未割り当て領域は任意のチャンク サイズのように見え、データベースが大きくなるにつれて新しいチャンクが割り当てられます。
DB の最大サイズ制限を取得するために呼び出すことができる手順はありますか? 理想的には、現在割り当てられているものと最大のものの割合が必要なので、DB が現在 2 GB で、SQL 2008 R2 (最大 10 GB) を使用している場合、プロシージャは 20.0 または 0.2 を返し、20% を示します。DB は任意の数の異なる SQL Server インストールに配置できるため、SQL サーバーのバージョンを想定したくなく、実行時に最大値を取得したいと考えています。