我通过命令提示符运行我的数据库的每日备份:
c:\sqlcmd -H localhost -Q "BACKUP DATABASE test TO DISK='c:\test.bak'"
Run Code Online (Sandbox Code Playgroud)
但是新的备份替换了以前的备份。请告诉我要更改什么,以便所有备份都存储在磁盘上。
我建议您不要编写自己的备份解决方案,而是查看Ola Hallengren 的SQL Server 维护解决方案。
如果你想使用 sqlcmd 那么你可以做如下:
将以下文件另存为backup.sql
DECLARE
@DatabaseName sysname = N'test_kin'
,@DatabaseBackupFileName varchar(255);
SET @DatabaseBackupFileName =
'C:\test\' + @DatabaseName
+ REPLACE(CONVERT(char(8), GETDATE(), 103), '/', '_') + '.bak';
BACKUP DATABASE @DatabaseName
TO DISK = @DatabaseBackupFileName with init, stats =10;
Run Code Online (Sandbox Code Playgroud)
然后使用 sqlcmd 您可以执行以下操作:
sqlcmd -S ServerName\InstanceName -i C:\YourScriptDir\Backup.sql
Run Code Online (Sandbox Code Playgroud)
小智 2
至少有几个选择
test.bak
具有唯一的名称。有很多方法可以做到这一点,我通常将日期嵌入到文件名中(格式为 yyyy-mm-dd,例如昨天为 2013-06-05),以确保文件名的字母顺序与时间顺序相同。 归档时间: |
|
查看次数: |
1609 次 |
最近记录: |