Transact-SQL 示例 - 使用脚本备份数据库的示例

  在常规的数据库开发与维护的过程中,常常需要对数据库进行数据备份,最入门的办法就是使用SSMS图形化界面提供的数据库备份向导一步一步操作进行备份,这种方式虽然简单快捷但是日子久了就会觉得重复且繁琐。下面将为大家奉献一个简单易用的sql脚本备份方法,也可以稍微改进一下放到定时任务内成为数据库定时备份的功能。

  下面例子当中参数@enable_compression是sql2008企业版往上才提供的功能,它可以压缩数据库备份出来的备份文件。


declare @database_name nvarchar(100)
declare @backup_folder nvarchar(100)
declare @enable_compression bit
set @database_name = N‘YourDbName‘
set @backup_folder = N‘F:\DbBackups\‘
set @enable_compression = 1 --sql 2008 企业版以上才提供的备份文件压缩功能

declare @backup_sql nvarchar(4000)
set @backup_sql = N‘backup database [‘ + @database_name + ‘] to disk = ‘
+ N‘N‘‘‘ + @backup_folder + @database_name + N‘_full_‘
+ replace(replace(replace(convert(nvarchar(19), getdate(), 20), ‘-‘, ‘‘), ‘ ‘, ‘_‘), ‘:‘, ‘‘) + N‘.bak‘‘ with format,init‘

if @enable_compression = 1
set @backup_sql = @backup_sql + N‘,compression‘

exec dbo.sp_executesql @backup_sql

本文已结束,因内容单一固较为简短。

时间: 2024-10-28 21:44:03

Transact-SQL 示例 - 使用脚本备份数据库的示例的相关文章

SQL中利用脚本恢复数据库

SQL中利用脚本恢复数据库   编写人:CC阿爸 2014-6-15 在日常SQL数据库的操作中,如何恢复数据库 use master drop database SCS1 RESTORE DATABASE SCS1 from disk='C:\Documents and Settings\kevinzhang\桌面\eee.bak' USE master RESTORE DATABASE SCS1 from disk='C:\Documents and Settings\kevinzhang\

Sql Server R2还有备份数据库错误

错误信息描述  该数据库是运行版本10.50.1600的服务器上备份的.该版本与此服务器(运行版本10.00.1600)不兼容.请在支持该被份的服务器上还原该数据,  或者使用与此服务器兼容的备份(MicrosoftSqlServer.Smo) 错误原因  本机上两个数据库一个是sql server版本,另个就sql server r2版本.  数据备份文件应该在sql server r2版本上附加而,我的sql server r2版本登陆所用的实例是sql server版本的所以引发数据还原不

[Shell 脚本] 备份数据库文件至OSS服务(纯shell脚本无sdk)

背景: 凡事使用服务器搭建的网站就需要定时备份网站数据,常见的方法是打包网站目录,然后备份到FTP服务器上等.也有通过OSS SDK把备份的网站文件上传到OSS服务器上,但是通过SDK来实现,需要一定的技术能力,而且相对比较复杂,需要使用更多的文件,而这篇文章是通过shell脚本,并不是通过OSS SDK来上传文件,简单方便. 步骤: 1.首先需要在阿里云注册账号,开通OSS服务,创建bucket,Bucket设置为私有读写. 2.将下面的脚本文件复制下来,保存为 .sh 脚本文件(例如:bac

为服务器添加定时脚本+备份数据库

首先crontab -l 查看已有的时程表,能够展示当前的定时任务有哪些 编写脚本: #!/bin/bash HOST:127.0.0.1 User=root PW=mima DATETIME=$(date +%Y_%m_%d_%H%M%S) echo "执行日期:" + ${DATETIME} echo "开始执行清理8小时前binlog"mysql -u$User -p$PW <<EOF PURGE MASTER LOGS BEFORE DATE_S

Shell脚本备份数据库(多库)

#!/bin/bashPATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbinexport PATH#数据库用户名dbuser='root'#数据库用密码dbpasswd='password'#需要备份的数据库,多个数据库用空格分开dbname=('dbname1' 'dbname2 'dbname3' 'dbname4' 'dbname5')#备份时间backtime=`date +%Y%m%d%H%M%S`#mysql

SQL Server 定时自动备份数据库

在SQL Server中出于数据安全的考虑,所以需要定期的备份数据库,这篇文章介绍使用SQL Server 数据库代理中的作业定时自动备份数据库. 1.启动SQL Server代理服务,如下图: 绿色角标说明已启动. 2.右键“作业”,选择“新建作业”,弹出新建作业对话框,如下: 3.输入名称,所有者.类别默认不用修改,点击左侧“步骤”,在步骤面板中新建步骤,如下图: 输入步骤名(自定义)和命令. 命令代码: declare @name varchar(250) set @name='C:\My

sql server通过脚本进行数据库压缩全备份的方法

问题:生产环境的数据库可能比较大,如果直接进行全备而不压缩的话,备份集就会占用了大量磁盘空间.给备份文件的存放管理带来不便. 解决方案:通过with compression显式启用备份压缩,指定对此备份执行备份压缩,覆盖服务器级默认设置.适用于 SQL Server 2008和更高版本.因为相同数据的压缩的备份比未压缩备份小,所以压缩备份所需的设备 I/O 通常较少,因此通常可大大提高备份速度. 脚本: /* 说明:手动修改[DB名称].要备份到的[路径和文件名],再执行脚本 脚本来源:http

SQL Server分区脚本备份

--生成分区脚本DECLARE @DataBaseName NVARCHAR(50)--数据库名称DECLARE @TableName NVARCHAR(50)--表名称DECLARE @ColumnName NVARCHAR(50)--字段名称DECLARE @Location NVARCHAR(50)--保存分区文件的路径DECLARE @PStartDay DATE--分区开始时间点DECLARE @PEndDay DATE --分区截止时间点DECLARE @FGStr NVARCHAR

SQL Server 2005/2008备份数据库时提示“无法打开备份设备”

错误描述: 今天备份sqlserver 2008数据库时候,想要将备份文件放在f盘的根目录下,结果提示如下信息:备份对于服务器“服务器名”失败.(Microsoft.SqlServer.Smo)其他信息:System.Data.SqlClient.SqlError:无法打开备份设备'f:\abc.bak'.出现操作系统错误5(拒绝访问.).(Microsoft.SqlServer.Smo) 解决方法: 因为Sql Server 2005 可能存在一个小Bug,不能将备份文件放在根目录下,必须放在