このページは、以下の英語ページの抄訳です。最新の情報については、英語ページを参照してください。

 

 

これまでは、個々のユーザーがサーバーに接続できる接続数は、ライセンスで制限されていました。

 

また、ユーザー数が無制限である以前の Chip ベースのライセンスモデルでは、デフォルトの接続数は32,766に設定されていましたが、サーバー側の -gm オプションを使用することで変更することができました。

また、サーバープロパティ() 関数を使用することで、 MaxConnections プロパティを得る、つまりサーバーに許諾されている同時接続の最大数を返すことができました。

 

SQL Anywhere 17 では、新たに「max_connections」のパブリック データベースオプションを設定することで、個々のデータベースに対する同時接続の総数を制限することができるようになりました。これにより、SQL Anywhere のデータベース同時接続の総数を特定の数に設定し制限することができます。

このmax_connections オプションは、データベース内でこれをpersistすることなく制限設定できるよう、テンポラリーオプションとして設定してすることもできます。

 

しかしながら、このデータベースオプションは、サーバー側の最大同時接続数の設定をオーバーライドする目的では使用できない点に注意してください。‘MaxConnections’ のサーバープロパティ設定よりも大きな数を設定しようとしてこの max_connections データベースオプションを使用しても、意味はありません。

1つのデータベースに対して許容される同時接続総数は、以下のルールで決まります。

 

  • サーバー接続の総数 (SELECT property(‘MaxConnections’) FROM DUMMY) は、超えられない (DROP ANY CONNECTION 特権による1ユーザーを除いて)。
    • SQLERR_TOO_MANY_CONNECTIONS のエラーが返される
  • データベース接続の総数 (SELECT db_property(‘MaxConnections’) FROM DUMMY) は、超えられない (DROP ANY CONNECTION 特権による1ユーザーを除いて)。
    • SQLERR_TOO_MANY_DB_CONNECTIONS のエラーが返される
  • ユーザー接続制限の総数は超えられない

また、新たなレベルのデータベースプロパティである ‘MaxConnections’ を使うことで、上に定義したような、そのデータベースに対して設定できる最大接続数を反映することができます。

データベース接続制限にカウントされるのは、「ライセンスされた」接続のみです。イベント、ミラーリング、モニタリング、などの内部の接続は、カウントされません。しかしながら、HTTP接続はカウントに含まれます。

例えば、パーソナルサーバー(または、10接続にライセンスが制限されている場合)では、以下のとおりです。

maxconnections_10.JPG

max_connections を20に設定すると、以下のようになります。

maxconnections_20.JPG

なぜならば、パーソナルサーバーの最大接続数は10に決められているため、max_connections オプションでこれ以上の数を設定しようとしても、反映されません。

しかしながら、max_connections の値を5に設定するのであれば、以下のようになります。

maxconnections_5.JPG

これで、現在このデータベースの接続は5に制限されています。残りの接続数(5)は、同じサーバー上で稼働する他のデータベースで使用可能です。

備考: 接続制限に達してしまった場合でも、 DROP ANY CONNECTION 権限を持つ単一のユーザーがデータベースに接続できるようプロビジョンがサーバー内にビルドされています。これにより、管理者は必要に応じて接続し、1以上の接続を除くことができます。 (例:他の全ての接続がデッドロック状態になってしまった場合、リソースを使いすぎている場合、etc. …)

既存のデータベース (version 16 とそれ以前のもの) では、この機能は使用できません。max_connections データベースオプションをこれらのデータベースで設定しても、設定は無視され、設定前と同様の動きを継続します。また、ALTER DATABASE UPGRADE を使用してデータベースをアップグレードしようとしてmax_connections オプションを設定しても、アップグレードは SQLERR_UPGRADE_CONFLICTING_OPTION のエラーになりできません。 max_connections オプションは、アップグレードが継続可能であるようにそれ以前に除く必要があります。

 

 

 

 

 

===

 

SAP SQL Anywhere に関する詳細情報は、SAP SQL Anywhere Communityページ<英語> を参照してください。

 

上記のコミュニティーに掲載されている技術情報は、順次SQL Anywhere 日本語コミュニティ

に掲載しています。

 

SQL Anywhere に関してはまずはこちらをご参照ください。無期限でご利用いただける無償の Developers Edition もこちらからダウンロードが可能です。

 

SQL Anywhere に関して技術的な質問のある方はコミュニティに登録し、
「+ Actions」から「Ask a Question」機能をご利用ください。

Language には「Japanese」、
Primary Tag には「SQL Anywhere」、
Additional tag には「SAP SQL Anywhere」、
User Tagに「sql anywhere japanese question」

を選択してください。

不具合につきましては、サポート契約者様専用の問い合わせ方法にてお問い合わせください。

 

======================
ご購入に関するお問い合わせ

こちらよりお問い合わせください。

To report this post you need to login first.

Be the first to leave a comment

You must be Logged on to comment or reply to a post.

Leave a Reply