web-dev-qa-db-ja.com

Tempdb追加ファイルには再起動が必要

Tempdbファイルの追加には再起動が必要ですか?同じドライブにファイルを追加します。削除せず、変更しません。開発環境とQA環境でテストしたため、再起動は必要ありませんでした。ただし、制作に関しては、すべてが適切に機能することを確認したいと思います。いくつかは条件を述べていますが、必ずしも必要ではなく、時には必要です。以下のリソースを読んでいます:

ALTER DATABASE [tempdb] ADD FILE ( NAME = N'tempdev2', FILENAME = N'G:\tempdb2.ndf' , SIZE = 12288000KB , MAXSIZE = UNLIMITED, FILEGROWTH = 0 )
GO
ALTER DATABASE [tempdb] ADD FILE ( NAME = N'tempdev3', FILENAME = N'G:\tempdb3.ndf' , SIZE = 12288000KB , MAXSIZE = UNLIMITED, FILEGROWTH = 0 

Tempdbファイルを追加するには停止が必要ですか? Brent Ozar https://www.brentozar.com/blitz/tempdb-data-files/ "技術的には常にではない。しかし実際にはそうだ。ファイルを圧縮する必要がある場合、それは非常に難しいSQL Serverが使用されており、ファイルの追加後にSQL Serverを再起動するまで、ウイルス対策/ファイル制御ツールが機能しない場合がありました。」

http://jackworthen.com/2017/08/24/adding-additional-data-files-to-the-tempdb-database-in-sql-server/ "追加のファイルが作成された場合、必ずしもサービスを再起動する必要はありません。ただし、多くの本番環境では、サービスを再起動しない限り、既存のTempDBデータファイル(tempdev)のファイルサイズを変更するだけでは不可能です。

次のリソースは、再起動は必要ないと言っています: https://www.codykonior.com/2015/08/10/modifying-tempdb-database-files-without-a-restart/http://jackworthen.com/2017/08/24/adding-additional-data-files-to-the-tempdb-database-in-sql-server/

4
user129291

[〜#〜] add [〜#〜]-停止は必要ありません。 MicrosoftのSeanが指摘したように、SQLはより低いファイルを使用することを好みます。 1つのデータファイルから追加する場合、SQLは新しいデータファイルをしばらく使用しますが、ファイルが1つしかない場合よりパフォーマンスは低下しません。ただし、すでに2+があり、もう1つ追加すると、新しいものにホットスポットが発生し、パフォーマンスが低下します。

[〜#〜] shrink [〜#〜]-負荷によっては、停止が必要になる場合があります。ファイルの末尾は空である必要がありますが、これはビジー状態のサーバーでは発生しない可能性があります。

[〜#〜] grow [〜#〜]-パフォーマンスの低下を避けるために停止することもできますが、停止は必要ありません。即時ファイル初期化はこれを軽減します。 Aaronが指摘したように、データファイルのみを軽減しますが、複数のログファイルを追加することはないため(役に立たない)

[〜#〜] remove [〜#〜]-停止が必要な場合があります(最初に縮小/空にする必要があります)

[〜#〜] move [〜#〜]-新しい場所にあるファイルの使用を開始するにはSQLを再起動する必要があるため、停止が必要です。

[〜#〜] edit [〜#〜]-ホットスポットに関する詳細を追加。

SQL Serverに複数のTempDBデータファイルがある場合、それらを調べて、使用するデータ量が最も少ないもの(負荷分散の一種)を選択します。したがって、2つ以上の既存のデータファイルがあり、新しいデータファイルを追加するシナリオでは、SQLは、追加されたばかりのデータファイルが最も少なく埋められていることを確認し、他のファイルと同じレベルに達するまでほぼ1つを使用します。すべてのアクティビティが1つのtempdbファイルのみに集中するため、これは複数のtempdbファイルを持つ利点を打ち消します。基本的に、追加したファイルが平衡状態に達するまで、tempdbの競合(tempdbのPagelatch)が表示されます。

1つのファイルがあり、それに1つ以上追加した場合でも、これは発生します(SQLは、最も低い値のファイルを使用することを優先します)。ただし、競合のある1つのファイルから移動しているため、ダウンティックは表示されません。パフォーマンスは向上しますが、ファイルがすべて平衡状態に達するまで、パフォーマンスの上昇は見られません。

10
Jonathan Fite