- PR -

SQLSERVERで復旧後にログインユーザが正しく戻せない

1
投稿者投稿内容
mso
ぬし
会議室デビュー日: 2003/12/04
投稿数: 496
お住まい・勤務地: 宮城
投稿日時: 2005-03-03 18:39
msoです。

SqlServer2000について質問があります。

SqlServer2000の入っているPCが一度壊れたので、
バックアップから復旧処理を行いました。

その後、クエリアナライザを使い
exec sp_change_users_login 'Report'
を実行してログインユーザを変更していましたが
途中でおかしい現象になっていることに気が付きました。

現象としては
ユーザ    :dbo
ログインユーザ:hoge
というようになっています。
本来であれば、
ログインユーザ:sa
となっていてほしいのですが、別のログインユーザが入っています。
また
ユーザ    :hoge
ログインユーザ: (ブランク)
というような状態にもなっています。

要点をちょっとまとめます。
dboユーザのログインユーザがhogeになっている。
hogeユーザのログインユーザが存在しない。
この状態で
sp_change_users_login 'Update_One','hoge','sa'
とやるとsp_change_users_loginにはdboとsaは使うことが
出来ないという旨のメッセージが出てきます。
sp_change_users_login 'Update_One','hoge','hoge'
とやるとすでに存在しているとういことを言われます。

その後、いろいろと操作をしていたらhogeユーザ(ログインユーザなし)は
エンタープライズマネージャを使って削除することが出来ました。
ただ、dboユーザ(ログインユーザhoge)についてはどうやっても
データを修正することが出来ませんでした。
dboユーザを削除して、再度作り直そうともしたのですが、オブジェクトを
もっているために削除することができません。


こういうときどうすればいいのでしょうか?
ご存知の方がいたら教えてください。
未記入
会議室デビュー日: 2005/12/22
投稿数: 1
投稿日時: 2005-12-22 18:11
わたしも同じ体験をしたので、いまさらながらの解決策です。
バックアップがあることを確認して、データベースを削除して、バックアップから復元すると、exec sp_change_users_login 'update_one', '',''で、うまく行きました。
1

スキルアップ/キャリアアップ(JOB@IT)