web-dev-qa-db-ja.com

特定のユーザー名またはログイン名に対してデフォルトデータベースが設定されている場所を確認するにはどうすればよいですか?

特定のデータベースを指定せずにデータベースサーバーに接続したら、と:

sqsh -Usomeuser -Ssomeserver

…できること:

select db_name();

…このユーザーのデフォルトデータベースを表示します。しかし、この情報はどこに保存されますか、および/またはすべてのユーザー名またはログイン名に対して構成されたデフォルトのデータベースをどのように確認できますか?

次のコードを実行すると、ASEのデフォルトデータベースが表示されます。

SELECT sl.name
    , sl.dbname
FROM syslogins sl
ORDER BY sl.name;
1
Max Vernon

デフォルトDBについて:

  • ログインごとのデフォルトDBは、マスターDBシステムテーブルsysloginsdbnameに保持されます
  • この列はpublicグループ(全員がこのグループに属しています)によって選択可能です。つまり、選択権限がパブリックに付与されています
  • 代わりに、システムストアドプロシージャsp_displaylogin <loginname>を実行してデフォルトのDBを表示します

マスターDBのコンテキスト内でexec sp_helprotect sysloginsを使用してアクセス許可を確認できます。

1
Raymond