SAP SQL Anywhere 17 – 新 max_connections データベースオプション

 

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

 

また、ユーザー数が無制限である以前の 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’ を使うことで、上に定義したような、そのデータベースに対して設定できる最大接続数を反映することができます。

 

続きはこちら:SAP SQL Anywhere 17 – 新 max_connections データベースオプション

 

SAPのSAP SQL Anywhere製品ページはこちら