|
1 | 1 | function New-PdcDatabaseImage { |
2 | | - <# |
| 2 | +<# |
3 | 3 | .SYNOPSIS |
4 | 4 | New-PdcDatabaseImage creates a new image |
5 | 5 |
|
@@ -60,12 +60,12 @@ function New-PdcDatabaseImage { |
60 | 60 | .NOTES |
61 | 61 | Author: Sander Stad (@sqlstad, sqlstad.nl) |
62 | 62 |
|
63 | | - Website: https://easyclone.io |
| 63 | + Website: https://psdatabaseclone.io |
64 | 64 | Copyright: (C) Sander Stad, sander@sqlstad.nl |
65 | 65 | License: MIT https://opensource.org/licenses/MIT |
66 | 66 |
|
67 | 67 | .LINK |
68 | | - https://easyclone.io/ |
| 68 | + https://psdatabaseclone.io/ |
69 | 69 |
|
70 | 70 | .EXAMPLE |
71 | 71 | New-PdcDatabaseImage -SourceSqlInstance SQLDB1 -DestinationSqlInstance SQLDB2 -ImageLocalPath C:\Temp\images\ -Database DB1 -CreateFullBackup |
@@ -118,19 +118,18 @@ function New-PdcDatabaseImage { |
118 | 118 |
|
119 | 119 | begin { |
120 | 120 |
|
121 | | - # Get the configurations for the program database |
122 | | - $ecDatabaseName = Get-PSFConfigValue -FullName psdatabaseclone.database.name -Fallback "NotConfigured" |
123 | | - $ecDatabaseServer = Get-PSFConfigValue -FullName psdatabaseclone.database.Server -Fallback "NotConfigured" |
124 | | - |
125 | 121 | # Test the module database setup |
126 | | - try{ |
127 | | - Test-PdcDatabaseSetup -SqlInstance $ecDatabaseServer -SqlCredential $SqlCredential -Database $ecDatabaseName |
128 | | - } |
129 | | - catch{ |
130 | | - Stop-PSFFunction -Message "Something went wrong testing the module configuration" -ErrorRecord $_ -Target $SourceSqlInstance |
| 122 | + $result = Test-PdcConfiguration |
| 123 | + |
| 124 | + if(-not $result.Check){ |
| 125 | + Stop-PSFFunction -Message $result.Message -Target $result -Continue |
131 | 126 | return |
132 | 127 | } |
133 | 128 |
|
| 129 | + $pdcSqlInstance = Get-PSFConfigValue -FullName psdatabaseclone.database.Server |
| 130 | + $pdcDatabase = Get-PSFConfigValue -FullName psdatabaseclone.database.name |
| 131 | + |
| 132 | + |
134 | 133 | Write-PSFMessage -Message "Started image creation" -Level Output |
135 | 134 |
|
136 | 135 | # Try connecting to the instance |
@@ -265,7 +264,7 @@ function New-PdcDatabaseImage { |
265 | 264 | try { |
266 | 265 | Write-PSFMessage -Message "Initializing the vhd $imageName.vhd" -Level Verbose |
267 | 266 |
|
268 | | - $diskResult = Initialize-PdcVhdDisk -Path $vhdDisk.Path -Credential $DestinationCredential |
| 267 | + $diskResult = Initialize-PdcVhdDisk -Path $vhdPath -Credential $DestinationCredential |
269 | 268 | } |
270 | 269 | catch { |
271 | 270 | Stop-PSFFunction -Message "Couldn't initialize vhd $vhdPath" -Target $imageName -ErrorRecord $_ -Continue |
@@ -321,7 +320,7 @@ function New-PdcDatabaseImage { |
321 | 320 | } |
322 | 321 |
|
323 | 322 | # Setup the temporary database name |
324 | | - $tempDbName = "$($db.Name)-EasyClone" |
| 323 | + $tempDbName = "$($db.Name)-PSDatabaseClone" |
325 | 324 |
|
326 | 325 | # Restore database to image folder |
327 | 326 | try { |
@@ -375,9 +374,11 @@ function New-PdcDatabaseImage { |
375 | 374 | @DatabaseTimestamp = '$databaseTS' -- datetime |
376 | 375 | " |
377 | 376 |
|
| 377 | + Write-PSFMessage -Message "Query New Image`n$query" -Level Debug |
| 378 | + |
378 | 379 | Write-PSFMessage -Message "Saving image information in database" -Level Verbose |
379 | 380 |
|
380 | | - Invoke-DbaSqlQuery -SqlInstance $ecDatabaseServer -Database $ecDatabaseName -Query $query |
| 381 | + Invoke-DbaSqlQuery -SqlInstance $pdcSqlInstance -Database $pdcDatabase -Query $query |
381 | 382 |
|
382 | 383 | } |
383 | 384 | catch { |
|
0 commit comments