1. 相应的存储过程
- -- =============================================
- -- Author: <Hank>
- -- Create date: <2016-12-04>
- -- Description: <backup database>
- -- =============================================
- CREATE PROCEDURE [dbo].[Proc_backupDB]
- @dbname NVARCHAR(30), @path NVARCHAR(100), @isCompact BIT -- 1 为压缩模式,0 正常备份
- AS BEGIN
- SET NOCOUNT ON;
- --DECLARE @dbname NVARCHAR(30)
- --DECLARE @path NVARCHAR(100)
- --SELECT @dbname='barcode', @path='E:\database backup'
- EXEC dbo.Proc_cleanLog @dbname=@dbname; -- nvarchar(100)
- DECLARE @sql NVARCHAR(800);
- IF @isCompact=1
- SET @sql=N'BACKUP DATABASE '+@dbname+N' TO disk = '''+@path+N'\'+@dbname+CONVERT(VARCHAR(10), GETDATE(), 121)
- +N'.bak'''+N' with STATS = 1,compression';
- ELSE
- SET @sql=N'BACKUP DATABASE '+@dbname+N' TO disk = '''+@path+N'\'+@dbname+CONVERT(VARCHAR(10), GETDATE(), 121)
- +N'.bak'''+N' WITH FORMAT, NAME = ''Full Backup of '+@dbname+N'''';
- EXEC(@sql);
- END;
- GO
2. 在一个Sql Server中,只要有一个数据库有这个存储过程,即可备份任意数据库。运行时存储过程只要带着该数据库的库名。示例如下:
- EXEC standard..Proc_backupDB @dbname=N'BestAMD' -- 数据库standard中有存储过程 Proc_backupDB
- , @path=N'D:\40_dbBackup' -- nvarchar(100)
- , @isCompact= 0 -- bit
生成的数据库备份文件如下:
3. Versions:
2022-12-06
URL:backupDB.htm