本番環境で取得したDBを検証環境にリストアするなど、SQL Serverでデータベースのバックアップを別のサーバにリストアすることはよくあると思います。
別のサーバーにリストアすると発生するのが不明になってしまったユーザーのマッピング作業です。
これは、復元した別サーバーのDBユーザーとサーバーのログインユーザーで不整合が発生するためです。不明なユーザー一覧を検索してマッピングの設定を行えば、使用できるようになるのですがよくコマンドを忘れるので備忘録として残してこうと思います。
本番環境のデータベースを利用して検証検証環境のデータベースを構築する人は必須の知識だと思いますので覚えておいて損はないと思います。
不明なユーザーを調べる
対象データベースを選択して以下のSQLを実行すると不明なユーザーの一覧結果が表示されます。
EXEC sp_change_users_login 'Report'
不明なユーザーを解消する
上記で抽出されたユーザーを以下のSQLでマッピングすれば、解消されます。
EXEC sp_change_users_login 'Update_One', '不明なユーザー', '不明なユーザー'
ただ、この機能は、将来なくなる予定なので注意が必要です。(SQL Server 2017までは、利用可能なことは確認しています。)
上記2コマンド以外はManagementStudioで操作できるのでこのコマンドを覚えておくと便利です。
↓↓↓★低価格でブログ初心者に最適★↓↓↓↓
コメント