lk1986
圣骑士
圣骑士
  • UID64
  • 发帖数86
  • QQ15151515
  • 社区居民
  • 原创写手
阅读:2558回复:6

如何自动定时备份数据库

楼主#
更多 发布于:2019-03-05 09:45
步骤1:
创建用于执行备份的存储过程:


USE [master]
GO  
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].[sp_BackupDatabase]  
       @databaseName sysname, @backupType CHAR(1)
AS
BEGIN
       SET NOCOUNT ON;

       DECLARE @sqlCommand NVARCHAR(1000)
       DECLARE @dateTime NVARCHAR(20)

       SELECT @dateTime = REPLACE(CONVERT(VARCHAR, GETDATE(),111),'/','') +
       REPLACE(CONVERT(VARCHAR, GETDATE(),108),':','')  

       IF @backupType = 'F'
               SET @sqlCommand = 'BACKUP DATABASE ' + @databaseName +
               ' TO DISK = ''C:\Backup\' + @databaseName + '_Full_' + @dateTime + '.BAK'''
        
       IF @backupType = 'D'
               SET @sqlCommand = 'BACKUP DATABASE ' + @databaseName +
               ' TO DISK = ''C:\Backup\' + @databaseName + '_Diff_' + @dateTime + '.BAK'' WITH DIFFERENTIAL'
        
       IF @backupType = 'L'
               SET @sqlCommand = 'BACKUP LOG ' + @databaseName +
               ' TO DISK = ''C:\Backup\' + @databaseName + '_Log_' + @dateTime + '.TRN'''
        
       EXECUTE sp_executesql @sqlCommand
END

您可以更改“C:\Backup\”到“你的目录”,您希望将备份存储在。
步骤2:
运行在你的SQL语句在Management Studio管理工具中。(打开的你的Management Studio库管工具,直接运行,无需再选择数据库运行了。)
步骤3:
建立你的备份脚本并保存为backup.sql。
你可以复制的行和编辑数据库名称:


 sp_BackupDatabase 'Account_DBF', 'F'
GO
sp_BackupDatabase 'Character_DBF', 'F'
GO
sp_BackupDatabase 'Logging_DBF', 'F'
GO
sp_BackupDatabase 'Ranking_DBF', 'F'
GO

步骤4:
现在的的难点。
你需要创建一个计划任务。
预定任务必须运行以下命令:


 sqlcmd -S SQLINSTANCE -E -i PathToYourBackupSQL










例如





 

 

 sqlcmd -S .\FLYFF -E -i C:\Things\Backup.sql








步骤5:
为您的预定任务创建一个触发器,并将其配置为在特定时间内的
步骤6:
确保在“创建任务”窗口的主选项卡中设置“以最高权限运行”。
喜欢1 评分0

最新喜欢:

q8726306q87263...
游客

返回顶部