Bonjour,

J'ai une base de données en production qui utilise le FileStream et qui a un volume de plus de 50Go. Lorsque je développe ou débogue, j'utilise une copie locale mais là, elle commence à être un peu trop volumineuse.
Je désire donc faire un BACKUP / RESTORE sans tous les fichiers du FileStream.

J'ai utilisé la commande suivante pour faire le BACKUP :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
BACKUP DATABASE DatabaseName 
	FILEGROUP = 'PRIMARY'
	TO  DISK = 'DatabaseName.bak'
	WITH INIT
 
BACKUP LOG DatabaseName
	TO DISK = 'DatabaseName.trn'
	WITH COMPRESSION, NOFORMAT, NOINIT,  SKIP, REWIND, NOUNLOAD,STATS = 10
La commande semble avoir fonctionnée... Si je vérifie mon fichier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
RESTORE FILELISTONLY   DISK = 'DatabaseName.bak'
...les 3 entités y sont : DatabaseName; DatabaseName_log; FileStream. (Size = 0 pour ce dernier.)

Ensuite, j'ai fait un RESTORE en utilisant la commande :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
RESTORE DATABASE DatabaseName
FROM  DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS\MSSQL\Backup\DatabaseName.bak' 
WITH 
	MOVE 'DatabaseName' TO 'C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS\MSSQL\DATA\DatabaseName.mdf',
	MOVE 'DatabaseName_Log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS\MSSQL\DATA\DatabaseName_Log.ldf',
	MOVE 'FilestreamFG_7386FBE0' TO 'C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS\MSSQL\DATA\DatabaseName_FilestreamFG_7386FBE0.mdf',
	NORECOVERY,
	FILE = 1
Résultat :
Processed 1067376 pages for database 'DatabaseName', file 'DatabaseName' on file 1.
Processed 255 pages for database 'DatabaseName', file 'DatabaseName_log' on file 1.
RESTORE DATABASE ... FILE=<name> successfully processed 1067631 pages in 37.667 seconds (221.436 MB/sec).
Ensuite, RESTORE du Log :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
RESTORE LOG DatabaseName
FROM DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS\MSSQL\Backup\DatabaseName.trn' 
WITH RECOVERY, FILE = 1
Erreur :
Msg 4320, Level 16, State 13, Line 22
The file "FilestreamFG_7386FBE0" was not fully restored by a database or file restore. The entire file must be successfully restored before applying this backup set.
Msg 3119, Level 16, State 1, Line 22
Problems were identified while planning for the RESTORE statement. Previous messages provide details.
Msg 3013, Level 16, State 1, Line 22
RESTORE LOG is terminating abnormally.

Ça fait 2 jours que je cherche mais en vain.

Merci d'avance du coup de main.


Pascal