次の方法で共有


Restore-SqlDatabase

バックアップ またはトランザクション ログ レコードからデータベースを復元します。

構文

Restore-SqlDatabase
       [-ClearSuspectPageTable]
       [-KeepReplication]
       [-Partial]
       [-ReplaceDatabase]
       [-RestrictedUser]
       [-Offset <Int64[]>]
       [-RelocateFile <RelocateFile[]>]
       [-AutoRelocateFile]
       [-FileNumber <Int32>]
       [-RestoreAction <RestoreActionType>]
       [-StandbyFile <String>]
       [-StopAtMarkAfterDate <String>]
       [-StopAtMarkName <String>]
       [-StopBeforeMarkAfterDate <String>]
       [-StopBeforeMarkName <String>]
       [-ToPointInTime <String>]
       [-Database] <String>
       [-Path <String[]>]
       [[-BackupFile] <String[]>]
       [-SqlCredential <PSObject>]
       [-BackupDevice <BackupDeviceItem[]>]
       [-PassThru]
       [-Checksum]
       [-ContinueAfterError]
       [-NoRewind]
       [-Restart]
       [-UnloadTapeAfter]
       [-NoRecovery]
       [-DatabaseFile <String[]>]
       [-DatabaseFileGroup <String[]>]
       [-BlockSize <Int32>]
       [-BufferCount <Int32>]
       [-MaxTransferSize <Int32>]
       [-MediaName <String>]
       [-Script]
       [-AccessToken <PSObject>]
       [-TrustServerCertificate]
       [-HostNameInCertificate <String>]
       [-Encrypt <String>]
       [-ProgressAction <ActionPreference>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Restore-SqlDatabase
       [-ClearSuspectPageTable]
       [-KeepReplication]
       [-Partial]
       [-ReplaceDatabase]
       [-RestrictedUser]
       [-Offset <Int64[]>]
       [-RelocateFile <RelocateFile[]>]
       [-AutoRelocateFile]
       [-FileNumber <Int32>]
       [-RestoreAction <RestoreActionType>]
       [-StandbyFile <String>]
       [-StopAtMarkAfterDate <String>]
       [-StopAtMarkName <String>]
       [-StopBeforeMarkAfterDate <String>]
       [-StopBeforeMarkName <String>]
       [-ToPointInTime <String>]
       [-Database] <String>
       -ServerInstance <String[]>
       [-Credential <PSCredential>]
       [-ConnectionTimeout <Int32>]
       [[-BackupFile] <String[]>]
       [-SqlCredential <PSObject>]
       [-BackupDevice <BackupDeviceItem[]>]
       [-PassThru]
       [-Checksum]
       [-ContinueAfterError]
       [-NoRewind]
       [-Restart]
       [-UnloadTapeAfter]
       [-NoRecovery]
       [-DatabaseFile <String[]>]
       [-DatabaseFileGroup <String[]>]
       [-BlockSize <Int32>]
       [-BufferCount <Int32>]
       [-MaxTransferSize <Int32>]
       [-MediaName <String>]
       [-Script]
       [-AccessToken <PSObject>]
       [-TrustServerCertificate]
       [-HostNameInCertificate <String>]
       [-Encrypt <String>]
       [-ProgressAction <ActionPreference>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Restore-SqlDatabase
       [-ClearSuspectPageTable]
       [-KeepReplication]
       [-Partial]
       [-ReplaceDatabase]
       [-RestrictedUser]
       [-Offset <Int64[]>]
       [-RelocateFile <RelocateFile[]>]
       [-AutoRelocateFile]
       [-FileNumber <Int32>]
       [-RestoreAction <RestoreActionType>]
       [-StandbyFile <String>]
       [-StopAtMarkAfterDate <String>]
       [-StopAtMarkName <String>]
       [-StopBeforeMarkAfterDate <String>]
       [-StopBeforeMarkName <String>]
       [-ToPointInTime <String>]
       [-Database] <String>
       -InputObject <Server[]>
       [[-BackupFile] <String[]>]
       [-SqlCredential <PSObject>]
       [-BackupDevice <BackupDeviceItem[]>]
       [-PassThru]
       [-Checksum]
       [-ContinueAfterError]
       [-NoRewind]
       [-Restart]
       [-UnloadTapeAfter]
       [-NoRecovery]
       [-DatabaseFile <String[]>]
       [-DatabaseFileGroup <String[]>]
       [-BlockSize <Int32>]
       [-BufferCount <Int32>]
       [-MaxTransferSize <Int32>]
       [-MediaName <String>]
       [-Script]
       [-AccessToken <PSObject>]
       [-TrustServerCertificate]
       [-HostNameInCertificate <String>]
       [-Encrypt <String>]
       [-ProgressAction <ActionPreference>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Restore-SqlDatabase
       [-ClearSuspectPageTable]
       [-KeepReplication]
       [-Partial]
       [-ReplaceDatabase]
       [-RestrictedUser]
       [-Offset <Int64[]>]
       [-RelocateFile <RelocateFile[]>]
       [-AutoRelocateFile]
       [-FileNumber <Int32>]
       [-RestoreAction <RestoreActionType>]
       [-StandbyFile <String>]
       [-StopAtMarkAfterDate <String>]
       [-StopAtMarkName <String>]
       [-StopBeforeMarkAfterDate <String>]
       [-StopBeforeMarkName <String>]
       [-ToPointInTime <String>]
       [-DatabaseObject] <Database>
       [[-BackupFile] <String[]>]
       [-SqlCredential <PSObject>]
       [-BackupDevice <BackupDeviceItem[]>]
       [-PassThru]
       [-Checksum]
       [-ContinueAfterError]
       [-NoRewind]
       [-Restart]
       [-UnloadTapeAfter]
       [-NoRecovery]
       [-DatabaseFile <String[]>]
       [-DatabaseFileGroup <String[]>]
       [-BlockSize <Int32>]
       [-BufferCount <Int32>]
       [-MaxTransferSize <Int32>]
       [-MediaName <String>]
       [-Script]
       [-AccessToken <PSObject>]
       [-TrustServerCertificate]
       [-HostNameInCertificate <String>]
       [-Encrypt <String>]
       [-ProgressAction <ActionPreference>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

説明

Restore-SqlDatabase コマンドレットは、SQL Server データベースに対して復元操作を実行します。 これには、データベースの完全復元、トランザクション ログの復元、データベース ファイルの復元が含まれます。

このコマンドレットは、Microsoft.SqlServer.Management.Smo.Restore クラスの後にモデル化されています。 このコマンドレットのパラメーターは、通常、Smo.Restore オブジェクトのプロパティに対応します。

例 1: ネットワーク共有上のバックアップ ファイルからデータベースを復元する

PS C:\> Restore-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupFile "\\mainserver\databasebackup\MainDB.bak"

このコマンドは、完全なデータベース MainDB をファイル \\mainserver\databasebackup\MainDB.bak からサーバー インスタンス Computer\Instanceに復元します。

例 2: データベース トランザクション ログを復元する

PS C:\> Restore-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupFile "\\mainserver\databasebackup\MainDB.trn" -RestoreAction Log

このコマンドは、データベース MainDB のトランザクション ログをファイル \\mainserver\databasebackup\MainDB.trn からサーバー インスタンス Computer\Instanceに復元します。

例 3: データベースを復元し、パスワードを要求する

PS C:\> Restore-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupFile "\\mainserver\databasebackup\MainDB.bak" -Credential (Get-Credential "sa")

このコマンドは、sa SQL ログインを使用して、完全なデータベース MainDB をファイル \\mainserver\databasebackup\MainDB.bak からサーバー インスタンス Computer\Instanceに復元します。 このコマンドを実行すると、認証を完了するためのパスワードの入力を求められます。

例 4: NORECOVERY オプションを使用してトランザクション・ログを復元する

PS C:\> Restore-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupFile "\\mainserver\databasebackup\MainDB.trn" -RestoreAction Log -NoRecovery

このコマンドは、NORECOVERY オプションを使用して、データベース MainDB のトランザクション ログをファイル \\mainserver\databasebackup\MainDB.trn からサーバー インスタンス Computer\Instanceに復元します。

例 5: トランザクション ログ レコードを特定の時点まで復元する

PS C:\> Restore-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupFile "\\mainserver\databasebackup\MainDB.trn" -RestoreAction Log -ToPointInTime "Sep 21, 2017 11:11 PM"

このコマンドは、データベース MainDB のトランザクション ログを、ToPointInTime パラメーター (2017 年 9 月 21 日午後 11:11) に渡された日付まで復元します。

例 6: データベースを復元し、データ ファイルとログ ファイルを再配置する

PS C:\> $RelocateData = New-Object Microsoft.SqlServer.Management.Smo.RelocateFile("MainDB_Data", "c:\MySQLServer\MainDB.mdf")
PS C:\> $RelocateLog = New-Object Microsoft.SqlServer.Management.Smo.RelocateFile("MainDB_Log", "c:\MySQLServer\MainDB.ldf")
PS C:\> Restore-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupFile "\\mainserver\databasebackup\MainDB.trn" -RelocateFile @($RelocateData,$RelocateLog)

次の使用例は、データベース MainDB 全体をサーバー インスタンス Computer\Instanceに復元し、データ ファイルとログ ファイルを再配置します。 この例では、移動される各ファイルについて、Microsoft.SqlServer.Management.Smo.RelocateFile クラスのインスタンスを構築します。 各コンストラクターは、ファイルの論理名と、ファイルがターゲット サーバーに配置される物理的な場所という 2 つの引数を受け取ります。 RelocateFile オブジェクトは、Restore-SqlDatabase コマンドレットの RelocateFile パラメーターに渡されます。

例 7: テープからデータベースを復元する

PS C:\> $TapeDevice = New-Object Microsoft.Sqlserver.Management.Smo.BackupDeviceItem("\\.\tape0", "Tape")
PS C:\> Restore-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupDevice $TapeDevice

次の使用例は、データベース MainDB\\.\tape0 という名前のテープ デバイスからサーバー インスタンス Computer\Instanceに復元します。 このデバイスを表すために、この例では Microsoft.Sqlserver.Management.Smo.BackupDeviceItem クラスのインスタンスを構築します。 コンストラクターは、バックアップ デバイスの名前とバックアップ デバイスの種類という 2 つの引数を受け取ります。 この BackupDeviceItem オブジェクトは、Restore-SqlDatabase コマンドレットの BackupDevice パラメーターに渡されます。

例 8: Azure Blob Storage サービスからデータベースを復元する

PS C:\> Restore-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupFile "https://mystorageaccountname.blob.core.windows.net/container/MyDB.bak" -SqlCredential "mySqlCredential"

このコマンドは、Windows Azure Blob Storage サービス上のファイルからサーバー インスタンス Computer\Instanceに完全なデータベース MainDB を復元します。

例 9: SQL2016でデータベースをバックアップし、-AutoRelocateFile を使用してSQL2017に復元する

PS C:\> Get-SqlDatabase -ServerInstance MYSERVER\SQL2016 -Database AdventureWorks | Backup-SqlDatabase -BackupFile 'C:\BAK2\AdventureWorks.bak'
PS C:\> $restore = Restore-SqlDatabase -ServerInstance MYSERVER\SQL2017 -Database AdventureWorks2016 -BackupFile 'C:\BAK2\AdventureWorks.bak' -AutoRelocateFile -PassThru
PS C:\> $db.RelocateFiles

LogicalFileName     PhysicalFileName
---------------     ----------------
AdventureWorks_Data C:\Program Files\Microsoft SQL Server\MSSQL14.SQL2017\MSSQL\DATA\AdventureWorks_Data.mdf
AdventureWorks_Log  C:\Program Files\Microsoft SQL Server\MSSQL14.SQL2017\MSSQL\DATA\AdventureWorks_Log.ldf

# You can see that the original PhysicalFileNames were indeed differet by running the followiong query:
PS C:\> Invoke-Sqlcmd -ServerInstance MYSERVER\SQL2016 -Query "RESTORE FILELISTONLY FROM  DISK = N'C:\BAK2\AdventureWorks.bak' WITH NOUNLOAD" | Select -Property LogicalName,PhysicalName

LogicalName         PhysicalName
-----------         ------------
AdventureWorks_Data C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\DATA\AdventureWorks_Data.mdf
AdventureWorks_Log  C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\DATA\AdventureWorks_Log.ldf

最初のコマンドは、マシン上で実行されている SQL2016 インスタンス上の AdventureWorks データベース MYSERVERのバックアップを取得します。 バックアップは C:\BAK2に保存されます。

2 番目のコマンドレットでは、同じコンピューター (MYSERVER) で実行されているSQL2017 インスタンスにデータベースを復元するために、同じバックアップ ファイルが使用されます。 -AutoRelocate スイッチがないと、上記の 2 つの表に示すように物理ファイルが異なるため、コマンドレットが失敗したことに注意してください (さらに、ほとんどの場合、ファイルはSQL2016で使用されており、SQL2017がアクセスできない可能性があります)。 -AutoRelocate を使用すると、ユーザーは -RelocationFileを明示的に使用する必要がなくなります。これは、ビルドに非常に面倒な引数です。

注: SQL2016 インスタンスと SQL2017 インスタンスの両方が C:\BAK2 フォルダーにアクセスできる前提があります。

パラメーター

-AccessToken

ユーザー/パスワードまたは Windows 認証の代わりに、SQL Server に対する認証に使用されるアクセス トークン。

これは、たとえば、Service Principal または Managed Identityを使用して SQL Azure DBSQL Azure Managed Instance に接続するために使用できます。

使用するパラメーターには、トークンを表す文字列、または Get-AzAccessToken -ResourceUrl https://database.windows.netを実行して返される PSAccessToken オブジェクトを指定できます。

このパラメーターは、モジュールの v22 の新機能です。

型:PSObject
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-AutoRelocateFile

このスイッチを指定すると、RelocateFileでこのような論理ファイルが指定されていない限り、コマンドレットはバックアップ内のすべての論理ファイルを自動的に再配置します。 サーバー DefaultFile と DefaultLog は、ファイルの再配置に使用されます。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-BackupDevice

バックアップを格納するデバイスを指定します。 このパラメーターを BackupFile パラメーターと共に使用することはできません。 テープ デバイスにバックアップする場合は、このパラメーターを使用します。

型:BackupDeviceItem[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-BackupFile

バックアップ ファイルが格納される場所を指定します。 このパラメーターは省略可能です。 指定しない場合、サーバーの既定のバックアップ場所で、ログ復元の名前 <database name>.trn、または他のすべての種類の復元の <database name>.bak が検索されます。 このパラメーターは、BackupDevice パラメーターでは使用できません。 Windows Azure Blob Storage サービス (URL) にバックアップする場合は、このパラメーターまたは BackupDevice パラメーターを指定する必要があります。

型:String[]
配置:2
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-BlockSize

バックアップの物理ブロック サイズをバイト単位で指定します。 サポートされているサイズは、512、1024、2048、4096、8192、16384、32768、65536 (64 KB) バイトです。 既定値は、テープ デバイスの場合は 65536、他のすべてのデバイスでは 512 です。

型:Int32
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-BufferCount

バックアップ操作に使用する I/O バッファーの合計数を指定します。 任意の正の整数を指定できます。 バッファーの Sqlservr.exe プロセスに仮想アドレス空間が不足している場合は、メモリ不足エラーが発生します。

型:Int32
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Checksum

復元操作中にチェックサム値が計算されることを示します。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ClearSuspectPageTable

復元操作の後に、疑わしいページ テーブルが削除されることを示します。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Confirm

コマンドレットを実行する前に確認を求めるメッセージが表示されます。

型:SwitchParameter
Aliases:cf
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ConnectionTimeout

タイムアウトエラーが発生するまでのサーバー接続を待機する秒数を指定します。 タイムアウト値は、0 ~ 65534 の整数である必要があります。 0 を指定した場合、接続試行はタイムアウトしません。

型:Int32
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ContinueAfterError

チェックサム エラーが発生したときに操作を続行することを示します。 設定されていない場合、チェックサム エラーの後に操作は失敗します。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Credential

この操作を実行する権限を持つ SQL Server ログインの資格情報を含む PSCredential オブジェクトを指定します。

型:PSCredential
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Database

復元するデータベースの名前を指定します。 これは DatabaseObject パラメーターでは使用できません。 このパラメーターを使用する場合は、Path、InputObject、または ServerInstance パラメーター も指定する必要があります。

型:String
配置:1
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-DatabaseFile

復元操作の対象となるデータベース ファイルを指定します。 これは、RestoreAction パラメーターが Files に設定されている場合にのみ使用されます。 RestoreAction パラメーターが Files に設定されている場合は、DatabaseFileGroups または DatabaseFiles パラメーターも指定する必要があります。

型:String[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-DatabaseFileGroup

復元操作の対象となるデータベース ファイル グループを指定します。 これは、RestoreAction パラメーターが File に設定されている場合にのみ使用されます。 RestoreAction パラメーターが Files に設定されている場合は、DatabaseFileGroups または DatabaseFiles パラメーターも指定する必要があります。

型:String[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-DatabaseObject

復元操作のデータベース オブジェクトを指定します。

型:Database
配置:1
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-Encrypt

SQL Server に接続するときに使用する暗号化の種類。

この値は、Microsoft.Data.SqlClient ドライバーの SqlConnection オブジェクトの Encrypt プロパティ SqlConnectionEncryptOption にマップされます。

モジュールの v22 では、既定値は Optional です (v21 との互換性のため)。 モジュールの v23 以降では、既定値は "必須" になり、既存のスクリプトに重大な変更が生じる可能性があります。

このパラメーターは、モジュールの v22 の新機能です。

型:String
指定可能な値:Mandatory, Optional, Strict
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-FileNumber

バックアップ メディア上のターゲット バックアップ セットを識別するために使用されるインデックス番号を指定します。

型:Int32
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-HostNameInCertificate

SQL Server TLS/SSL 証明書の検証に使用するホスト名。 SQL Server インスタンスで Force Encryption が有効になっていて、ホスト名/短縮名を使用してインスタンスに接続する場合は、このパラメーターを渡す必要があります。 このパラメーターを省略した場合、強制暗号化が有効になっている SQL Server インスタンスに接続するには、完全修飾ドメイン名 (FQDN) を -ServerInstance に渡す必要があります。

このパラメーターは、モジュールの v22 の新機能です。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-InputObject

復元が行われる SQL Server インスタンスのサーバー オブジェクトを指定します。

型:Server[]
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-KeepReplication

レプリケーション構成が保持されることを示します。 設定されていない場合、レプリケーション構成は復元操作によって無視されます。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-MaxTransferSize

バックアップ メディアと SQL Server インスタンスの間で転送される最大バイト数を指定します。 指定できる値は、65536 バイト (64 KB) の倍数で、最大4194304 バイト (4 MB) です。

型:Int32
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-MediaName

メディア セットを識別する名前を指定します。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-NoRecovery

データベースが復元状態に復元されることを示します。 ロールバック操作は行われず、追加のバックアップを復元できます。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-NoRewind

復元が完了したときに、テープ ドライブが終了位置で開いたままであることを示します。 設定されていない場合は、操作の完了後にテープが巻き戻されます。 これは、ディスクの復元には適用されません。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Offset

復元するページ アドレスを指定します。 これは、RestoreAction が OnlinePage に設定されている場合にのみ使用されます。

型:Int64[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Partial

復元操作が部分復元であることを示します。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-PassThru

このコマンドレットが、復元操作の実行に使用される Smo.Backup オブジェクトを出力することを示します。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Path

復元操作を実行する SQL Server インスタンスのパスを指定します。 このパラメーターは省略可能です。 指定しない場合は、現在の作業場所が使用されます。

型:String[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ProgressAction

スクリプト、コマンドレット、またはプロバイダーによって生成された進行状況の更新 (Write-Progress コマンドレットによって生成された進行状況バーなど) に対する PowerShell の応答方法を決定します。 Write-Progress コマンドレットは、コマンドの状態を示す進行状況バーを作成します。

型:ActionPreference
Aliases:proga
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-RelocateFile

Smo.Relocate ファイル オブジェクトの一覧を指定します。 各オブジェクトは、論理バックアップ ファイル名と物理ファイル システムの場所で構成されます。 復元により、復元されたデータベースがターゲット サーバー上の指定された物理的な場所に移動されます。

型:RelocateFile[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ReplaceDatabase

データベースの新しいイメージが作成されることを示します。 これにより、同じ名前の既存のデータベースが上書きされます。 設定されていない場合、その名前のデータベースがサーバーに既に存在する場合、復元操作は失敗します。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Restart

このコマンドレットが部分的に完了した復元操作を再開することを示します。 設定されていない場合、コマンドレットはバックアップ セットの先頭で中断された復元操作を再開します。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-RestoreAction

実行される復元操作の種類を指定します。 有効な値は次のとおりです。

  • データベース。 データベースが復元されます。
  • ファイル。 1 つ以上のデータ ファイルが復元されます。 DatabaseFile または DatabaseFileGroup パラメーターを指定する必要があります。
  • OnlinePage。 ユーザーがデータベースを使用できるように、データ ページがオンラインで復元されます。
  • OnlineFiles。 ユーザーがデータベースを使用できるように、データ ファイルはオンラインで復元されます。 DatabaseFile または DatabaseFileGroup パラメーターを指定する必要があります。
  • 丸太。 トランスアクション ログが復元されます。
型:RestoreActionType
指定可能な値:Database, Files, OnlinePage, OnlineFiles, Log
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-RestrictedUser

復元されたデータベースへのアクセスが、db_owner固定データベース ロール、および dbcreator および sysadmin 固定サーバー ロールに制限されていることを示します。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Script

このコマンドレットが、復元操作を実行する Transact-SQL スクリプトを出力することを示します。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ServerInstance

SQL Server インスタンスの名前を指定します。 このサーバー インスタンスが復元操作のターゲットになります。

型:String[]
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-SqlCredential

認証情報を格納する SQL Server 資格情報オブジェクトを指定します。 Blob Storage サービスにバックアップする場合は、このパラメーターを指定する必要があります。 格納される認証情報には、ストレージ アカウント名と、関連付けられているアクセス キーの値が含まれます。 ディスクまたはテープには、このパラメーターを指定しないでください。

型:PSObject
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-StandbyFile

SQL Server インスタンスのイメージング戦略の一部として使用される元に戻すファイルの名前を指定します。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-StopAtMarkAfterDate

StopAtMarkName パラメーターで指定されたマーク名と共に使用する日付を指定して、回復操作の停止ポイントを決定します。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-StopAtMarkName

復旧操作を停止するマーク付きトランザクションを指定します。 これは、StopAtMarkAfterDate と共に使用され、復旧操作の停止ポイントを決定します。 復旧されたデータには、マークを含むトランザクションが含まれます。 StopAtMarkAfterDate 値が設定されていない場合、指定した名前の最初のマークで回復が停止します。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-StopBeforeMarkAfterDate

StopBeforeMarkName 使用して回復操作の停止ポイントを決定する日付を指定します。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-StopBeforeMarkName

復旧操作を停止する前にマークされたトランザクションを指定します。 これは、StopBeforeMarkAfterDate と共に使用され、復旧操作の停止ポイントを決定します。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ToPointInTime

データベース ログ復元のエンドポイントを指定します。 これは、RestoreAction Log に設定されている場合にのみ適用されます。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-TrustServerCertificate

信頼を検証するために証明書チェーンのウォークをバイパスしながらチャネルを暗号化するかどうかを示します。

モジュールの v22 では、既定値は $true です (v21 との互換性のため)。 モジュールの v23 以降では、既定値は "$false" になり、既存のスクリプトに重大な変更が生じる可能性があります。

このパラメーターは、モジュールの v22 の新機能です。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-UnloadTapeAfter

操作が完了すると、テープ デバイスが巻き戻されてアンロードされることを示します。 設定されていない場合、テープ メディアの巻き戻しとアンロードは試行されません。 これはディスク バックアップには適用されません。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-WhatIf

コマンドレットを実行した場合の動作を示します。 コマンドレットは実行されません。

型:SwitchParameter
Aliases:wi
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

入力

Microsoft.SqlServer.Management.Smo.Database

Microsoft.SqlServer.Management.Smo.Server[]

SMO を指定します。復元操作が行われる SQL Server インスタンスを記述するサーバー オブジェクト。

System.String[]