ユーザ作成のテンポラリ・データベースは、通常はデータベース管理者によって作成されます。これらのデータベースは通常、システム tempdb におけるリソース競合 (システム・カタログやログの競合など) を最小限に抑えるために作成されます。ユーザ作成のテンポラリ・データベースは、次の点でシステム tempdb に非常によく似ています。
主に、テンポラリ・オブジェクトを作成するために使われる。
システムリカバリ・プロセス中に、リカバリされるのではなく、再作成される。
停止前またはクラッシュ前のテンポラリ・データベース内のオブジェクトは、リカバリ・プロセス中にすべて消失しますが、これはテンポラリ・データベースが model データベースによって上書きされるためです。システム tempdb に適用されるこれらの制約は、ユーザ作成のテンポラリ・データベースにも適用されます。
セッションは、ログイン時に、現在有効なバインドに基づいてテンポラリ・データベースに割り当てられます。
オンラインの、使用可能な特定のテンポラリ・データベースにバインドが設定されている場合、セッションはこのテンポラリ・データベースに割り当てられます。
デフォルトのグループにバインドが設定されている場合、ラウンドロビン選択方式によって、そのグループのテンポラリ・データベースが選択される。
バインドが指定されていない場合、デフォルトのグループからテンポラリ・データベースが選択される。
セッションに選択されたテンポラリ・データベースはそのセッション中は有効であり、バインドが変更された場合でも変更されることはありません。
いったんセッションがテンポラリ・データベースに割り当てられると、そのセッション中に作成されたテンポラリ・オブジェクトはすべてテンポラリ・データベースに作成されます。これらのオブジェクトは、セッションまたはサーバの停止時に自動的に削除されます。共有テンポラリ・テーブルは、サーバ停止時に自動的に削除されます。
テンポラリ・テーブルは、セッションによって明示的に削除されることがあります。
テンポラリ・データベースを追加するには
Sybase Central のリスト・ビューで、[データベース] − [テンポラリ・データベース] − [リスト・ビュー] を選択します。
[テンポラリ・データベースの追加] を選択します。
[名前の指定] ウィンドウが表示されます。作成するテンポラリ・データベースの名前を入力し、[次へ] をクリックします。
[デバイス情報] ウィンドウが表示されます。デバイスを指定しない場合は、[次へ] をクリックします。デバイスを指定する場合は、次の手順に従います。
[追加] を選択します。
[デバイス・サイズ] 画面が表示されます。[データ] または [トランザクション・ログ] を選択して、デバイスに保存する対象を指定します。
デバイスのリストから、使用するデバイスを選択します。
デバイスを選択した後、テンポラリ・データベースのサイズをメガバイト単位で指定します。
[OK] をクリックします。
[デバイス・サイズ] ウィンドウが終了し、[デバイス情報] 画面に戻ります。デバイスをさらに追加する場合は、この手順を繰り返します。完了したら、[次へ] をクリックします。
[データベース・タイプ情報] 画面が表示されます。次を選択します。
[上書き] − データとトランザクション・ログが同じデバイス上に混在し、データベースを最新のものにリカバリできなくなる可能性がある場合でも、Adaptive Server にデバイス仕様を強制的に指定する。
[ロード用] − データベース・ダンプのロードのみに使用可能なテンポラリ・データベースを作成する。
[次へ] をクリックします。
[テンポラリ・データベース・グループ] 画面が表示されます。次を選択します。
[なし] − tempdb をグループと関連付けない場合
[デフォルト] Å| tempdb をデフォルトのテンポラリ・データベース・グループと関連付ける場合。このグループのみが使用可能。
[次へ] をクリックします。
[まとめ] 画面が表示されます。データベースの設定の概要を確認します。オプションに変更を加える場合は、[戻る] をクリックします。Sybase Central のメイン・ウィンドウに戻る場合は、[完了] をクリックします。
新たに作成したテンポラリ・データベースが表示されます。
複数のテンポラリ・データベースの詳細については、次を参照してください。
『パフォーマンス & チューニング・ガイド:最適化と抽象プラン』の「第 12 章 tempdb のパフォーマンスについて」
『ASE リファレンス・マニュアル:コマンド』の「create database」コマンド
『リファレンス・マニュアル:プロシージャ』の「sp_tempdb」ストアド・プロシージャ