SQL Server ログインを追加できない
-
09-06-2019 - |
質問
次のようにして SQL Server ログインを作成しようとすると、
CREATE LOGIN [ourdomain\SQLAccessGroup] FROM WINDOWS;
このエラーが発生します
サーバー プリンシパル 'ourdomain\SQLAccessGroup' はすでに存在します。
ただし、このコードを試してみると
DROP LOGIN [ourdomain\SQLAccessGroup]
このエラーが発生します
ログイン「ourdomain\SQLAccessGroup」が存在しないか、権限がないため、ログインを削除できません。
このコードを実行しているユーザーはシステム管理者です。さらに、ユーザーは、 ourdomain\SQLAccessGroup
このクエリには表示されません
select * from sys.server_principals
何かアイデアがある人はいますか?
解決
私たちはまだそれを理解するのに苦労しています どうやって この問題については、[ourdomain\SQLAccessGroup] がコンサルタントによって別のユーザー名にエイリアスされたようです (これは MS CRM インストールの一部です)。私たちは最終的に、ロジックと古き良き SID 比較を使用して、誰が詐欺師ゲームをプレイしているかを特定することができました。
ヒントは、ログインをユーザーとしてデータベースに追加しようとしたときに (既に存在しているはずなので)、次のエラーが発生したときに得られました。
The login already has an account under a different user name.
そこで、各 DB ユーザーを調査し始め、原因を特定することができました。最終的にそれを追跡し、ユーザーの名前を変更してログインすることができ、CRM のインストールが機能するようになりました。私の時間に対して 1 時間あたり 165 ドルを請求できるでしょうか...:-)
他のヒント
これはバックアップか何かから復元しているときですか?SQLのユーザーアカウントに問題がある場合、次の方法がうまくいくことがわかりました
EXEC sp_change_users_login ‘Auto_Fix’, ‘user_in_here’
この問題は、Windows ユーザー名を使用して SQL Server をインストールし、コンピューター名と Windows ユーザー名の名前を Windows から変更したときに発生しました。SQL サーバーでは、サーバー -> セキュリティ -> ログインのノードに古い「コンピューター名\ユーザー名」がまだ残っています。
解決策は、「サーバー」->「セキュリティ」->「」に移動することです。ログイン そして右クリック -> 名前を変更する 古い Windows ユーザーと新しい Windows ユーザーを使用します。 マシン名\ユーザー名.