FAQ
 

■対象バージョン : すべて

■対象OS    : すべて

QUESTION(SQ0801074)

データベース・オプションの変更が行なわれません
(ISQLからSET OPTION文でデータベース・オプションを変更したのですが、Sybase Centralで確認したところ変更が反映されていませんでした)

ANSWER

・現象の原因

この現象は、ISQLとSybase Centralで表示されるオプションのスコープが異なることが原因です。

ISQLでSET OPTION文を実行すると、ISQLで接続しているユーザのオプション値が変更されます。例えば、DBAユーザでISQLに接続し、SET OPTION文を実行すると、DBAユーザのオプション値が変更されます。

Sybase Centralで、データベース名を右クリックし、オプションを表示した場合、表示されるのはPUBLICグループのオプション値とデフォルト・オプション値のみとなります。

ISQLから変更したオプション値を見る場合には、「ユーザとグループ」フォルダ内にあるユーザ名を右クリックし、オプションを表示して下さい。
この場合、ユーザのオプション値、PUBLICグループのオプション値とデフォルト・オプション値が表示され、ユーザのオプション値に、ISQLで設定した値が設定されています。

1.DBAユーザがISQLからデータベースに接続
2.ISQLからSET OPTION文を実行(SET OPTION max_statement_count = 0)
3.Sybase Centralからデータベースに接続
4.Sybase Central内のデータベース名を右クリックし、オプションを選択
 →max_statement_countは50となっている。(これはPUBLICオプション値の為)
5.Sybase Central内のユーザとグループフォルダに移動
6.フォルダ内のユーザ名(DBA)を右クリックし、オプションを選択
 →max_statement_countは0となっている。

上記の場合、接続ユーザDBAを使用する場合は、max_statement_count=0が適用されます。DBA以外の接続ユーザを使用する場合には、max_statement_count=50 が適用されます。
なお、6.の後にISQLでPUBLICのオプション値を変更した場合、Sybase Centralで再度オプション値を確認する前に、[表示メニュー]-[全て再表示] を実行して下さい。これを実行しないと変更したオプション値が反映されません。

・現象の解決策

ISQLで設定したオプションを、Sybase Centralで確認できるようにする(全ての接続ユーザに反映する)為には、PUBLICグループに対してオプションを設定します。(SET OPTION PUBLIC.max_statement_count=0)

このようにオプションの設定を行うことで、PUBLICグループのメンバーである全ての接続ユーザに、max_statement_count=0 が適用されます。ただし、接続ユーザに別のオプション値を設定した場合は、ユーザのオプション値が優先されますのでご注意下さい。

なお、PUBLICに対してオプションを設定する場合には、DBA権限が必要となりますので、ご注意下さい。


BACK:FAQ トップページ
 
 
Copyright 2008-2010 iAnywhere Solutions K.K.