Integrated Security=No
ユーザーとパスワードを指定してから指定する接続文字列を介して、コードでSQLServerに接続するときにSQLServerログインがどのように使用されるかを把握しようとしています。
指定しているユーザーを意味するのではなく(もちろんそれは知っています)、ユーザーがマップするログインを意味することに注意してください。SQL Serverでのログインとユーザーについて読んでいますが、接続するには常にログインが必要であり、データベースごとにログインがアクセスする必要があるという点があります。そのため、SSMSで、関心のあるデータベースで常に指定しているユーザーにマップするログインを探していますが、そのようなログインは表示されません。
Fyi、私が尋ねている理由は、このデータベースに対して新しいレガシーアプリを許可する必要があり、アプリはSQLServer認証を使用するようにコーディングされているためです。必要なデータベースにユーザーが必要なだけなのか、それともログインを作成する必要があるのかを判断しようとしています。しかし今、私は一般的な質問自体に興味を持っています。
編集-sysloginsのクイッククエリは2つのログインのみを表示します。したがって、SQLSはユーザーごとに1つのログインを維持しているが、SSMSはそれらを隠しているという私の理論は、そうではないようです。
編集-sysloginsまたはsys.server_principalsのクエリは、誤解を招くように見えます。2つの異なるSQLS(Winではない)ログインがあるデータベースで、それぞれとしてログインし、sys.server_principalsから*を選択しました。2つの異なる答え:saとログインを取得するたびにログインしました。明らかにそこにありましたが、「その他」のログインは表示されませんでした。これはスキーマと関係があるのではないかと思いますが、私もほとんど知りません。いずれにせよ、一般的に、ログインは実際にはすべてのユーザーに存在すると思いますが、SSMSに1つのログインとして接続すると、これらのログインのすべてが表示されるわけではありません。これは正しいですか?
解決済み(一種) 私がsaを持っているデータベースで遊んでみると、SSMSは、あなたがsaであるか、おそらくその特定の権限を持っている場合にのみ、すべてのログインを表示することは明らかです。そうしないと、ログインの表示が制限されます。したがって、期待していたログインが表示されなかった理由については、本当の謎はありません。どうやらSSMSはそれらを隠しています。私はこれを文書化するものに出くわしたことがないので、「ある種の」と「どうやら」と言います。それは単なる観察です。
皆様のご協力に感謝いたします。