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

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

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

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

Q&A

解決済

1回答

515閲覧

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

退会済みユーザー

退会済みユーザー

総合スコア0

SQL

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

0グッド

0クリップ

投稿2022/08/03 10:50

編集2022/08/03 11:07

状況

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

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

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

該当のソースコード

SQLserver

1backup database backupdemo to disk='C:\Users\a\OneDrive\デスクトップ\aa1' 2 3truncate table table_test 4 5insert into table_test values (1) 6backup log backupdemo to disk='C:\Users\a\OneDrive\デスクトップ\aa1.trn' 7insert into table_test values (2) 8backup log backupdemo to disk='C:\Users\a\OneDrive\デスクトップ\aa2.trn' 9insert into table_test values (3) 10backup log backupdemo to disk='C:\Users\a\OneDrive\デスクトップ\aa3.trn' 11--差分バックアップ 12backup database backupdemo to disk='C:\Users\a\OneDrive\デスクトップ\aa5.diff' with differential 13 14---テーブル削除 15use master 16go 17drop database backupdemo 18 19---完全バックアップのrestore 20use master 21go 22restore DATABASE backupdemo from disk='C:\Users\a\OneDrive\デスクトップ\aa1' with norecovery 23 24---差分バックアップのrestore 下記内容を実行するとエラー表示となります。 25--with recoveryを記述したらいいという認識ですがエラーが出てしまいます。 26use master 27go 28restore 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/ツールのバージョンなど)

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

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tarotanaka0510

2022/08/03 15:12

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

退会済みユーザー

2022/08/03 22:29

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

回答1

0

ベストアンサー

投稿者様の助言にて解決しました。

投稿2022/08/03 22:30

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問