SQLでログインする場合,On SQL AuthenticationデータベースメソッドでCHANGE CURRENT USERコマンドを実行し,SQLセッションのアクセス権を明示的に付与することが必要です(データベースメソッドが存在する場合)。
v11では,SQLの実行コンテキスト(たとえばトリガ)でCurrent userを使用することができませんでした。返されるのは,直近のOn SQL Authenticationデータベースメソッドで付与されたユーザー名であり,カレントSQLセッションのユーザー名であるとは限らなかったからです。SQLセッションはOn SQL Authenticationデータベースメソッドで付与されたアクセス権で実行されていますが,そのアクセス権をCurrent userで取得できるとは限りません。
v12以降,SQLの実行コンテキストでCurrent userを使用した場合,SQLセッションのアクセス権がそのまま返されるようになりました。ただし,SQLの実行コンテキスト(たとえばトリガ)でCHANGE CURRENT USERコマンドを実行した場合,4Dのカレントユーザーが変更され,Current userとSQLセッションのアクセス権が一致しないことになります。いずれにしても,On SQL AuthenticationデータベースメソッドでSQLセッションに付与されたアクセス権は,ログアウトするまで有効であり,途中,CHANGE CURRENT USERコマンドに影響されることはありません。