次の方法で共有


データベースの拡張

SQL Server では、特に指定しない限り、データベースを作成するときに定義した拡張パラメータに応じて、データベースが自動的に拡張されます。また、既存のデータベース ファイルに追加領域を割り当てるか、新しいファイルを作成することで、データベースを手動で拡張することもできます。既存のファイルの領域がいっぱいになってきたら、データ領域またはトランザクション ログ領域を拡張する必要があります。データベースに割り当てられている領域を使い切ってしまったときにデータベースを自動的に拡張できない場合、エラー 1105 が発生します。この現象は、データベースの自動拡張が設定されていない場合、またはハード ドライブに十分なディスク領域がない場合に発生することがあります。

データベースを拡張する際には、データベースのサイズを最低 1 MB 単位で増加する必要があります。データベースを拡張すると、新しい領域が直ちに使用可能になり、データ ファイルまたはトランザクション ログ ファイルのうち、大きくなった方を格納できます。データベースを拡張するときは、拡張可能なファイルの最大サイズを指定してください。これにより、ファイルが拡張するうちにディスクの空き領域がなくなる事態を回避できます。ファイルの最大サイズを指定するには、ALTER DATABASE ステートメントの MAXSIZE パラメータを使用するか、SQL Server Management Studio の [プロパティ] ダイアログ ボックスでデータベースを拡張するときに [ファイル拡張の制限 (MB)] オプションを使用します。データベースを拡張してトランザクション ログ領域を増やすプロセスは同じです。

トランザクション ログの自動拡張が設定されていないと、データベース内で行われる操作の種類によっては、空き領域がなくなることがあります。たとえば、データベースが完全復旧モデルに設定されている場合、一括インポートやインデックスの作成などの大規模一括操作を実行すると、トランザクション ログがすぐにいっぱいになることがあります。この場合、トランザクション ログのサイズを拡張すること以外に、ログ ファイルを切り捨てることもできます。ログを切り捨てると、アクティブでないコミット済みのトランザクションのファイルが削除され、SQL Server データベース エンジンでは、このトランザクション ログの未使用部分を再利用できるようになります。ログを切り捨てる方法とタイミングは、データベースの復旧モデルによって異なります。トランザクション ログの切り捨ての詳細については、「トランザクション ログの切り捨て」を参照してください。

tempdb の拡張

既定では、tempdb データベースはファイルの MAXSIZE が UNLIMITED に設定されているため、領域が必要になると自動的に拡張します。したがって、tempdb データベースは tempdb データベースが置かれているディスク上の空き領域がなくなるまで拡張し続けます。

tempdb の MAXSIZE を設定することにより、tempdb が制限なしに拡張することを防ぐことができます。ただし、これはお勧めできません。tempdb のサイズを制限することにより、データベースのディスク領域が不足する可能性があります。これにより、実稼働環境で重大な障害が発生したり、実行中のアプリケーションの操作を完了できなくなる場合があります。tempdb データベースに何らかの MAXSIZE が設定されている場合に tempdb データベースのサイズを大きくするには、次のいずれかの操作を行う必要があります。

  • tempdb データベースで現在使用している既定のファイル グループ内のファイルのサイズを大きくします。

  • 既定のファイル グループに新しいファイルを追加します。

  • tempdb データベースで使用しているファイルが自動的に拡張するように設定します。

    重要な注意事項重要

    tempdb にユーザー定義ファイル グループを含めることはできません。

詳細については、「tempdb データベース」を参照してください。

データベースのサイズを大きくするには

データベースの物理的な位置を変更するには