bloginfo

Script PowerShell de sauvegarde à froid des bases système SQL Server

Jun 9th, 2021
1,054
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #Script PowerShell de sauvegarde à froid de vos bases système master, msdb, model d'une instance SQL Server
  2. # Source : https://www.dsfc.net/bdd/mssql/sauvegarde-a-froid-bases-systemes-sql-server-powershell/
  3. Clear-Host
  4. # Importation des modules SQL Server
  5. Import-Module SQLPS
  6. Import-Module SQLServer
  7. # Destination de la sauvegarde
  8. $dest='e:\sauve'
  9. # Requêtes pour disposer de la liste des chemins complets des bases système
  10. $SQL='
  11.    SELECT physical_name FROM master.sys.database_files
  12.    UNION
  13.    SELECT physical_name FROM msdb.sys.database_files
  14.    UNION
  15.    SELECT physical_name FROM model.sys.database_files
  16. ';
  17. $Tempdb='
  18.    SELECT physical_name FROM tempdb.sys.database_files
  19. ';
  20. # Exécution des requêtes
  21. Invoke-Sqlcmd -ServerInstance 'PAULINE' -Query $Tempdb|export-csv -Path "$dest\tempdb.csv"
  22. $rows=Invoke-Sqlcmd -ServerInstance 'PAULINE' -Query $SQL
  23. # Arrêt des services Agent et Instance SQL Server
  24. Stop-Service -Name SQLSERVERAGENT -Force
  25. Stop-Service -Name MSSQLSERVER -Force
  26. # Sauvegarde des chemins des fichiers des bases système
  27. $rows|export-csv -Path "$dest\bdsys.csv"
  28. # Copie des fichiers à froid
  29. foreach($row in $rows)
  30. {
  31.     $src=$row.physical_name
  32.     copy-item -Path "$src" -destination "$dest" -Force
  33. }
  34. # Redémarrage des services arrêtés ci-dessus
  35. Start-Service -Name MSSQLSERVER
  36. Start-Service -Name SQLSERVERAGENT
Advertisement
Add Comment
Please, Sign In to add comment