我想问一下SQL Server 2008 Express Editition的可用自动备份方法。 我在其他服务器上尝试过Replication方法,但Express Edition不提供。 请帮助,我搜索了很多解决方案,但没有找到。 非常感谢
答案 0 :(得分:0)
最后我找到了一个解决方案......非常简单实用。
创建以下文件:“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任务计划程序中创建一个任务即可 在任务本身 - >行动 - >开始计划 - >编辑,使用以下输入:
程序/脚本: C:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLCMD.EXE
添加arguemtns: -S MyServer\MySQlInstant -E -i D:\DBBackup\BackupScript.sql