「SSMSのバックアップが押せない…」
「BACKUP DATABASE が権限エラーで通らない…」
そんなときに現実的なのは、**“正規バックアップをDBAに取ってもらう”か、あなた側でできる“論理バックアップ(エクスポート退避)”**です💡
この記事では、バックアップ権限がない状況でもデータ保全のレベルを上げる方法を、失敗しにくい順に整理します。
なぜ「バックアップ権限なし」はキツい?⚠️
SQL Serverの**物理バックアップ(.bak / .trn)**は、権限がないと基本的に取得できません。
- ✅ 物理バックアップ:復旧が強い(Full/Diff/Logで時点復旧も可能)
- ❌ 論理退避:できる範囲は広いが、復旧は手作業が増える(整合性ズレも起きやすい)
つまり、本気の復旧(障害・事故対応)を考えると正規バックアップが理想です。
結論:優先順位はこれ📌
✅ 優先1:DBA(管理者)に「正規バックアップ運用」を組んでもらう
あなた側で完結させようとすると限界があります。
まずはバックアップ取得の責任分界をはっきりさせるのが一番安全です。
✅ 優先2:あなた側は「論理バックアップ(エクスポート)」で保険をかける
SELECT権限があるならできることが多いです。
バックアップ権限がない状況って、焦りますよね😵💫
ただ、やるべき順番さえ守れば「取り返しがつかない事故」はかなり防げます。このあと手順は全部まとめますが、先に“型(運用の考え方)”を入れておくと、社内調整も作業もスムーズになります👇
※本記事にはアフィリエイトリンクが含まれます。紹介する商品・サービスは筆者が「運用に役立つ」と判断したものです。
代替手段①:DBAに依頼して“正規バックアップ”を取ってもらう(最強)🏆
バックアップ権限がないなら、ここが最短ルートです。
依頼内容のテンプレ(コピペOK)
- 対象DB:
(DB名) - 取得方式:Full / Diff / Log
- 例)
- Full:毎日 1回
- Diff:6時間ごと
- Log:15分ごと(復旧モデルがFULLの場合)
- 保管先:
(共有フォルダ or バックアップサーバ) - 保持期間:
(例:30日) - 復元テスト:
(例:月1回)
✅ これが通ると「あなたが困る状況」自体が消えます。
正直、障害復旧レベルで考えるなら「DBAに正規バックアップを取ってもらう」が最短で安全です🛡️
とはいえ、社内だと「何をどう依頼すればいいの?」で止まりがち…。そんなときは、**運用の型(バックアップ方針・保持・復元テスト)**を理解しておくと、会話が一気に通りやすくなります👇
※本記事にはアフィリエイトリンクが含まれます。
代替手段②:論理バックアップ(データ退避)📦
物理バックアップが無理なら、**“データを出す”**方向に切り替えます。
2-1)bcpでテーブルをエクスポート(大量データに強い)🚀
bcpは「SQL Serverからデータを高速に出す」定番手段です。
例:CSVで出力
bcp YourDB.dbo.YourTable out D:\export\YourTable.csv -c -t, -r \n -S YourServer -T
-T:Windows認証(使える環境ならおすすめ)- SQL認証なら
-U -Pを使用(取り扱い注意🔐)
✅メリット
- 大きいテーブルでも比較的安定
- バッチ化(定期実行)しやすい
⚠️注意
- 復元時は「テーブル定義(スキーマ)」が別途必要
→ 次の「スキーマ保存」とセットが鉄板です
2-2)スキーマ(CREATE文)を保存する(復旧力が跳ねる)🧩
データだけあっても、テーブル定義やインデックスがないと詰みます…。
SSMSの Generate Scripts を使う
- Database → Tasks → Generate Scripts
- 対象:テーブル、ビュー、ストアド、関数など
- 出力:
.sql
✅これでできること
- “空のDBを同じ構造で再現”できる
- そこにCSVを流し込めば復旧に近づける
2-3)小規模なら「エクスポートウィザード」でもOK🧰
SSMSの
- Import and Export Wizard
- 結果をCSV保存
✅メリット:簡単
❌デメリット:件数が多いと落ちやすい/時間がかかる
代替手段③:Azure SQLなら「BACPAC」「PITR」を検討☁️
もし環境が Azure SQL Database 系なら、そもそも BACKUP DATABASE を使わない世界です。
- PITR(ポイントインタイム復元):標準の自動バックアップで復元できることが多い
- BACPAC:許可されていれば、スキーマ+データを1ファイル化できて便利
※ただしこれも権限・ポリシーで塞がれていることがあります。
失敗しがちな落とし穴(ここ大事)⚠️
✅ 1)整合性がズレる(エクスポート中に更新される)
テーブルAとBを順番に出している間に更新が走ると、整合性が崩れます。
対策:
- 可能ならメンテ時間に実施
- DBAに「スナップショット系(RCSI等)の可否」を確認
✅ 2)機密データの持ち出しリスク
CSVは漏えいリスクが高いです💥
対策:
- 暗号化
- アクセス制限
- 保管期限の明確化(消すルール)
すぐ使える「現実解」チェックリスト✅
- DBAに正規バックアップの取得を依頼した
- スキーマ(Generate Scripts)を確保した
- 重要テーブルをbcp等で定期エクスポートできるようにした
- 出力先の権限・暗号化・保管期限を決めた
- 復元手順(戻し方)を最低1回は試した
FAQ(よくある質問)❓
Q1. SELECT権限しかないけど、論理退避できる?
A. できる可能性は高いです。bcpやSELECT結果保存は通ることが多いです。ただし「テーブル一覧を見られない」など制限があると工夫が必要です。
Q2. 物理バックアップがないと復旧は無理?
A. “完全な復旧”は難しくなりますが、スキーマ+データ退避が揃っていれば復元に近いことは可能です(手作業は増えます)。
Q3. 一番おすすめの組み合わせは?
A. これです👇
DBAの正規バックアップ + あなた側のスキーマ保存 + 重要テーブルの定期エクスポート
守りが固くなります🛡️


コメント