2

tempdbデータベースの永続テーブルの使用例はありますか? 永続的とは、# や ## を使用せず、tempdb に実際のテーブルを作成することを意味します。SQL サービスを再起動すると tempdb が消去されることはわかっていますが、この方法は他の理由で悪いのでしょうか?

これには1つのユースケースがあるため、一時テーブルが必要ですが、それはSQL接続スパンを超えて開かれます。

編集: 長期的な一時テーブルの実際のデータはシリアル化されたファイルであり、照合などに基づくデータではありません

4

4 に答える 4

2

データベースに 'temp' (または Staging) という名前のスキーマを作成し、そのスキーマに長期間有効な一時テーブルを作成してみませんか。例えば

create schema [temp] 
     authorization [dbo]

create table [temp].[MyTempTable]
(
   Id int,
   [name] varchar(50),
   ... SomeColumns ...
)

更新:追加情報に応じて、FILESTREAMを使用できますか? (SQL Server 2008 以降)

于 2012-02-20T10:46:53.230 に答える
1

tempdb に正確に配置する必要があるのはなぜですか? 投稿された他のすべての選択肢に加えて、このテーブルを保持するための共有 DB を作成してみませんか?

于 2012-02-20T11:11:31.797 に答える
1

たとえば、DB と tempdb (サーバー) の照合順序が一致しない場合、暗黙的な文字列比較が失敗する可能性があるなど、多くの理由でこのアイデアは適切ではありません。

于 2012-02-20T10:52:54.763 に答える
1

別のアプローチをお勧めする主な理由は、tempdb が SQL Server で使用される回数が多いため、既にボトルネックになっているためです。tempdb にプラグインする別の理由を見つけることはお勧めしません。

それ以外は、tempdb は他の場所と同じくらい優れており、サービスの再起動後にそこに残したものはすべて消去されるという追加の利点があります。

于 2012-02-20T13:39:21.407 に答える