質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

解決済

SQLserver SQLサーバー  バックアップについて

abcabc
abcabc

総合スコア95

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

1回答

0評価

0クリップ

165閲覧

投稿2022/08/03 10:50

編集2022/08/04 07:30

状況

差分バックアップを復元したいが、復元しようとするとエラーが出ます。
完全バックアップは復元できるのですがなぜ差分バックアップが復元出来ないのか
わかりません。
復元できない理由と、復元方法ご教授していただけると幸いです。

発生している問題・エラーメッセージ

出ているエラーメッセージを入力 メッセージ 927、レベル 14、状態 2、行 76 データベース 'backupdemo' を開けません。復元中です。 (0 行処理されました)

該当のソースコード

SQLserver

backup database backupdemo to disk='C:\Users\a\OneDrive\デスクトップ\aa1' truncate table table_test insert into table_test values (1) backup log backupdemo to disk='C:\Users\a\OneDrive\デスクトップ\aa1.trn' insert into table_test values (2) backup log backupdemo to disk='C:\Users\a\OneDrive\デスクトップ\aa2.trn' insert into table_test values (3) backup log backupdemo to disk='C:\Users\a\OneDrive\デスクトップ\aa3.trn' --差分バックアップ backup database backupdemo to disk='C:\Users\a\OneDrive\デスクトップ\aa5.diff' with differential ---テーブル削除 use master go drop database backupdemo ---完全バックアップのrestore use master go restore DATABASE backupdemo from disk='C:\Users\a\OneDrive\デスクトップ\aa1' with norecovery ---差分バックアップのrestore 下記内容を実行するとエラー表示となります。 --with recoveryを記述したらいいという認識ですがエラーが出てしまいます。 use master go restore DATABASE backupdemo from disk='C:\Users\a\OneDrive\デスクトップ\aa5.diff' with recovery

試したこと

restore DATABASE backupdemo from disk='C:\Users\a\OneDrive\デスクトップ\aa1' with recovery とすると復元できます。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

tarotanaka0510

2022/08/03 15:12

見た感じ、コードは特に間違ってないように見えます。 こちら、SQL Server のバージョンはいくつになりますでしょうか。聞いたことはないですが、もしかすると何らかの不具合の可能性もあるのかなと。 (バージョンは、SELECT @@version で確認可能です。) また、SQL Server Management Studio (SSMS) がインストール済みの環境であれば、SSMS の GUI で同じ順番 (完全→差分) でリストアしてどうなるかを確認してみるのもいいと思います。 もしそれで成功するのであれば、リストア画面等のポップアップ画面の上部に [スクリプト化] というボタンがあるため、実際にリストアするファイルやオプションなどを選択したうえで、[スクリプト化] ボタンを押下することで、実際に GUI で操作した際に内部的に発行されるクエリが確認できるため、そのクエリと比較することで原因の特定ができるかもしれません。
abcabc

2022/08/03 22:29

tarotanaka0510様 ご返信ありがとうございます。 SSMS上にて実行していました。バージョンは下記になります。 Microsoft SQL Server 2019 (RTM) Copyright (C) 2019 Microsoft Corporation Developer Edition (64-bit) コードに間違いはないとおっしゃっていただけたので、再度順を追って実行したところ、リストアができました。逆に今まで何がいけなかったのかがわからずモヤモヤが残りますが、このコード内容で間違いないということがわかり、結果も返ってきましたので満足しています。 ありがとうございました。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。