- 締切済み
別のSQLServerのバックアップを復元で
2台のPCでSQL Serverのデータベースを別のコンピュータのSQL Serverで 復元しています。 別のWindows Server上のSQLServer2012から別のWindows Server上の SQLServer2012へバックアップファイル(yyyymmdd.bak)でリストアを しようとしております。 作業内容としては、データベース→DB選択→タスク→復元→データベースとし、 デバイスからバックアップファイルを指定しています。 データベースの復元は問題なく行え、DBへのアクセス、参照なども行えるのですが、 復元時に使用したユーザとは別のユーザのデータベースロールのアクセス権が消え てしまうのです。 SQLServerへの接続はでき、エクスプローラーには、データベースの表示はされる のですが、表示されたDBを選択をするとアクセスエラーとなります。 Windows認証で接続しているユーザです。 ユーザは同じですがドメインが異なる。 何故、消えてしまうのか。 消えないようにするにはどうしたらよいのか。 教えて下さい。 また、このような事象の説明があるサイトなどがありましたら教えて下さい。 つたない文面でわかりづらいとは思いますが、宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Siegrune
- ベストアンサー率35% (316/895)
>Windows認証で接続しているユーザです。 >ユーザは同じですがドメインが異なる windowsドメインって同じユーザーIDでも、 ドメインが異なるユーザーIDはまったく別のユーザーIDとして扱われますが。 DBでもいいけど、 ファイルアクセス権限で試してみたほうが早いかな。(同じだから) ドメインAとBがあって、XというユーザーIDが両方にいたとして、 ドメインAのXに参照権限を与えてもドメインBのXでは参照できません。 ドメインAのXを消すと、参照権限はS-xxxxxみたいなのに化けてしまって ドメインBのXの権限などありません。 内部的には、S-xxxxxみたいなの(SID)で管理しているので、 ユーザーIDがいっしょかどうかという管理はしていないということです。 ということから、質問の方法でバックアップを戻すと アクセス権限がなくならないほうがおかしいってことになります。
- norayuni
- ベストアンサー率79% (27/34)
権限周りはmasterデータベースで保持しているからです。 具体的な説明は、SQL Server自習書を参照していただくと 分かりやすいかと思います。 http://www.microsoft.com/ja-jp/sqlserver/2012/technology/self-learning.aspx バックアップと復元 http://go.microsoft.com/?linkid=9820534 このドキュメントの111ページ以降を確認してみてください。
お礼
ありがとうございます。 ログインアカウントは復元できないのですね。 では、復元できないログインアカウントの権限を この場合は、「db_dataread」、「db_datawrite」を 消してしまうのですか。 ドメインは異なりますが、Windows認証で同じユーザを が存在しているのに、アクセス権が消えるのどうして なのですか。
お礼
ありがとうございます。 ご説明ありがとうございます。 消えない方法とか調べ方、付け方の方法の サイトがあったらお願いします。
補足
すみません。 説明不足ですみません。 データベースの復元前は、正常にアクセスでき、 復元後、データベースの復元先についていた、 db_datareader、db_datawriteが外れてしまいます。