既存のSQL Serverログインを同じ名前の既存のSQL Serverデータベースユーザーに接続する方法


124

単一のデータベースのユーザーを同じ名前のデータベースサーバーのログインに接続するSQL Serverコマンドはありますか?

例えば:

データベースサーバー-既定のインスタンス
データベース:TestDB

サーバーログイン
-TestUser TestDBの既存のユーザー-TestUser

TestUserログインをTestDBデータベースのユーザーにしようとした場合、「ユーザー、グループ、またはロール」はすでに存在しています。

DB ユーザーをサーバーログインに割り当てる簡単な方法を知っている人はいますか?

回答:


229

新しい方法(SQL 2008年以降)が使用することですALTER USERを

ALTER USER OrphanUser WITH LOGIN = correctedLoginName;

これはSQL2008の新機能ですか?
jkelley

2
SQL Server 2005以降。Gratzyのリンクはこれを実際に参照しています。
gbn 2010年

私はSQL Serverの2012年にこれを使用し、私はそれが動作を確認することができます
Ubercoder

6

だと思いますsp_change_users_login。少し前ですが、以前はデータベースをデタッチして再アタッチするときに行っていました。


1
SQLログインがWindowsユーザーログインを使用して作成された場合、sp_change_users_loginは機能しません。今日この問題に遭遇したため、この質問が表示されました。msdn.microsoft.com/en-us/library/ms174378.aspx
Tom Miller

この方法は、の賛成で廃止されたALTER USER上で、法
リアム・

@liamあなたは本当に8歳であるこの回答に反対票を投じ、すでに非推奨である情報をすでに含んでいる8歳でもある承認された回答を参照しましたか?
Gratzy 2018

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.