IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'MyDatabase')
DECLARE @backupdate varchar(255);
DECLARE @result int
DECLARE @dbid uniqueidentifier
SET @dbid = NEWID()
EXEC @result = xp_cmdshell 'cd D:/SQLServerBackups';
IF (@result = 1)
EXEC xp_cmdshell 'MKDIR D:/SQLServerBackups';
set @backupdate = 'D:/SQLServerBackups/'
+ cast(Year(getdate()) as char(4))
+ '-'+cast(Month(getdate()) as char(2))
+ '-'+cast(Day(getdate()) as char(2))
+ '-'+ cast(@dbid as varchar(50))
+ '-MyDatabase.bak';
BACKUP DATABASE MyDatabase
TO DISK = @backupdate WITH FORMAT;
--Drop database MyDatabase;
GO
--备份MyDatabase数据库
--用在制作安装程序调用的SQL文件里,也可以以存储过程方式实现。