SQL数据库备份

4

我可以在sql server developer edition中备份数据库吗?

我正在运行以下代码:

backup database Test_db to disk = d:\DailyBackUp

这段代码可以成功运行,但是文件夹DailyBackUp仍然是空的。


1
SQL Server 是否在您的本地计算机上运行?如果不是:备份将会被创建在服务器计算机的文件系统上,而不是您的本地磁盘。 - marc_s
2个回答

2

您需要指定备份的名称。

backup database Test_db to disk = d:\DailyBackUp\BackupFileName.Bak

消息 3201,级别 16,状态 1,行 1 无法打开备份设备 'd:\DailyBackUp\BackupFileName.Bak'。操作系统错误 3(系统找不到指定的路径)。 消息 3013,级别 16,状态 1,行 1 备份数据库异常终止。 - michelle
看起来像是一个安全问题:请确保在该文件夹上,“Network Service”账户已获得“写入”权限。如果您仍然遇到错误,可能是SQL无法在您的分区上进行写入。为了测试这是否是问题,请尝试在C盘上备份。 - Massimiliano Peluso
@Peluso,我已经尝试在C盘中运行,但仍然出现相同的错误。请帮忙。 - michelle
1
请确保在您的SQL Server机器上也存在文件夹d:\DailyBackUp\。 - Massimiliano Peluso
@Peluso 如何检查网络服务。请简要说明。 - michelle
右键单击d:\ DailyBackUp文件夹->属性->安全性,单击编辑并将完全控制权赋予用户“Network Service”。这也可能有所帮助:http://stackoverflow.com/questions/6557490/why-cant-i-backup-database-using-t-sql - Massimiliano Peluso

1

看看我的解决方案。 创建两个文件 1/ BackupScript.sql

DECLARE @MyBackupName nvarchar(250)

SET @MyBackupName = 'C:\Projects\ABC\DB Backup\YouDBFileName_' + convert( varchar(10), getdate(), 112 ) + '.BAK'

BACKUP DATABASE [YouDBFileName] TO DISK = @MyBackupName WITH
NOFORMAT, NOINIT, NAME = N'DatabaseName-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10

2/ AutoBackup.bat

PATH = "C:\Program Files\Microsoft SQL Server\90\Tools\Binn\" SQLCMD.EXE -S . -E -i "C:\Projects\ABC\DB Backup\BackupScript.sql"

如果需要,更改您的参数 现在,您可以运行 AutoBackup.bat,它会自动创建数据库备份,例如“YouDBFileName_20120325.bak”


您可以创建一个计划(开始菜单->附件->系统工具->任务计划程序),以进行每日备份。 - culithay

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接