Mssql express edition 2008 dump

De BlaxWiki
Révision datée du 21 juin 2013 à 12:36 par 217.174.199.129 (discussion) (Page créée avec « Ce script permet de backuper des bases mssql sous Mssql Express edition, sans avoir besoin de lui spécifier les bases. Il va lister toutes les bases et en exclure certain... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigationAller à la recherche

Ce script permet de backuper des bases mssql sous Mssql Express edition, sans avoir besoin de lui spécifier les bases. Il va lister toutes les bases et en exclure certaine (ici on exclut 'master','model','msdb','tempdb')


  • Commance à lancer : C:\agarik>"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLCMD.EXE" -S (local)\VIM_SQLEXP -i C:\Test\SQLExpressBackups.sql -o C:\test\output.txt
  • Fichier C:\Test\SQLExpressBackups.sql
DECLARE @name VARCHAR(50) -- database name  
DECLARE @path VARCHAR(256) -- path for backup files  
DECLARE @fileName VARCHAR(256) -- filename for backup  
DECLARE @fileDate VARCHAR(20) -- used for file name

 
-- specify database backup directory
SET @path = 'C:\Backup\'  

 
-- specify filename format
SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112) 

 
DECLARE db_cursor CURSOR FOR  
SELECT name 
FROM master.dbo.sysdatabases 
WHERE name NOT IN ('master','model','msdb','tempdb')  -- exclude these databases

 
OPEN db_cursor   
FETCH NEXT FROM db_cursor INTO @name   

 
WHILE @@FETCH_STATUS = 0   
BEGIN   
       SET @fileName = @path + @name + '_' + @fileDate + '.BAK'  
       BACKUP DATABASE @name TO DISK = @fileName  

 
       FETCH NEXT FROM db_cursor INTO @name   
END   

 
CLOSE db_cursor   
DEALLOCATE db_cursor