ブラウザの履歴やスクリーンショットからSQLクエリを復元する方法
SQL クエリ スクリプトの復元方法
SQL Server Management Studio (SSMS) やその他のツールを使用しているときに、誤って SQL クエリ スクリプトを保存せずに閉じてしまった場合、復元できる可能性があります。 いくつかの方法があり、状況によって最適な方法が異なります。
方法
SSMS のクエリエディタには、最近実行したクエリの履歴が保存されています。 以下の手順で、履歴からクエリを復元できます。
- SSMS でクエリエディタを開きます。
- ツールバーの [履歴] ボタンをクリックします。
- 復元したいクエリを選択します。
テキストファイルから復元する
SSMS でクエリエディタを開いたときに、自動的にバックアップファイルが作成されます。 以下の手順で、バックアップファイルからクエリを復元できます。
- [ファイル] メニューから [開く] を選択します。
- ファイルの種類を [すべてのファイル] に変更します。
- 以下のファイル名形式でバックアップファイルを見つけます。
*.ssmssql17
- バックアップファイルを開きます。
- 必要に応じて、クエリを編集します。
データベースから復元する
データベースに保存されているクエリの履歴から復元できる場合があります。 以下の手順で、データベースからクエリを復元できます。
- SSMS でデータベースに接続します。
- 以下のクエリを実行します。
SELECT
[text]
FROM
sys.sql_scripts
WHERE
[name] = 'クエリの名前'
- 結果ペインで、クエリのテキストをコピーします。
- 新しいクエリエディタウィンドウで、クエリのテキストを貼り付けます。
その他のツールを使用する
上記の方法でうまくいかない場合は、サードパーティ製のツールを使用して復元できる可能性があります。 いくつかのツールがありますが、ApexSQL Recover や SQL Data Recovery などが人気です。
注意事項
- データベースのバックアップがない場合は、クエリの復元はできません。
- サードパーティ製のツールを使用する場合は、信頼できるツールを選択してください。
補足
- 上記の方法は、SQL Server にのみ適用されます。
- PostgreSQL や MySQL などの他のデータベースサーバーを使用している場合は、別の方法でクエリを復元する必要があります。
- 詳細については、各データベースサーバーのドキュメントを参照してください。
SSMS のクエリエディタ履歴から復元する
-- 履歴から最後のクエリを復元
SELECT TOP 1
[text]
FROM
sys.dm_exec_query_history
ORDER BY
[start_time] DESC
-- 特定のクエリの履歴から復元
SELECT
[text]
FROM
sys.dm_exec_query_history
WHERE
[statement] LIKE '%検索条件%'
テキストファイルから復元する
-- バックアップファイルの場所
DECLARE @backup_file_path NVARCHAR(MAX) = 'C:\Temp\MyQuery.ssmssql17'
-- バックアップファイルからクエリを読み込む
DECLARE @query NVARCHAR(MAX)
SET @query = (SELECT TOP 1 [text] FROM [master].[sys].[backup_files] WHERE [database_name] = 'MyDatabase' AND [type] = 'S' ORDER BY [backup_start_date] DESC)
-- クエリを実行
EXEC sp_executesql @query
データベースから復元する
-- データベースに保存されているクエリの履歴から復元
SELECT
[text]
FROM
sys.sql_scripts
WHERE
[name] = 'クエリの名前'
-- 特定のクエリの履歴から復元
SELECT
[text]
FROM
sys.sql_scripts
WHERE
[text] LIKE '%検索条件%'
ブラウザの履歴を使用する
Web ブラウザを使用して SQL クエリを実行していた場合、ブラウザの履歴からクエリを復元できる可能性があります。 以下の手順で、ブラウザの履歴からクエリを復元できます。
- SQL クエリを実行したページを見つけます。
- ページのソースを表示します。
スクリーンショットを使用する
SQL クエリを実行した画面のスクリーンショットを撮っていた場合、スクリーンショットからクエリを復元できる可能性があります。 以下の手順で、スクリーンショットからクエリを復元できます。
- スクリーンショット画像を OCR ソフトウェアで読み込みます。
- OCR ソフトウェアでテキストを認識させます。
データベースが破損した場合、データベースの復元を使用して、クエリのスクリプトを含むデータベース全体を復元できる可能性があります。 以下の手順で、データベースの復元を使用します。
- データベースのバックアップからデータベースを復元します。
- 復元されたデータベースから、クエリのスクリプトを探します。
- OCR ソフトウェアを使用する場合は、精度が高いソフトウェアを選択してください。
SQL クエリ スクリプトを復元するには、いくつかの方法があります。 上記の方法を試して、自分に最適な方法を見つけてください。
sql sql-server t-sql