2016-12-18 11 views
0

おはよう、tempdbの「クエリ中」の変更

現在のセッションで使用しているtempdbを変更することはできますか? 私はHD使用のために非常に重いクエリを持っています。 理想的には、重いもののために特別に用意したtempdbを使用してクエリを実行することをお勧めします。これがすべてで可能である場合でも、他の手段であれば、聞かせてください、

use tempdb <tempdbname> 

<query> 

use tempdb <normaltempdb> 

が、私はの線に沿って何かが欲しい(メインの問題は、クエリが非常に大きな一時テーブルを作成しています)私は知っている。 今、私が知る唯一の方法は、ユーザーを別のtempdbにバインドしてから、通常のユーザーではなくそのユーザーを使用してHDログインを行うことです。

ありがとうございます。 ziv。

+0

私は以下のように使います。 'tempdbを使用してください。 sysobjectsからトップ100 *を選択してください。 user testdb select * from table1'それはあなたが望むものか何ですか? – Moudiz

答えて

0

tempdbや他のユーザーに大きな懸念がある場合は、同じサイズと構造の複数のデフォルトのtempdbsを作成することを検討できます。デフォルトのグループにこれらを追加し、セッションは、このように

http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc00841.1502/html/phys_tune/phys_tune213.htm

あなたはまた、特定のログインのログイン・トリガーの使用を考慮し、可能性を全体のデータサーバに影響を与える一つの大きなクエリのリスクを軽減接続上でのtempdbに割り当てられていますどのtempdbを使用するかを決定するために接続しているプログラム名を確認します(Business Objectsはもっと大きなDSS tempdbなどに移動できます)。

私は気付いているセッションtempdbを変更する方法はありませんが、接続時にtempdbバインディングが設定されているためです。

+0

データベースを追加したり、ログイントリガーを変更したりすることはできません。 「いいえ」でも答えです。あなたのご意見ありがとうございます。 – ziv

1

Sybase ASEでは、飛行中のtempdbを変更することはできません。あなたのtempdbを自動的にログに割り当てられている

をあなたは、いくつかのオプションがあります。

1(推奨) - DBAは、このプロセスのために特別にログインを作成しており、バインド希望のtempdb(例えば、sp_tempdbにログイン言いました'bind'、...);あなたのプロセスにこの新しいログインを使用させてください。

2(推奨しません)#tempテーブルを作成する代わりに、 'desired_tempdb_name ..'接頭辞を持つ永続テーブルを作成します。

3(大丈夫ですが、ディスク容量があれば)テーブルを手動で削除することを忘れてしまった場合は、DBAを怒らせるでしょう - Richが提案したように、すべてのtempdbあなたのプロセスをサポートするのに十分な大きさのサイズです

注:SybaseのSQLAnywhere、IQ、またはAdvantage RDBMSを使用している場合は、残念ながら、これらの製品にどのようにテンポラリデータベースが割り当てられているのかわかりません。

0

DBAによって作成された少なくとも1つのtempdbがあるようです。アプリケーション名とログインIDでこれをバインドすることができます。クライアントのセッションでアプリケーション名を設定します(クライアントの操作方法によって異なります)。sp_tempdb(dbaのみ)を使用して、そのアプリケーション名を代替tempdbにバインドします。#テーブルはそのtempdbに格納されます。そのアプリケーション名を持つセッションはそのtempdbを使用します。

tempdbsはサイズや構造が同じである必要はなく、実行しているログに応じてログとデータを別々にすることもできます(良いアイデア)。

markpにはtempdbsの永久テーブルが記載されていますが、「推奨しない」と言います。これは良いテクニックかもしれません。彼らがどれほど大きくて、いつ落とされるのかに注意する必要があります。たとえば、bcpを使用する必要がある場合やサポート目的で表示させる必要がある場合など、スペースを使用するかどうか、ドロップするタイミングと方法については明確にする必要がある場合など、直ちにドロップする必要はない場合もあります。