Skip to content

Commit d723cab

Browse files
committed
Remove obsolete parameters and tests for simple file relocation in Restore-SqlDscDatabase
1 parent a596eb4 commit d723cab

File tree

3 files changed

+194
-144
lines changed

3 files changed

+194
-144
lines changed

source/Public/Restore-SqlDscDatabase.ps1

Lines changed: 2 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -47,16 +47,6 @@
4747
database files during restore. Each RelocateFile object contains a
4848
LogicalFileName and PhysicalFileName property.
4949
50-
.PARAMETER DataFilePath
51-
Specifies the directory path where data files should be relocated during
52-
restore. This is a simpler alternative to RelocateFile when you want all
53-
data files in one directory. Cannot be used together with RelocateFile.
54-
55-
.PARAMETER LogFilePath
56-
Specifies the directory path where log files should be relocated during
57-
restore. This is a simpler alternative to RelocateFile when you want all
58-
log files in one directory. Cannot be used together with RelocateFile.
59-
6050
.PARAMETER Checksum
6151
Specifies that checksums should be verified during the restore operation.
6252
@@ -139,13 +129,6 @@
139129
Performs a restore sequence: full backup with NORECOVERY, differential
140130
backup with NORECOVERY, and finally a transaction log backup with RECOVERY.
141131
142-
.EXAMPLE
143-
$serverObject = Connect-SqlDscDatabaseEngine -InstanceName 'MyInstance'
144-
$serverObject | Restore-SqlDscDatabase -Name 'MyDatabase' -BackupFile 'C:\Backups\MyDatabase.bak' -DataFilePath 'D:\SQLData' -LogFilePath 'L:\SQLLogs'
145-
146-
Performs a full restore with all data files relocated to D:\SQLData and
147-
all log files relocated to L:\SQLLogs.
148-
149132
.EXAMPLE
150133
$serverObject = Connect-SqlDscDatabaseEngine -InstanceName 'MyInstance'
151134
$relocateFiles = @(
@@ -189,17 +172,14 @@ function Restore-SqlDscDatabase
189172
param
190173
(
191174
[Parameter(ParameterSetName = 'ServerObject', Mandatory = $true, ValueFromPipeline = $true)]
192-
[Parameter(ParameterSetName = 'ServerObjectSimpleRelocate', Mandatory = $true, ValueFromPipeline = $true)]
193175
[Microsoft.SqlServer.Management.Smo.Server]
194176
$ServerObject,
195177

196178
[Parameter(ParameterSetName = 'DatabaseObject', Mandatory = $true, ValueFromPipeline = $true)]
197-
[Parameter(ParameterSetName = 'DatabaseObjectSimpleRelocate', Mandatory = $true, ValueFromPipeline = $true)]
198179
[Microsoft.SqlServer.Management.Smo.Database]
199180
$DatabaseObject,
200181

201182
[Parameter(ParameterSetName = 'ServerObject', Mandatory = $true)]
202-
[Parameter(ParameterSetName = 'ServerObjectSimpleRelocate', Mandatory = $true)]
203183
[ValidateNotNullOrEmpty()]
204184
[System.String]
205185
$Name,
@@ -232,18 +212,6 @@ function Restore-SqlDscDatabase
232212
[Microsoft.SqlServer.Management.Smo.RelocateFile[]]
233213
$RelocateFile,
234214

235-
[Parameter(ParameterSetName = 'ServerObjectSimpleRelocate', Mandatory = $true)]
236-
[Parameter(ParameterSetName = 'DatabaseObjectSimpleRelocate', Mandatory = $true)]
237-
[ValidateNotNullOrEmpty()]
238-
[System.String]
239-
$DataFilePath,
240-
241-
[Parameter(ParameterSetName = 'ServerObjectSimpleRelocate', Mandatory = $true)]
242-
[Parameter(ParameterSetName = 'DatabaseObjectSimpleRelocate', Mandatory = $true)]
243-
[ValidateNotNullOrEmpty()]
244-
[System.String]
245-
$LogFilePath,
246-
247215
[Parameter()]
248216
[System.Management.Automation.SwitchParameter]
249217
$Checksum,
@@ -299,7 +267,6 @@ function Restore-SqlDscDatabase
299267
$MaxTransferSize,
300268

301269
[Parameter(ParameterSetName = 'ServerObject')]
302-
[Parameter(ParameterSetName = 'ServerObjectSimpleRelocate')]
303270
[System.Management.Automation.SwitchParameter]
304271
$Refresh,
305272

@@ -337,7 +304,7 @@ function Restore-SqlDscDatabase
337304
)
338305
}
339306

340-
if ($PSCmdlet.ParameterSetName -in @('ServerObject', 'ServerObjectSimpleRelocate'))
307+
if ($PSCmdlet.ParameterSetName -eq 'ServerObject')
341308
{
342309
if ($Refresh.IsPresent)
343310
{
@@ -472,31 +439,7 @@ function Restore-SqlDscDatabase
472439
}
473440

474441
# Handle file relocation
475-
if ($PSCmdlet.ParameterSetName -in @('ServerObjectSimpleRelocate', 'DatabaseObjectSimpleRelocate'))
476-
{
477-
# Get the file list from the backup to perform simple relocation
478-
$fileList = $restore.ReadFileList($ServerObject)
479-
480-
foreach ($row in $fileList.Rows)
481-
{
482-
$logicalName = $row['LogicalName']
483-
$fileType = $row['Type']
484-
$originalFileName = [System.IO.Path]::GetFileName($row['PhysicalName'])
485-
486-
if ($fileType -eq 'L')
487-
{
488-
$newPhysicalName = Join-Path -Path $LogFilePath -ChildPath $originalFileName
489-
}
490-
else
491-
{
492-
$newPhysicalName = Join-Path -Path $DataFilePath -ChildPath $originalFileName
493-
}
494-
495-
$relocateFileObject = New-Object -TypeName 'Microsoft.SqlServer.Management.Smo.RelocateFile' -ArgumentList $logicalName, $newPhysicalName
496-
$restore.RelocateFiles.Add($relocateFileObject)
497-
}
498-
}
499-
elseif ($PSBoundParameters.ContainsKey('RelocateFile'))
442+
if ($PSBoundParameters.ContainsKey('RelocateFile'))
500443
{
501444
foreach ($file in $RelocateFile)
502445
{

0 commit comments

Comments
 (0)