システムメッセージを使用してSQL Serverのバックアップと復元の進行状況を確認する方法

2024-04-06

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_namebackup_typepercent_completeelapsed_timeestimated_completion_time 列を取得しています。
  • is_current 列を使用して、現在のバックアップまたは復元操作のみを取得しています。

変更

  • 例えば、backup_start_timerestore_start_time 列を追加して、操作の開始時刻を取得することができます。



SQL Serverのバックアップと復元の進行状況を確認するその他の方法

手順:

  1. SSMS を起動し、SQL Server インスタンスに接続します。
  2. オブジェクトエクスプローラーで、データベース を展開します。
  3. バックアップまたは復元するデータベースを右クリックし、タスク > バックアップ または 復元 を選択します。
  4. バックアップ または 復元 ダイアログボックスで、オプション タブを選択します。
  5. 進行状況の表示 チェックボックスをオンにします。
  6. OK をクリックします。

システムメッセージを使用する

  1. SQL Server Management Studio (SSMS) を起動し、SQL Server インスタンスに接続します。
  2. SQL Server ログ を右クリックし、新しいクエリエディターウィンドウで開く を選択します。
  3. 以下のクエリを実行します。
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


SSMSでセキュリティ強化! 記憶されたログインとパスワードのリストを削除する方法

SQL Server Management Studio (SSMS) は、SQL Server データベースを管理するためのツールです。SSMS には、接続先のサーバーのログイン情報とパスワードを記憶する機能があります。これは便利ですが、セキュリティ上のリスクもあります。...


C#とSQL Serverの連携を強化!ストアドプロシージャの威力を体験しよう

ADO. NETは、.NET Frameworkで提供されるデータアクセス技術です。ADO. NETを使用してストアドプロシージャを実行するには、次の手順が必要です。SqlConnectionオブジェクトを作成するストアドプロシージャのパラメータを設定する...


INFORMATION_SCHEMA.TABLES カタログビューを使用する

SQL Server 2008 でユーザー定義テーブル型 (UDTT) が存在するかどうかを確認するには、以下のいずれかの方法を使用できます。方法 1: sys. types システムビューを使用するこのクエリは、指定された名前とスキーマを持つ UDTT が存在するかどうかを確認します。UDTT が存在する場合は、クエリは type_id 列を含む 1 行の結果を返します。...


SQL Server でのデータ整合性の維持:重複なしで INSERT INTO SELECT を実行する方法

ここでは、SQL ServerでINSERT INTO SELECTクエリで重複を回避する3つの主要な方法について説明します。NOT EXISTS句を使用して、挿入しようとしているレコードがターゲットテーブルに既に存在するかどうかを確認できます。以下のクエリはこの方法を示しています。...


SQL Server 2005でNULL値のサイズを削減するためのベストプラクティス:ストレージの無駄遣いをなくす

SQL Server における NULL 値のサイズは、データ型とストレージ方法によって異なります。データ型ごとのサイズ整数型:NULL: 1 ビットのみ使用されます。NULL: 1 ビットのみ使用されます。文字列型:NULL: NVARCHAR 型の場合は 2 バイト、その他の文字列型の場合は 1 バイトを使用します。...