Поделиться через


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")

Эта команда восстанавливает полную базу данных MainDB из файла \\mainserver\databasebackup\MainDB.bak на экземпляр сервера Computer\Instanceс помощью имени входа sa SQL. Эта команда запросит пароль для завершения проверки подлинности.

Пример 4. Восстановление журнала транзакций с помощью параметра NORECOVERY

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

Эта команда восстанавливает журнал транзакций базы данных MainDB с параметром NORECOVERY из файла \\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, 21 сентября 2017 г. 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.MovedeFile. Каждый конструктор принимает два аргумента, логическое имя файла и физическое расположение, в котором файл будет размещен на целевом сервере. Объекты переместить файл передаются в параметр RelocateFile командлета Restore-SqlData base.

Пример 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. Конструктор принимает два аргумента: имя устройства резервного копирования и тип устройства резервного копирования. Затем этот объект BackupDeviceItem передается в параметр BackupDevice командлета Restore-SqlDatabase.

Пример 8. Восстановление базы данных из службы хранилища BLOB-объектов Azure

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

Эта команда восстанавливает полную базу данных MainDB из файла в службе хранилища BLOB-объектов Windows Azure на экземпляр сервера Computer\Instance.

Пример 9. Резервное копирование базы данных на SQL2016 и восстановление на SQL2017 с помощью -AutoRelocateFile

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

Первая команда создает резервную копию базы данных AdventureWorks на экземпляре SQL2016, работающем на компьютере MYSERVER. Резервная копия сохраняется в C:\BAK2.

Тот же файл резервной копии используется во втором командлете для восстановления базы данных на экземпляре SQL2017, работающем на том же компьютере (MYSERVER). Обратите внимание, что без параметра -AutoRelocate командлет завершился сбоем, так как физические файлы, в которых разные файлы, как показано в двух таблицах выше (более того, скорее всего, файлы будут использоваться SQL2016 и, возможно, недоступны SQL2017). -AutoRelocate позволил пользователю избежать явного использования -RelocationFile, аргумент, которому довольно мучено для сборки.

Примечание. Существует предположение, что как экземпляр SQL2016, так и экземпляр SQL2017 имеют доступ к папке C:\BAK2.

Параметры

-AccessToken

Маркер доступа, используемый для проверки подлинности в SQL Server, в качестве альтернативы пользователю или паролю или проверке подлинности Windows.

Это можно использовать, например, для подключения к SQL Azure DB и SQL Azure Managed Instance с помощью Service Principal или Managed Identity.

Используемый параметр может быть строкой, представляющей маркер или объект PSAccessToken, как возвращается при выполнении Get-AzAccessToken -ResourceUrl https://database.windows.net.

Этот параметр является новым в версии 22 модуля.

Тип:PSObject
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-AutoRelocateFile

При указании этого параметра командлет будет выполнять автоматическое перемещение всех логических файлов в резервной копии, если только такой логический файл не указан с помощью перемещении Файла. Сервер DefaultFile и DefaultLog используются для перемещения файлов.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-BackupDevice

Указывает устройства, на которых хранятся резервные копии. Этот параметр нельзя использовать с параметром BackupFile. Используйте этот параметр, если выполняется резервное копирование на ленточное устройство.

Тип:BackupDeviceItem[]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-BackupFile

Указывает расположение или расположения, в которых хранятся файлы резервной копии. Этот параметр является необязательным. Если не указано, расположение резервного копирования сервера по умолчанию выполняется поиск имени <database name>.trn для восстановления журналов или <database name>.bak для всех других типов восстановления. Этот параметр нельзя использовать с параметром BackupDevice. Если вы выполняете резервное копирование в службу хранилища BLOB-объектов Windows Azure (URL-адрес), необходимо указать этот параметр или параметр BackupDevice.

Тип:String[]
Position:2
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-BlockSize

Указывает размер физического блока в байтах для резервной копии. Поддерживаемые размеры: 512, 1024, 2048, 4096, 8192, 16384, 32768 и 65536 (64 КБ) байт. Значение по умолчанию — 65536 для ленточных устройств и 512 для всех остальных устройств.

Тип:Int32
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-BufferCount

Указывает общее количество буферов ввода-вывода, используемых для операции резервного копирования. Можно указать любое положительное целое число. Если в процессе Sqlservr.exe для буферов недостаточно виртуального адресного пространства, вы получите ошибку из памяти.

Тип:Int32
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Checksum

Указывает, что значение контрольной суммы вычисляется во время операции восстановления.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ClearSuspectPageTable

Указывает, что подозреваемая таблица страницы удаляется после операции восстановления.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Confirm

Запрашивает подтверждение перед запуском командлета.

Тип:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ConnectionTimeout

Указывает количество секунд, ожидающее подключения к серверу до сбоя времени ожидания. Значение времени ожидания должно быть целым числом от 0 до 65534. Если задано значение 0, попытки подключения не истекает.

Тип:Int32
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ContinueAfterError

Указывает, что операция продолжается при возникновении ошибки контрольной суммы. Если не задано, операция завершится ошибкой после ошибки контрольной суммы.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Credential

Указывает объект PSCredential, содержащий учетные данные для имени входа SQL Server с разрешением на выполнение этой операции.

Тип:PSCredential
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Database

Указывает имя базы данных для восстановления. Это нельзя использовать с параметром DatabaseObject. При использовании этого параметра необходимо также указать параметры path, InputObjectили ServerInstance.

Тип:String
Position:1
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-DatabaseFile

Указывает файлы базы данных, предназначенные для операции восстановления. Это используется только в том случае, если параметр RestoreAction имеет значение Files. Если параметр RestoreAction имеет значение Files, необходимо также указать параметр DatabaseFileGroups или DatabaseFiles.

Тип:String[]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-DatabaseFileGroup

Указывает группы файлов базы данных, предназначенные для операции восстановления. Это используется только в том случае, если параметр restoreAction имеет значение File. Если параметр RestoreAction имеет значение Files, необходимо также указать параметр DatabaseFileGroups или DatabaseFiles.

Тип:String[]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-DatabaseObject

Указывает объект базы данных для операции восстановления.

Тип:Database
Position:1
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Encrypt

Тип шифрования, используемый при подключении к SQL Server.

Это значение сопоставляется со свойством EncryptSqlConnectionEncryptOption в объекте SqlConnection драйвера Microsoft.Data.SqlClient.

В версии 22 модуля по умолчанию используется Optional (для совместимости с версией 21). В версии 23+ модуля значение по умолчанию будет "Обязательный", которое может создать критическое изменение для существующих скриптов.

Этот параметр является новым в версии 22 модуля.

Тип:String
Допустимые значения:Mandatory, Optional, Strict
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-FileNumber

Указывает номер индекса, используемый для идентификации целевого набора резервных копий на носителе резервного копирования.

Тип:Int32
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-HostNameInCertificate

Имя узла, используемое при проверке TLS/SSL-сертификата SQL Server. Этот параметр необходимо передать, если экземпляр SQL Server включен для принудительного шифрования и требуется подключиться к экземпляру с помощью имени узла или короткого имени. Если этот параметр опущен, передача полного доменного имени (FQDN) в -ServerInstance необходима для подключения к экземпляру SQL Server, включенного для принудительного шифрования.

Этот параметр является новым в версии 22 модуля.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-InputObject

Указывает серверный объект экземпляра SQL Server, в котором происходит восстановление.

Тип:Server[]
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-KeepReplication

Указывает, что конфигурация репликации сохраняется. Если не задано, конфигурация репликации игнорируется операцией восстановления.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-MaxTransferSize

Указывает максимальное количество байтов, передаваемых между носителем резервного копирования и экземпляром SQL Server. Возможные значения — несколько из 65536 байт (64 КБ), до 4194304 байтов (4 МБ).

Тип:Int32
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-MediaName

Указывает имя, определяющее набор носителей.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-NoRecovery

Указывает, что база данных восстанавливается в состоянии восстановления. Операция отката не возникает, и можно восстановить дополнительные резервные копии.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-NoRewind

Указывает, что ленточный диск остается открытым в конечной позиции при завершении восстановления. Если не задано, лента перенастроится после завершения операции. Это не относится к восстановлению диска.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Offset

Указывает адреса страницы, которые необходимо восстановить. Это используется только в том случае, если параметр RestoreAction имеет значение OnlinePage.

Тип:Int64[]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Partial

Указывает, что операция восстановления является частичным восстановлением.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-PassThru

Указывает, что этот командлет выводит объект Smo.Backup, используемый для выполнения операции восстановления.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Path

Указывает путь экземпляра SQL Server, на котором выполняется операция восстановления. Этот параметр является необязательным. Если оно не указано, используется текущее рабочее расположение.

Тип:String[]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ProgressAction

Определяет, как PowerShell реагирует на обновления хода выполнения, созданные скриптом, командлетом или поставщиком, например индикаторами хода выполнения, созданными командлетом Write-Progress. Командлет Write-Progress создает индикаторы хода выполнения, показывающие состояние команды.

Тип:ActionPreference
Aliases:proga
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-RelocateFile

Указывает список объектов файла Smo.Relocate. Каждый объект состоит из имени логического файла резервного копирования и расположения физической файловой системы. Восстановление перемещает восстановленную базу данных в указанное физическое расположение на целевом сервере.

Тип:RelocateFile[]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ReplaceDatabase

Указывает, что создается новый образ базы данных. При этом перезаписывается любая существующая база данных с тем же именем. Если этот параметр не задан, операция восстановления завершится ошибкой, когда база данных с таким именем уже существует на сервере.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Restart

Указывает, что этот командлет возобновляет частично завершенную операцию восстановления. Если этот параметр не задан, командлет перезапускает прерванную операцию восстановления в начале резервного набора данных.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-RestoreAction

Указывает тип выполняемой операции восстановления. Допустимые значения:

  • База данных. База данных восстанавливается.
  • Файлы. Восстанавливается один или несколько файлов данных. Необходимо указать параметр DatabaseFile или DatabaseFileGroup.
  • OnlinePage. Страница данных восстанавливается в сети, чтобы база данных оставалась доступной для пользователей.
  • OnlineFiles. Файлы данных восстанавливаются в сети, чтобы база данных оставалась доступной для пользователей. Необходимо указать параметр DatabaseFile или DatabaseFileGroup.
  • Журнал. Журнал трансляций восстанавливается.
Тип:RestoreActionType
Допустимые значения:Database, Files, OnlinePage, OnlineFiles, Log
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-RestrictedUser

Указывает, что доступ к восстановленной базе данных ограничен ролью фиксированной базы данных db_owner, а также предопределенных ролей сервера dbcreator и sysadmin.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Script

Указывает, что этот командлет выводит скрипт Transact-SQL, выполняющий операцию восстановления.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ServerInstance

Указывает имя экземпляра SQL Server. Этот экземпляр сервера становится целевым объектом операции восстановления.

Тип:String[]
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-SqlCredential

Указывает объект учетных данных SQL Server, в котором хранятся сведения о проверке подлинности. При резервном копировании в службу хранилища BLOB-объектов необходимо указать этот параметр. Данные проверки подлинности, хранящиеся, включают имя учетной записи хранения и связанные значения ключей доступа. Не указывайте этот параметр для диска или ленты.

Тип:PSObject
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-StandbyFile

Указывает имя файла отмены, который используется в рамках стратегии создания образов для экземпляра SQL Server.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-StopAtMarkAfterDate

Указывает дату, используемую с именем метки, указанной параметром StopAtMarkName, чтобы определить точку остановки операции восстановления.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-StopAtMarkName

Указывает помеченную транзакцию, с которой остановить операцию восстановления. Это используется с StopAtMarkAfterDate для определения точки остановки операции восстановления. Восстановленные данные включают транзакцию, содержащую метку. Если значение stopAtMarkAfterDate не задано, восстановление останавливается на первой отметке с указанным именем.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-StopBeforeMarkAfterDate

Указывает дату использования с StopBeforeMarkName для определения точки остановки операции восстановления.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-StopBeforeMarkName

Указывает помеченную транзакцию, перед которой следует остановить операцию восстановления. Это используется с StopBeforeMarkAfterDate для определения точки остановки операции восстановления.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ToPointInTime

Указывает конечную точку для восстановления журнала базы данных. Это применяется только в том случае, если restoreAction имеет значение Log.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-TrustServerCertificate

Указывает, будет ли канал зашифрован при обходе цепочки сертификатов для проверки доверия.

В версии 22 модуля по умолчанию используется $true (для совместимости с версией 21). В версии 23+ модуля значение по умолчанию будет иметь значение "$false", которое может создать критическое изменение для существующих скриптов.

Этот параметр является новым в версии 22 модуля.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-UnloadTapeAfter

Указывает, что ленточное устройство перезагружается и выгружается после завершения операции. Если не задано, попытка перемотки и выгрузки ленточного носителя не выполняется. Это не относится к резервным копиям дисков.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-WhatIf

Показывает, что произойдет, если командлет выполняется. Командлет не выполняется.

Тип:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

Входные данные

Microsoft.SqlServer.Management.Smo.Database

Microsoft.SqlServer.Management.Smo.Server[]

Указывает SMO. Серверный объект, описывающий экземпляр SQL Server, на котором выполняется операция восстановления.

System.String[]