問題タブ [filegroup]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - SQL Server でセカンダリ データ ファイルが必要なのはなぜですか?
SQL Server 2005 で新しいデータベースを作成するときは、このオプションを常に無視します。これは、理解できないものを無視してそのままにしておくことができるからです。(私はDBAにはあまり興味がありません)
だから今、私はそれが何であるかに興味があります。
あなたの経験から、いつセカンダリ データ ファイルをデータベースに追加する必要があると思いますか? また、なぜそれが必要なのですか?
sql-server - 大規模な INSERT INTO ステートメント中に SQL Server ファイル グループがいっぱいになりました
SQL 2000 データベースで、あるテーブルから別のテーブルに行をコピーするように設計された SQL スクリプトを考えてみましょう。転送には、単純に 750,000 行が含まれます。
これは、ColB
タイプが であるため、おそらく長時間実行されるクエリntext
です。ステートメントにはいくつかのCONVERT()
操作があります。SELECT
問題は、約 15 分の操作の後、SQL Server によってこの例外が発生することです。
'PRIMARY' ファイル グループがいっぱいであるため、データベース '[DB]' のオブジェクト '[TABLE]'.'[PRIMARY_KEY]' に領域を割り当てることができませんでした。不要なファイルを削除するか、ファイル グループ内のオブジェクトを削除するか、ファイル グループにファイルを追加するか、ファイル グループ内の既存のファイルに対して自動拡張を設定して、ディスク領域を作成します。
より詳しい情報
- 自動拡張はすでにオンになっています。
- ディスクに十分な空き容量があります (~20GB)
- 単一の.mdfは〜6GBです
- ソース表またはターゲット表にトリガーがない
質問
必要に応じてデータベースを拡張できるようにするには、Management Studio または T-SQL を介してどのオプションを設定する必要がありますか? 他にどのような救済策を提案しますか?
解像度
SQL Server 2008 Expressのインスタンスでこのデータベースをホストしていたため、必要に応じてデータベースを拡張できませんでした。中和されていないバージョンの SQL Server にアップグレードすると、この問題が解決します。
sql-server-2008 - 明らかな理由もなく、SQL Server 2008 Standard の「プライマリ ファイル グループがいっぱいです」
データベースは現在 64 Gb で、アプリの 1 つが次のエラーで失敗し始めました。
System.Data.SqlClient.SqlException
:ファイル グループがいっぱいであるため、'cnv.LoggedUnpreparedSpos'.'PK_LoggedUnpreparedSpos'
データベース内のオブジェクトに領域を割り当てることができませんでした。不要なファイルを削除するか、ファイル グループ内のオブジェクトを削除するか、ファイル グループにファイルを追加するか、ファイル グループ内の既存のファイルに対して自動拡張を設定して、ディスク領域を作成します。'travelgateway'
'PRIMARY'
すべてを再確認しました: 1 つのファイル グループ内のすべてのファイルは、適切な増分 (データ ファイルの場合は 100 Mb、ログ ファイルの場合は 10%) で自動拡張することが許可されており、データベース用に 100 GB を超える空き領域が利用可能ですtempdb
。ドライブに十分な空き HDD スペースがある場合は、自動拡張にも設定されます。
問題を解決するために、ファイル グループに 2 番目のファイルを追加したところ、エラーはなくなりました。しかし、私はこの状況全体に不安を感じています。
みんな、ここでどこに問題があるの?
sql-server - SQL Server でのファイル グループの自動移行
最近、私は、ファイル グループを使用して設計されていない古いデータベースを再構築しようとしており (デフォルトのみPRIMARY
)、とりわけ、一連のテーブルをData
SAN 上にある新しいファイル グループに移動しようとしています。データを移行する方法を知っています:
しかし、これが私が今までにやらなければならなかった最も退屈な仕事ではない場合は気の毒です. そして、エラーが発生しやすいです。ある時点で、PK に値の列の 1 つを誤って含めてしまったことに気付く前に、30 GB のテーブルを移動する途中 (進行状況インジケーターがないためだと思います) でした。だから私は最初からやり直さなければなりませんでした。
テーブルに多くの依存関係がある場合はさらに悪化します。次に、主キーを削除することはできません。それを参照するすべての外部キーを削除して再作成する必要があります。これにより、何百行ものボイラープレートが発生します。テーブルを 100 倍すると、実に馬鹿げたものになります。手首が痛い。
誰かがこれのショートカットを思いついたことがありますか? それを実行できるツールはありますか (1 回限りの使用を考慮して価格設定されています)。おそらく、ここにいる誰かが以前にこのプロセスを経なければならず、共有しても構わない独自のツール/スクリプトを作成したことがありますか?
SSMSは明らかにそれを行いません-クラスター化されていないインデックスの移行スクリプトのみを生成できます(そして、それらはUNIQUE
制約ではなくインデックスである必要があります-少なくともいくつかのテーブルでは、良くも悪くも、クラスター化されたインデックスは実際にはありません主キー、それは別のUNIQUE
制約です)。
構文が複雑すぎてコード生成を書けないというわけではありません。少なくとも、基本的な主キーの削除と再作成の部分については。しかし、すべての依存関係を把握し、すべての外部キーの削除/再作成スクリプトを生成するオーバーヘッドを追加すると、すべてのテーブルを実行するよりも、自動化して完全にテストする方が多くの作業が必要なしきい値を超えているように感じ始めます。上記の例のように手動で。
問題は、このプロセスを合理的に簡単な方法で自動化できるかどうかです。 私が上に書いたことに代わるものはありますか?
ありがとう!
sql-server - MS SQL Serverの別のファイルグループにテーブルを移動するにはどうすればよいですか?
私は2つの大きなテーブルSQL Server 2008 Ent
を持っています。サービスを中断せずOLTP database
にこれらのテーブルを別のテーブルに移動するにはどうすればよいですか?filegroup
現在、これらのテーブルでは、毎秒約100〜130のレコードが挿入され、30〜50のレコードが更新されています。各テーブルには、約1億のレコードと6つfield
のs(1つのフィールドを含むgeography
)があります。
Googleで解決策を探していますが、すべての解決策に含まれています
2番目のテーブルの作成、最初のテーブルからの行の挿入、最初のテーブルの削除など
この問題を解決するためにパーティション関数を使用できますか?
sql - 変数を使用して SQL Server でファイル グループを指定する方法
SQL Server データベースのアップグレード中に、テーブルを変更して制約を追加したいと考えています。
このテーブルは通常、'MY_INDEX' という名前のファイル グループでインデックスが作成されますが、このファイル グループのないデータベース上にある場合もあります。この場合、'PRIMARY' ファイル グループでインデックス作成を行う必要があります。
これを達成するために次のコードを試しました:
ただし、ファイルグループを変数で指定できないように見えるため、最後の行は失敗します。
これは可能ですか?
sql-server - 非クラスター化インデックスをすべてSQLServerの別のファイルグループに移動する
SQL Server 2008で、DB内のすべての非クラスター化インデックスをセカンダリファイルグループに移動したいと思います。これを行う最も簡単な方法は何ですか?
sql-server - SQL Server 2008 R2 にファイルが 1 つしかない場合、同じドライブに多数のファイルがあるファイル グループのパフォーマンスは向上しますか?
ファイル グループとそのファイル (.ndf) に関していくつか質問があります。
- 多くのファイルを含むファイル グループは、ファイルが 1 つだけのファイル グループよりも高速ですか? (すべてのファイルは同じドライブに配置されます。つまり、データへのアクセス時間は同じです)
- (1)が偽の場合。ドライブ A と B に多数のファイルが分散しているファイル グループは、ドライブ A または B にファイルが 1 つしかないファイル グループよりも高速ですか? (ドライブ A と B が同じモデルであるとします)
sql-server-2008 - 識別子列に基づいて、1 つの SQL 2008 DB テーブルを複数のファイル グループに分割できますか?
多数のテーブルを持つ SQL Server 2008 R2 データベースがあります。これらのテーブルのうちの 2 つには大量のデータが含まれていVARBINARY(MAX)
ますGEOGRAPHY
。(なぜ 2 つのテーブルがあるのでしょうか? 興味がある場合は以下をお読みください***)
これらのテーブルのデータは、郵便番号の境界などの地理空間形状です。
ここで、最初の 70K 奇数行がDataType = 1
残りの 5mil 行です。DataType = 2
さて、テーブルデータを2つのファイルに分割することは可能ですか? したがって、すべての行DataType != 2
が入りFile_A
、DataType = 2
入りFile_B
ますか?
このようにして、DB をバックアップするときに、File_B の追加をスキップできるので、ダウンロードが非常に小さくなりますか? これは可能ですか?
私はあなたが考えているかもしれないと思います->なぜそれらを2つの追加テーブルとして保持しないのですか? 主な理由は、コード内でデータが概念的に同じであるためです..たまたま、このモデル データのストレージを分割したいだけです。モデルに 1 つではなく 2 つの集約があると、モデルが本当に台無しになります。
***Entity Framework は を含むテーブルを好まないGEOGRAPHY
ため、 を に変換する新しいテーブルを作成し、GEOGRAPHY
それVARBINARY
を EF にドロップする必要があります。
sql-server - SQL Server: インデックス (PK でもある) のファイル グループの変更
データベースのグループでクリーンアップを行っています。最初のステップは、データベース内のすべてのインデックスを正しいファイル グループに取得することです。
現在、これらのインデックスは DATA ファイル グループと INDEXES ファイル グループの間で混在しています。それらはすべて INDEXES ファイル グループに移動する必要があります。
これはスクリプトで簡単に実行できると思いますが、主キーのインデックスをどのように処理するのが最善でしょうか?
次のコマンド
エラーが発生します:
明示的な DROP INDEX は、インデックス 'Answer.PK_Answer' では許可されていません。PRIMARY KEY 制約の適用に使用されています。
では、最善の方法は何ですか?主キーを削除してからインデックスを削除し、次に主キーを再作成し、最後に正しいファイル グループにインデックスを再作成する必要がありますか? この方法に欠点はありますか?