3

SQL Server データベースのライセンスと構成によっては、サイズの制限が大きく異なる場合があります。例えば:

  • SQL Server 2012 Express には 10GB の制限があります
  • SQL Server 2008 R2 Express には 10GB の制限があります
  • SQL Server 2008 Express には 4GB の制限があります

データベース サーバーにクエリを実行して、最大サイズを確認することはできますか?

現在のサイズを調べるためにクエリを実行できます。

name      DataFileSizeMB LogFileSizeMB  
--------- -------------- -------------  
master          4.875000      1.750000  
tempdb          8.000000      0.500000  
model           4.062500      1.000000  
msdb           16.687500      4.562500  
Harrison       21.937500     18.187500  
Lennon        122.750000    425.625000  
McCartney      19.937500     49.687500  
Starr          19.937500     18.187500  

私が今求めているのは、使用可能な HDD スペースではなくライセンスに基づいて、最大値を調べる方法です。

4

4 に答える 4

0

「データベースの最大サイズを教えてください」レベルでそれを行う方法はわかりませんが、データベースsys.database_filesを構成するファイルからクエリを実行してつなぎ合わせることができます。

関連する列は になると思いますmax_size。これは、8KB ページの最大ファイル サイズです。

PS。 sys.database_filesデータベースごとのビューです。SQL Server インスタンス全体で表示したい場合はsys.master_files、より良いかもしれません....

于 2013-04-11T23:01:54.403 に答える
-1

報告されるすべてのサイズはMB 単位です

注 - ファイルがログ ファイルかデータ ファイルかを確認するより良い方法があります。ここで「.ldf」サフィックスをチェックすると、インストールの 99% で機能します。

if object_id('tempdb..#sizes') is not null
drop table #sizes;
GO
create table #sizes (dbname sysname, cursize int, maxsize int, isunlimited int, curlogsize int, maxlogsize int, islogunlimited int);

exec sp_msforeachdb '
insert #sizes
select ''?'',
    sum(case when filename like ''%.ldf'' then 0 else size end),
    sum(case when filename like ''%.ldf'' then 0 else maxsize end),
    min(case when filename like ''%.ldf'' then 0 else maxsize end),
    sum(case when filename like ''%.ldf'' then size else 0 end),
    sum(case when filename like ''%.ldf'' then maxsize else 0 end),
    min(case when filename like ''%.ldf'' then maxsize else 0 end)
from [?].sys.sysfiles';

select dbname, cursize / 128.0,
    case when isunlimited = -1 then 'unlimited' else str(maxsize/128.0) end, curlogsize/128.0,
    case when islogunlimited = -1 then 'unlimited' else str(maxlogsize/128.0) end
from #sizes
order by dbname;
于 2013-04-11T23:47:47.040 に答える