首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于备份sql数据库的Windows批处理文件

用于备份sql数据库的Windows批处理文件
EN

Stack Overflow用户
提问于 2015-01-24 06:26:21
回答 1查看 9.2K关注 0票数 1

我使用这个批处理文件备份我的sql server中的所有数据库,除了那些随sql server附带的数据库,

代码语言:javascript
运行
复制
@ECHO OFF
SETLOCAL

REM Get date in format YYYY-MM-DD (assumes the locale is the United States)
FOR /F “tokens=1,2,3,4 delims=/ ” %%A IN (‘Date /T’) DO SET NowDate=%%D-%%B-%%C

REM Build a list of databases to backup
SET DBList=%SystemDrive%SQLDBList.txt
SqlCmd -E -S MY-PC\SQLEXPRESS -h-1 -W -Q “SET NoCount ON; SELECT Name FROM master.dbo.sysDatabases WHERE [Name] NOT IN (‘master’,’model’,’msdb’,’tempdb’)” > “%DBList%”

REM Backup each database, prepending the date to the filename
FOR /F “tokens=*” %%I IN (%DBList%) DO (
ECHO Backing up database: %%I
SqlCmd -E -S MY-PC\SQLEXPRESS -Q “BACKUP DATABASE [%%I] TO Disk=’D:\SQLdata\Backup\%NowDate%_%%I.bak'”
ECHO.
)

REM Clean up the temp file
IF EXIST “%DBList%” DEL /F /Q “%DBList%”

ENDLOCAL

我通过使用查询- SELECT @@SERVERNAME来获得服务器名,以防万一,路径完全相同。

我已经使用管理员权限手动并通过windows任务调度程序运行它,但是我不会在指定的文件夹中获得任何备份。我不知道我在这里做什么不对。我对这些东西很陌生,如果有人知道,请指点我,谢谢。

EN

回答 1

Stack Overflow用户

发布于 2015-01-24 20:59:36

您可以从https://ola.hallengren.com/获得备份脚本,以备份SQL db上的数据库。mark_s提到使用,我同意这使得管理SQL对我来说更容易。

如果选择使用Ola Hallengren的脚本,则基本上运行从主页下载的安装脚本。然后查看'DatabaseBackup‘页面(从主页链接)。大约在页面的一半是一个例子列表,应该清除如何使用查询。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28122965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档