ユーザーとログインを調整するには、システム ストアド プロシージャ sp_change_users_login を使用できます。
sp_change_users_login [ @Action =] 'action'[ , [ @UserNamePattern =] 'user' ] [ , [ @LoginName =] 'login' ] [ , [ @Password =] 'password' ];コード> プレ>
例:
EXEC sp_change_users_login 'Update_One','User123','User123'
同期していないユーザーが多数いる場合は、カーソルを使用してすべてのユーザーを抽出し、それらに対してこのコマンドを実行できます。同期していないユーザーに対してこれを実行しても悪影響はなく、すべての孤立したユーザーが修正されます。
DECLARE @sql NVARCHAR(MAX);DECLARE curSQL CURSORFOR SELECT 'EXEC sp_change_users_login ''UPDATE_ONE'', ''' + 名前 + ''', ''' + 名前 + '''' FROM sysusers WHERE issqluser =1 AND name NOT IN ( 'guest', 'dbo', 'sys', 'INFORMATION_SCHEMA' )OPEN curSQLFETCH curSQL INTO @sqlWHILE @@FETCH_STATUS =0 BEGIN EXEC ( @sql ) FETCH curSQL INTO @sql ENDCLOSE curSQLDEALLOCATE curSQLコード> プレ>
これは、ユーザーを修正する必要があるデータベースのコンテキストで実行する必要があります。