1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

プリザンターのDBバックアップを他環境にリストアした時に_rdsが実行出来ない時の対処法

Last updated at Posted at 2024-12-01

本記事はSQL Server限定となります。MySQLやPostgreSQLの場合はこの方法は使えません。

はじめに

サーバ移行などで、バックアップしたDBを別環境にリストア後、Implem.CodeDefiner.dll _rdsを実行すると、'Implem.Pleasanter_Owner' はログインできませんでした。と表示されるときの対処法です。
2024/12/01現在、公式マニュアルに記載されている方法は今後非推奨となる方法が含まれている&対応しきれないので、こちらの方法を使う方がすんなり対応出来ます。

ユーザ情報を調べる

Implem.Pleasanter_OwnerImplem.Pleasanter_Userが孤立ユーザになっているのが原因なので、まずは孤立ユーザを調べます。
SSMSなどで下記のコマンドを実行します。

USE [master];
SELECT dp.type_desc, dp.sid, dp.name AS user_name  
FROM sys.database_principals AS dp  
LEFT JOIN sys.server_principals AS sp  
    ON dp.sid = sp.sid  
WHERE sp.sid IS NULL  
    AND dp.authentication_type_desc = 'INSTANCE';  

Implem.Pleasanter_OwnerImplem.Pleasanter_Userの2レコードが表示されると思います。
ここで重要なのはSIDです。SIDをメモしてください。

ユーザを新規で作ってSIDで紐付け

前項の方法で取得したSIDを使って、新規でユーザを作成しリストアしたDBに含まれるユーザ情報と統合します。

USE [master];
CREATE LOGIN [Implem.Pleasanter_Owner]
WITH PASSWORD = <Rds.jsonに記載しているImplem.Pleasanter_Ownerのパスワード>,  
SID = <取得したImplem.Pleasanter_OwnerSID>;
CREATE LOGIN [Implem.Pleasanter_User]
WITH PASSWORD = <Rds.jsonに記載しているImplem.Pleasanter_Userのパスワード>,  
SID = <取得したImplem.Pleasanter_UserSID>;

これで完了です。再度Implem.CodeDefiner.dll _rdsを実行してみてください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?