システムメッセージを使用してSQL Serverのバックアップと復元の進行状況を確認する方法
SQL Serverのバックアップと復元の進行状況を確認するには、いくつかの方法があります。
- SSMSを使用する:
- システムメッセージを使用する:
- DMVを使用する:
スクリプト解説
USE [master]
GO
-- バックアップの進行状況を取得
SELECT
database_name,
backup_type,
percent_complete,
elapsed_time,
estimated_completion_time
FROM sys.dm_backup_history
WHERE is_current = 1
GO
-- 復元の進行状況を取得
SELECT
database_name,
restore_type,
percent_complete,
elapsed_time,
estimated_completion_time
FROM sys.dm_restore_history
WHERE is_current = 1
GO
各列の説明
- database_name: 操作対象のデータベース名
- backup_type: バックアップの種類 (完全、差分、トランザクションログ)
- restore_type: 復元の種類 (完全、ファイル、ファイルグループ)
- percent_complete: 操作の完了率
- elapsed_time: 操作の経過時間
- estimated_completion_time: 操作の推定完了時間
補足
- 上記のスクリプトは、あくまで一例です。必要に応じて、SELECT ステートメントを変更して、必要な情報を取得することができます。
- DMVは頻繁に変更される可能性があるため、最新の情報を確認する必要があります。
-- バックアップの進行状況を取得
SELECT
database_name,
backup_type,
percent_complete,
elapsed_time,
estimated_completion_time
FROM sys.dm_backup_history
WHERE is_current = 1
-- 復元の進行状況を取得
SELECT
database_name,
restore_type,
percent_complete,
elapsed_time,
estimated_completion_time
FROM sys.dm_restore_history
WHERE is_current = 1
出力例
-- バックアップの進行状況
database_name | backup_type | percent_complete | elapsed_time | estimated_completion_time
-------------- | ------------ | ---------------- | ------------ | ------------------------
AdventureWorks | COMPLETE | 100 | 00:00:05 | 2023-11-14 13:25:05.000
-- 復元の進行状況
database_name | restore_type | percent_complete | elapsed_time | estimated_completion_time
-------------- | ------------ | ---------------- | ------------ | ------------------------
AdventureWorks | FULL | 50 | 00:00:10 | 2023-11-14 13:25:10.000
説明
- 上記の例では、
database_name
、backup_type
、percent_complete
、elapsed_time
、estimated_completion_time
列を取得しています。 is_current
列を使用して、現在のバックアップまたは復元操作のみを取得しています。
変更
- 例えば、
backup_start_time
やrestore_start_time
列を追加して、操作の開始時刻を取得することができます。
SQL Serverのバックアップと復元の進行状況を確認するその他の方法
手順:
- SSMS を起動し、SQL Server インスタンスに接続します。
- オブジェクトエクスプローラーで、データベース を展開します。
- バックアップまたは復元するデータベースを右クリックし、タスク > バックアップ または 復元 を選択します。
- バックアップ または 復元 ダイアログボックスで、オプション タブを選択します。
- 進行状況の表示 チェックボックスをオンにします。
- OK をクリックします。
システムメッセージを使用する
- SQL Server Management Studio (SSMS) を起動し、SQL Server インスタンスに接続します。
- SQL Server ログ を右クリックし、新しいクエリエディターウィンドウで開く を選択します。
- 以下のクエリを実行します。
SELECT
message_text
FROM sys.messages
WHERE message_id IN (
1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 192
sql-server backup restore