2012-02-20 50 views
2

永久テーブルの使用例はありますか?tempdbデータベース?パーマネントは#または##を使用せず、tempdbに実際のテーブルを作成することを意味します。 SQLサービスを再起動するとtempdbが消去されることはわかっていますが、この練習は他の理由で悪いですか?SQL Server tempdb永続テーブルの使用例

私はこのために1つのユースケースを持っているので、私はテンポラリテーブルが必要ですが、これはSQL接続のスパン以上のために開かれます。

EDIT:長寿一時テーブルの実際のデータを照合または何か他

答えて

2

に基づいてシリアル化されたファイルではなく、データがなぜ、あなたのデータベースに「TEMP」(またはステージング)という名前のスキーマを作成していない、とそのスキーマで長寿命の一時表を作成します。例えば

create schema [temp] 
    authorization [dbo] 

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

更新:あなたの余分な情報に応じて、あなたがFILESTREAMを使用することができますか? (以降、SQL Server 2008の)

+0

サーバからネットワーク経由でのファイル転送(シリアル化し、次にsql selectでバイトを読み込む)にはテンポラリテーブルのデータが使用されるため、実際にはデータベースバックアップを意味します。 –

1

アイデアは、たとえば、多くの理由のために良いではありません - あなたのDBとのtempdb(サーバー)の照合順序が一致しない場合 - なぜそれが持っていない暗黙の文字列の比較は

1

を失敗する可能性がありますちょうどtempdbにあることは? 他のすべての代替案が投稿されているだけでなく、このテーブルを保持する共有DBを作成するのはなぜですか?

+0

tempdbはすべての顧客のメインデータベースの横にすでに存在しているため、このために別のデータベースを作成するとオーバーヘッドのように思えます –

1

私は別のアプローチを提案する主な理由は、SQL Serverが使用する数のためにtempdbがボトルネックになっているからです。 tempdbにプラグインするもう一つの理由を見つけることはお勧めできません。

これ以外にも、tempdbはサービスの再起動後にそこに残ったものはすべて削除されるという利点があるほか、他の場所と同じくらい良好です。

関連する問題