我想问一下有关SQL Server 2008 Express Editition可用的自动备份方法。我在其他服务器上尝试了复制方法,但Express Edition无法使用该方法。请帮助,我搜索了很多解决方案,但未找到任何结果。多谢
终于我找到了一种解决方案..非常简单实用。
创建以下文件:“ SQL_StoredProcedure.sql”
USE MyDBName
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
create PROCEDURE [dbo].[mysp_BackupDb]
@dbName sysname, @backupTypeToRun 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),':','')
DECLARE @databaseFileName NVARCHAR(200)
SET @databaseFileName = replace(@dbName,']','')
SET @databaseFileName = replace(@databaseFileName,'[','')
IF @backupTypeToRun = 'F'
SET @sqlCommand = 'BACKUP DATABASE ' + @dbName +
' TO DISK = ''D:\DBBackup\DBs\' + @databaseFileName + '_Full_' + @dateTime + '.BAK'''
IF @backupTypeToRun = 'D'
SET @sqlCommand = 'BACKUP DATABASE ' + @dbName +
' TO DISK = ''D:\DBBackup\DBs\' + @databaseFileName + '_Diff_' + @dateTime + '.BAK'' WITH DIFFERENTIAL'
IF @backupTypeToRun = 'L'
SET @sqlCommand = 'BACKUP LOG ' + @dbName +
' TO DISK = ''D:\DBBackup\DBs\' + @databaseFileName + '_Log_' + @dateTime + '.TRN'''
EXECUTE sp_executesql @sqlCommand
END
创建以下文件:“ BackupScript.sql”
Use master
Exec mysp_BackupDbMaster 'MyDBName', 'F';
Go
现在您拥有了一切。只需在Windows Task Scheduler中创建一个任务,在Task本身-> Actions-> Start Program-> Edit中,使用以下输入:
程序/脚本: C:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLCMD.EXE
添加论题: -S MyServer\MySQlInstant -E -i D:\DBBackup\BackupScript.sql
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句