J'ai déjà posé mon problème et je vais le refaire plus clairement car je crois qu'au début ce n'etait pas le cas.
J'ai un serveur Windows 2003 Server surlequel j'ai installé SQL Server Express Edition. J'ai 2 partitions sur le serveur : c: pour le système et d: pour les données. J'ai à exécuter 2 script, le 1er fait un backup d'une base destination puis restore ce backup dans une base source. :
declare @f sysname
set @f=N'D:\Validation\BackUpDbSql\Theriaque_Src.bak'
BACKUP DATABASE [THERIAQUE_DEST]
TO DISK = @f
RESTORE DATABASE [THERIAQUE_SRC]
FROM DISK = @f
WITH FILE = 1,
MOVE 'THERIAQUE13' TO N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\THERIAQUE_SRC.mdf' ,
MOVE 'THERIAQUE13_Log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\THERIAQUE_SRC_log.ldf',
NOUNLOAD,
REPLACE
Le second, restore un backup depuis un emplacement bien déterminé vers la base destination : declare @f sysname
set @f=N'C:\SFMG\ValidateTh\BackUpDbSql\theriaque_dst.bak'
RESTORE DATABASE [THERIAQUE_DEST]
FROM DISK = @f
WITH FILE = 1,
MOVE 'THERIAQUE13' TO N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\THERIAQUE_DEST.mdf' ,
MOVE 'THERIAQUE13_Log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\THERIAQUE_DEST_log.ldf',
NOUNLOAD,
REPLACE
En local, ces 2 script fonctionnement trés bien. Mais lorsque je l'ai exéute sur le serveur et précisément sur le lecteur d:, j'ai toujours une erreur :
SQL Server can't access to file 'D:\Validation\BackUpDbSql\Theriaque_Src.bak', 5 Acces refusé par le système d'exploitation.
D'aprés ce que j'ai constaté et les remarques que me sont parvenues, le problème se situe soit en sql server qui peut être possède un paramètre qui indique les lecteurs à utiliser pour les backup et restauration, soit au niveau Windows qui n'autorise pas l'accés, mais a quel niveau ? et ou se situe l'attribution de droits pour SQL Server ?.
Est ce que quelqu'un a une idée sur problème et comment y remédier. Merci en avance pour votre aide qui me sera trés précieuse.
Partager