diff --git a/AdHoc-Backup.ps1 b/AdHoc-Backup.ps1 index bc3661b..bd64b27 100644 --- a/AdHoc-Backup.ps1 +++ b/AdHoc-Backup.ps1 @@ -473,14 +473,15 @@ function Backup-SqlDatabases { # --- PRE-FLIGHT: Concedi a NT AUTHORITY\SYSTEM il permesso server-level 'BACKUP ANY DATABASE' --- try { - $sqlGrant = @' -USE master; -IF NOT EXISTS (SELECT 1 FROM sys.server_principals WHERE name = N'NT AUTHORITY\SYSTEM') - CREATE LOGIN [NT AUTHORITY\SYSTEM] FROM WINDOWS; -GRANT BACKUP ANY DATABASE TO [NT AUTHORITY\SYSTEM]; -'@ + $sqlLines = @( + 'USE master;' + "IF NOT EXISTS (SELECT 1 FROM sys.server_principals WHERE name = N'NT AUTHORITY\\SYSTEM')" + ' CREATE LOGIN [NT AUTHORITY\SYSTEM] FROM WINDOWS;' + "GRANT BACKUP ANY DATABASE TO [NT AUTHORITY\\SYSTEM];" + ) + $sqlGrant = [string]::Join("`r`n", $sqlLines) $tmpGrant = Join-Path $Paths.SqlStage "grant_SYSTEM_server.sql" - $sqlGrant | Out-File -LiteralPath $tmpGrant -Encoding ASCII -Force + Set-Content -LiteralPath $tmpGrant -Value $sqlGrant -Encoding ASCII $grantArgs = Build-SqlcmdArgs -WindowsAuth:$SqlUseWindowsAuth -User $SqlUser -Password $SqlPassword -Instance $SqlInstance -InputFile $tmpGrant Log-SqlcmdArgsSafe -Args $grantArgs