RDS for SQL Server で ALTER DATABASE SET ONLINE が実行できないのはなぜですか

RDS for SQL Server で ALTER DATABASE SET ONLINE が実行できないのはなぜですか

RDS for SQL Server でデータベースをオンラインに戻す際、標準の ALTER DATABASE SET ONLINE コマンドが権限エラーになる場合の解決方法を紹介します。
2026.07.30

困っていた内容

RDS for SQL Server のデータベースを ALTER DATABASE SET OFFLINE でオフラインに変更しました。
その後、ALTER DATABASE SET ONLINE でオンラインに戻そうとしたところ、マスターユーザーであるにもかかわらず権限エラーとなり実行できません。

どう対応すればいいの?

RDS for SQL Server では、ALTER DATABASE SET ONLINE の代わりに RDS 専用のストアドプロシージャ rdsadmin.dbo.rds_set_database_online を使います。

EXEC rdsadmin.dbo.rds_set_database_online 'データベース名';

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/Appendix.SQLServer.CommonDBATasks.TransitionOnline.html

SQL Server メソッド Amazon RDS 方法
ALTER DATABASE db_name SET ONLINE; EXEC rdsadmin.dbo.rds_set_database_online db_name

RDS はマネージドサービスであるため、一部の操作は標準の SQL Server とは異なる方法で提供されます。

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/Appendix.SQLServer.CommonDBATasks.html

マネージド型サービスの操作性を実現するために、Amazon RDS では DB インスタンスへのシェルアクセスはできません。また、上位の権限を必要とする特定のシステムプロシージャやシステムテーブルへのアクセスが制限されます。

ALTER DATABASE SET ONLINE もその一つにあたるため、上記のストアドプロシージャをご利用ください。

参考情報

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/Appendix.SQLServer.CommonDBATasks.TransitionOnline.html


AWSテクニカルサポートノートについて

過去にクラスメソッドのAWS総合支援サービスで頂いたお問合せの中から、通常のAWS利用時でも有益になりうる情報をテクニカルサポートチームがTIPSとしてご紹介しています。技術サポートは、無料でご提供しております。詳細は下記ボタンからご覧ください。

クラスメソッドのAWSサポートの詳細を見る

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事