首页 > 开发 > 综合 > 正文

sqlserver数据库备份与还原语句

2024-07-21 02:52:00
字体:
来源:转载
供稿:网友
--创建备份设备USE [master]GOEXEC master.dbo.sp_addumpdevice @devtype = N'disk', @logicalname = N'beifen', @physicalname = N'D:/beifen.bak'GO--完整备份到备份设备中BACKUP DATABASE [student] TO [beifen] WITH NOFORMAT, NOINIT, NAME = N'student-完整 数据库 备份', SKip, NOREWIND, NOUNLOAD, STATS = 10GO--还原完整备份RESTORE DATABASE [student] FROM [beifen] WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 10GO--差异备份BACKUP DATABASE [student] TO [beifen] WITH DIFFERENTIAL , NOFORMAT, NOINIT, NAME = N'student-差异 数据库 备份', SKIP, NOREWIND, NOUNLOAD, STATS = 10GO--事务日志备份BACKUP LOG [student] TO [beifen] WITH NOFORMAT, NOINIT, NAME = N'student-事务日志 备份', SKIP, NOREWIND, NOUNLOAD, STATS = 10GO--还原到最近状态RESTORE DATABASE [student] FROM [beifen] WITH FILE = 1, NORECOVERY, NOUNLOAD, STATS = 10GORESTORE DATABASE [student] FROM [beifen] WITH FILE = 2, NORECOVERY, NOUNLOAD, STATS = 10GORESTORE LOG [student] FROM [beifen] WITH FILE = 3, NOUNLOAD, STATS = 10

GO

====================================================================================================================================

备份:BACKUP DATABASE "mydb" TO DISK ='C:/mybak.db' with init还原use masterRESTORE DATABASE "mydb" FROM DISK='C:/mybak.db';use mydb[补充]这两个命令都得指定一个文件名字啊。你看我的例子都是'C:/mybak.db。你指定了一个目录肯定不行的啊,还得要指定一个文件名字才成。这两个是sqlserver的自定义的存储过程,其实也能手工在sqlserver的企业管理器中看到,, 选中库,右键--所有任务--备份还原数据库那。
============================================================================
首先简单的介绍一下Sql server 备份的类型有:1:完整备份(所有的数据文件和部分的事务日志文件)2:差异备份(最后一次完成备份后数据库改变的部分)3:文件和文件组备份(对指定的文件和文件组备份)4:事物日志备份(所有数据库的变更)5:尾日期备份(日志的活动部分,指上一次为备份的日志部分)6:部分备份(主文件组、每个可读可写文件组和指定的只读文件组)7:仅复制备份(数据库或者日志的备份,不影响整体备份)SQL code?
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114--------------------完整备份默认追加到现有的文件---------------backup database NorthWind To disk='d:/backup/NorthWindCS-Full-2010-11-23.bak' --------完整备份,覆盖现有的文件Backup database NorthWindTo disk='d:/backup/NorthWindCS-Full-2010-11-23.bak'With init---覆盖现有文件代码 --------差异备份(上次一完整备份以来改变的数据页)backup database NorthWindTo Disk='d:/backup/NorthWindCS-Full-2010-11-23.bak' -----事物日志备份,会自动截断日志(默认会阶段日志)backup log NorthWindTo Disk='d:/backup/NorthWindCS-log-2010-11-23' -----事物日志备份,不截断日志(默认会阶段日志)backup log NorthWindTo Disk='d:/backup/NorthWindCS-log-2010-11-23'With No_Truncate -----不备份直接阶段日志,在SQL SERVER2008中不再支持。backup log NorthWind With No_Logbackup log NorthWind With Tuancate_only -----SQL SERVER 2008 替代的截断日志方法alter database NorthWind set Recovery Simpleexec sp_helpdb NorthWInduse NorthWind dbcc shrinkfile('NorthWind_log')alter database NorthWind set Recovery Full ----超大型数据库的文件和文件组备份Exec sp_helpdb NorthWindbackup database NorthWind File='NorthWind_Current'to disk='h:/backup/NorthwindCS_Full_2010031.bak'backup database NorthWind FileGroup='Current'to disk='h:/backup/NorthwindCS_FG_2010031.bak' ---仅复制备份,不影响现有的备份序列backup database NorthWindTo disk='h:/backup/NorthwindCS_Full_2010031.bak'With Copy_only  --尾部日志备份,备份完成后数据库不再提供访问use mastergobackup log NorthWindto disk='h:/backup/Northwind-taillog-20101031.bak'With NoRecovery --回复数据库提供访问Restore databse NorthWind with Recovery --分割备份到多个目标文件backup database NorthWind to disk='h:/backup/Northwind-part1.bak',disk='h:/backup/NorthwindCS-part2.bak' --镜像备份,需要加入With Formatbackup database NorthWindto disk='h:/backup/NorthwindCS-Mirror1.bak'Mirror to disk='h:/backup/NorthwindCS-Mirror2.bak'----Mirror镜像With Format  --备份到远程服务器--使用SQL SERVER 的服务启动账号访问远程共享可写文件夹backup database Northwindto disk='//192.168.3.20/backup/nw-yourname.bak' --备份到远程服务器,指定访问远程服务器的账号和密码Exec sp_configureExec Sp_COnfigure 'show advanced options',1Reconfigure with OverridExec sp_configure 'xp_cmdshell',1Reconfigure with override  Exec xp_cmdshell'net use //192.168.10.101' /user:administrator passWord' backup database Northwind to disk='//192.168.10.101/backup/nw-fy.bak' Exec sp_configure 'xp_cmdshell',0Reconfigure with override  ----------------------------------------备份压缩--------------------------------------Backup Database AdventureWorksTo disk='h:/backup/adv不压缩备份.bak'--132MB  花费 7.789 秒(16.877 MB/秒)。 --备份到NTFS目录Backup Database AdventureWorksTo disk='H:/backup/test/advNTFS压缩备份.bak'--60MB     花费 11.871 秒(11.073 MB/秒)。 Backup Database AdventureWorksTo disk='h:/backup/adv压缩备份.bak'With ComPRession--132MB  花费 7.789 秒(16.877 MB/秒)。--34MB    花费 3.775 秒(34.820 MB/秒)。 --启动默认备份压缩EXEC sp_configure 'backup compression default', '1'RECONFIGURE WITH OVERRIDEGO


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表