ファイルグループ内に複数のファイルが必要な理由は考えられません。このように考える理由は、ファイルグループについてはT-SQL(エンドユーザー)レベルからは制御できますが、ファイルグループの個々のファイルについてはT-SQL(エンドユーザー)レベルからは制御できないためです。ファイルがまだ必要な理由についてのコメントやアイデアはありますか?
よろしくお願いします、ジョージ
ファイルグループ内に複数のファイルが必要な理由は考えられません。このように考える理由は、ファイルグループについてはT-SQL(エンドユーザー)レベルからは制御できますが、ファイルグループの個々のファイルについてはT-SQL(エンドユーザー)レベルからは制御できないためです。ファイルがまだ必要な理由についてのコメントやアイデアはありますか?
よろしくお願いします、ジョージ
ファイルグループごとに複数のファイルがあると、次の理由でのみ役立ちます。
SQL Serverはファイルごとに1つのスレッドしか使用しないため、ファイルの数はCPUの数と一致する必要があるという「都市伝説」があります。ただし、 Microsoftがここで説明しているように、これは誤りです。
歴史的に、別の理由があります。信じられないかもしれませんが、SQL Server 4.2から7の時代には、4ギガのファイル制限があるFAT32ファイルシステムにSQLサーバーがインストールされることがありました。ファイルを(現在はファイルグループと呼んでいる)チェーン化する機能は、ファイルシステムの制限を回避し、FATベースのインストールで4ギガを超えるDBを許可する方法でした。
古いスレッド、私は知っていますが、これが私にとって理にかなっています.WindowsファイルシステムFAT32の最大ファイルサイズは2GBでした。データベース ファイルが大きくなった場合、失敗しました (MS Access データベースで一度発生しました)。したがって、最大ファイルサイズ (2GB など) を定義することができ、さらにファイルを追加することができました。データベースが大きくなり、最大サイズを超えた場合、次のファイルがいっぱいになるまでいっぱいになりました。これらのファイルはすべて、1 つのファイル グループとしてアドレス指定できます。ファイル グループを選択してテーブル データの場所を定義できますが、そのファイル グループ内のどのファイルにテーブルデータが配置されるかはわかりません。あなたが知っているのは、テーブル データがファイル グループ内の任意のファイルに格納される可能性があるということだけです。この「分割」により、ファイルシステムは最大ファイルサイズよりも大きなファイルを認識しません(ここでは:2GB) ただし、データベース内のテーブルは何倍も大きくなる可能性があります。現在、複数のファイルを設定すると、ファイルベースのバックアップ用に大きなデータファイルを小さな断片に「切り刻む」ことができます (バックアップ中に大きな (1 TB などの) ファイルをパーティションに書き込むには、たとえ高速であっても時間がかかるため、ネットワーク管理者に何が必要か尋ねてください)。 RAID. 他のすべての書き込み操作は長時間待機する必要があります. 待機間隔が短いほど、優先順位の高い操作がより迅速に実行されます. 同じテーブルへの並列アクセスが必要な場合は、次のように水平分割を検討してください。他のすべての書き込み操作は、長時間待機する必要があります。待機間隔を短くすると、優先順位の高い操作をより迅速に実行できます)。同じテーブルへの並列アクセスが必要な場合は、次のように水平分割を検討してください。他のすべての書き込み操作は、長時間待機する必要があります。待機間隔を短くすると、優先順位の高い操作をより迅速に実行できます)。同じテーブルへの並列アクセスが必要な場合は、次のように水平分割を検討してください。http://msdn.microsoft.com/en-us/library/ms188730%28v=sql.105%29.aspx . これにより、別のテーブルを作成せずに、「ディスク R: の 1 月のすべての売上」、「ディスク S: の 2 月のすべての売上」のように、テーブルのデータを異なるハードディスクに分散させることができます。テーブルのパーティション化の手順中に、どの部分がどのファイル グループに移動するかを定義できます。
長い説明を提供することはできますが、MSDNはここでそれをうまく処理します。特にファイルグループに複数のファイルを含める必要はないかもしれませんが、それはすべての人に当てはまるわけではありません。