Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Script PowerShell de sauvegarde à froid de vos bases système master, msdb, model d'une instance SQL Server
- # Source : https://www.dsfc.net/bdd/mssql/sauvegarde-a-froid-bases-systemes-sql-server-powershell/
- Clear-Host
- # Importation des modules SQL Server
- Import-Module SQLPS
- Import-Module SQLServer
- # Destination de la sauvegarde
- $dest='e:\sauve'
- # Requêtes pour disposer de la liste des chemins complets des bases système
- $SQL='
- SELECT physical_name FROM master.sys.database_files
- UNION
- SELECT physical_name FROM msdb.sys.database_files
- UNION
- SELECT physical_name FROM model.sys.database_files
- ';
- $Tempdb='
- SELECT physical_name FROM tempdb.sys.database_files
- ';
- # Exécution des requêtes
- Invoke-Sqlcmd -ServerInstance 'PAULINE' -Query $Tempdb|export-csv -Path "$dest\tempdb.csv"
- $rows=Invoke-Sqlcmd -ServerInstance 'PAULINE' -Query $SQL
- # Arrêt des services Agent et Instance SQL Server
- Stop-Service -Name SQLSERVERAGENT -Force
- Stop-Service -Name MSSQLSERVER -Force
- # Sauvegarde des chemins des fichiers des bases système
- $rows|export-csv -Path "$dest\bdsys.csv"
- # Copie des fichiers à froid
- foreach($row in $rows)
- {
- $src=$row.physical_name
- copy-item -Path "$src" -destination "$dest" -Force
- }
- # Redémarrage des services arrêtés ci-dessus
- Start-Service -Name MSSQLSERVER
- Start-Service -Name SQLSERVERAGENT
Advertisement
Add Comment
Please, Sign In to add comment