こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

別のSQLServerのバックアップを復元で

2台のPCでSQL Serverのデータベースを別のコンピュータのSQL Serverで
復元しています。

別のWindows Server上のSQLServer2012から別のWindows Server上の
SQLServer2012へバックアップファイル(yyyymmdd.bak)でリストアを
しようとしております。
作業内容としては、データベース→DB選択→タスク→復元→データベースとし、
デバイスからバックアップファイルを指定しています。

データベースの復元は問題なく行え、DBへのアクセス、参照なども行えるのですが、
復元時に使用したユーザとは別のユーザのデータベースロールのアクセス権が消え
てしまうのです。
SQLServerへの接続はでき、エクスプローラーには、データベースの表示はされる
のですが、表示されたDBを選択をするとアクセスエラーとなります。

Windows認証で接続しているユーザです。
ユーザは同じですがドメインが異なる。

何故、消えてしまうのか。
消えないようにするにはどうしたらよいのか。
教えて下さい。
また、このような事象の説明があるサイトなどがありましたら教えて下さい。

つたない文面でわかりづらいとは思いますが、宜しくお願い致します。

投稿日時 - 2014-07-16 18:34:57

QNo.8680829

困ってます

このQ&Aは役に立ちましたか?

11人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

>Windows認証で接続しているユーザです。
>ユーザは同じですがドメインが異なる
windowsドメインって同じユーザーIDでも、
ドメインが異なるユーザーIDはまったく別のユーザーIDとして扱われますが。

DBでもいいけど、
ファイルアクセス権限で試してみたほうが早いかな。(同じだから)
ドメインAとBがあって、XというユーザーIDが両方にいたとして、
ドメインAのXに参照権限を与えてもドメインBのXでは参照できません。
ドメインAのXを消すと、参照権限はS-xxxxxみたいなのに化けてしまって
ドメインBのXの権限などありません。
内部的には、S-xxxxxみたいなの(SID)で管理しているので、
ユーザーIDがいっしょかどうかという管理はしていないということです。

ということから、質問の方法でバックアップを戻すと
アクセス権限がなくならないほうがおかしいってことになります。

投稿日時 - 2014-07-20 13:24:56

補足

すみません。
説明不足ですみません。

データベースの復元前は、正常にアクセスでき、
復元後、データベースの復元先についていた、
db_datareader、db_datawriteが外れてしまいます。

投稿日時 - 2014-07-22 08:50:12

お礼

ありがとうございます。

ご説明ありがとうございます。
消えない方法とか調べ方、付け方の方法の
サイトがあったらお願いします。

投稿日時 - 2014-07-22 08:39:39

ANo.1

権限周りはmasterデータベースで保持しているからです。
具体的な説明は、SQL Server自習書を参照していただくと
分かりやすいかと思います。

http://www.microsoft.com/ja-jp/sqlserver/2012/technology/self-learning.aspx
バックアップと復元
http://go.microsoft.com/?linkid=9820534
このドキュメントの111ページ以降を確認してみてください。

投稿日時 - 2014-07-17 05:44:18

お礼

ありがとうございます。

ログインアカウントは復元できないのですね。

では、復元できないログインアカウントの権限を
この場合は、「db_dataread」、「db_datawrite」を
消してしまうのですか。
ドメインは異なりますが、Windows認証で同じユーザを
が存在しているのに、アクセス権が消えるのどうして
なのですか。

投稿日時 - 2014-07-17 09:00:45