Nicolas, brillant jeune certifié SQL de mon équipe, m'a fournit ce couple de
procédures pour la sauvegarde/restoration d'une base SQL Server en
Transact-SQL
USE MASTER
GO
-------------------------------------------
-- unité de sauvegarde
-------------------------------------------
IF EXISTS(SELECT 1 FROM DBO.SYSDEVICES WHERE NAME='MonUniteDeSauvegarde')
EXEC SP_DROPDEVICE 'MonUniteDeSauvegarde'
GO
EXEC master.dbo.sp_addumpdevice @devtype = N'disk', @logicalname = N'MonUniteDeSauvegarde', @physicalname = N'c:\Backup\MonUniteDeSauvegarde.bak'
GO
-------------------------------------------
-- proc de sauvegarde
-------------------------------------------
IF EXISTS (SELECT 1 FROM sysobjects
WHERE name = 'SauvegardeMaBase' AND type = 'P')
DROP PROCEDURE SauvegardeMaBase
GO
create Procedure SauvegardeMaBase
as
begin
BACKUP DATABASE [MaBase] TO [MonUniteDeSauvegarde] WITH NOFORMAT, INIT, NAME = N'Backup MaBase du '+convert(varchar, GetDate(), 103), SKIP, NOREWIND, NOUNLOAD, STATS = 10
end
GO
-------------------------------------------
-- proc de restore
-------------------------------------------
IF EXISTS (SELECT 1 FROM sysobjects
WHERE name = 'RestoreMaBase' AND type = 'P')
DROP PROCEDURE RestoreMaBase
GO
create Procedure RestoreMaBase @CheminSauvegarde varchar(200)
as
begin
RESTORE DATABASE [MaBase] FROM DISK = @CheminSauvegarde WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 10
end
go