Bonjour,

j'essaie de sauvegarder les bases de données hébergées par un serveur SQL Server 2008 (SP3) vers un espace de stockage situé sur un serveur Windows 2012 distant.

J'ai récupéré des scripts sur différents sites et j'ai finalement ce script:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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 = '\\serveurdistant\backupdir'  
 
 
-- specify filename format
SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112) 
 
 
-- delete backups older than 6 days
EXEC xp_cmdshell 'FORFILES /p 'N:' /s /m *.bak /d -6 /c "CMD /C del /Q /F @FILE"'
 
DECLARE db_cursor CURSOR FOR  
SELECT name 
FROM master.dbo.sysdatabases 
WHERE name NOT IN ('model','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'  
       PRINT 'BACKUP DATABASE @name TO DISK = [' + @filename + ']'  
 
 
       FETCH NEXT FROM db_cursor INTO @name   
END   
 
 
CLOSE db_cursor   
DEALLOCATE db_cursor




( Au départ j'avais des problèmes de droits d'accès au répertoire distant que j'ai réglé en mettant l'administrateur du domaine pour le lancement de SQL Server.
Puis avec le @filename que j'ai remplacé par [' + @filename + ']'... Ça marche mais je ne comprends rien à cette syntaxe... )
J'utilise maintenant N: au lieu du nom UNC car FORFILES me rendait une erreur comme quoi il ne gère pas les chemins UNC.
J'ai un problème du même genre maintenant et j'obtiens ce message d'erreur:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Syntaxe incorrecte vers ' /s /m *.bak /d -6 /c "CMD /C del /Q /F @FILE"'


J'enlève, j'ajoute des ', des ", des [ etc. mais rien n'y fait... Merci pour votre aide!