3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援→開発戻り浦島太郎状態の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。

(SQL Server)データベース復元時に必要な権限

あるデータベース専用のユーザを作って、db_owner のロールを与えてます。

バックアップもうまくいったんで、てっきり復元もできるかと思ったら、

System.Data.SqlClient.SqlError: ユーザーにはデータベース 'データベース名' を復元する権限がありません。

重要度:14

SQL Serverエラーナンバー:3110

と怒られました。

で調べてみると、復元を実行するユーザは以下のいずれかのメンバでないとけないようです。

・dbo

・sysadminサーバロール

・dbcreatorサーバロール

dbo というのは未だにちょっと概念が分かってないんで、とりあえず dbcreater サーバロールのメンバにユーザ加えることで対応しました。

参照:

MSDN:RESTORE (Transact-SQL)の権限の項目