アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

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

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

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

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

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

A 回答 (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がいっしょかどうかという管理はしていないということです。

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

この回答への補足

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

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

補足日時:2014/07/22 08:50
    • good
    • 0
この回答へのお礼

ありがとうございます。

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

お礼日時:2014/07/22 08:39

権限周りはmasterデータベースで保持しているからです。


具体的な説明は、SQL Server自習書を参照していただくと
分かりやすいかと思います。

http://www.microsoft.com/ja-jp/sqlserver/2012/te …
バックアップと復元
http://go.microsoft.com/?linkid=9820534
このドキュメントの111ページ以降を確認してみてください。
    • good
    • 0
この回答へのお礼

ありがとうございます。

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

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

お礼日時:2014/07/17 09:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!