ログインアカウントの移行


異なるサーバへデータベースのバックアップを復元した場合、
ログインアカウントは復元されない。


これはログインアカウントはmasterデータベースに格納されているためである。
なので、移行先のサーバにも同じようにログインアカウントを追加する必要がある。



masterデータベースそのものを上書きしてよい場合は
以下の手順でmasterデータベースの復元を行うことができる。



1.SQLServer関連のサービスをすべて停止する


2. シングルユーザモードでSQLServerインスタンスを起動する

sqlservr -s インスタンス名 -c -m

※sqlservrはインストールディレクトリのbinのフォルダに格納されているので
パスを通していない場合はcdコマンドで移動させること

cd C:\Program Files\Microsoft SQL Server\MSSQL10.インスタンス名\MSSQL\Binn


3.masterデータベースを復元する

sqlcmd -S サーバ名\インスタンス名 -U ユーザ名 -P パスワード -q "RESTORE DATABASE master FROM DISK = 'D:\BKFolder\master_db.bak' WITH REPLACE"


4.インスタンスを起動する




もし、masterデータベースの復元を行いたくない場合は
ログインアカウントを同名で作成してもよい。




動作確認環境:SQL Server 2008 Express