胡德号战列巡洋舰残骸:MS SQL Server备份与恢复实例 - ?Ronli笔记 - 博客园

来源:百度文库 编辑:九乡新闻网 时间:2024/04/28 21:54:28

--完整备份
Backup Database NorthwindCS
To disk='G:\Backup\NorthwindCS_Full_20070908.bak'

--差异备份
Backup Database NorthwindCS
To disk='G:\Backup\NorthwindCS_Diff_20070908.bak'
With Differential

--日志备份,默认截断日志
Backup Log NorthwindCS
To disk='G:\Backup\NorthwindCS_Log_20070908.bak'

--日志备份,不截断日志
Backup Log NorthwindCS
To disk='G:\Backup\NorthwindCS_Log_20070908.bak'
With No_Truncate

--截断日志不保留
Backup Log NorthwindCS
With No_Log

--或者
Backup Log NorthwindCS
With Truncate_Only
--截断之后日志文件不会变小
--有必要可以进行收缩

--文件备份
Exec Sp_Helpdb NorthwindCS --查看数据文件
Backup Database NorthwindCS
File='NorthwindCS'   --数据文件的逻辑名
To disk='G:\Backup\NorthwindCS_File_20070908.bak'

--文件组备份
Exec Sp_Helpdb NorthwindCS --查看数据文件
Backup Database NorthwindCS
FileGroup='Primary'   --数据文件的逻辑名
To disk='G:\Backup\NorthwindCS_FileGroup_20070908.bak'
With init

--分割备份到多个目标
--恢复的时候不允许丢失任何一个目标
Backup Database NorthwindCS
To disk='G:\Backup\NorthwindCS_Full_1.bak'
     ,disk='G:\Backup\NorthwindCS_Full_2.bak'

--镜像备份
--每个目标都是相同的
Backup Database NorthwindCS
To disk='G:\Backup\NorthwindCS_Mirror_1.bak'
Mirror
To disk='G:\Backup\NorthwindCS_Mirror_2.bak'
With Format --第一次做镜像备份的时候格式化目标

--镜像备份到本地和远程
Backup Database NorthwindCS
To disk='G:\Backup\NorthwindCS_Mirror_1.bak'
Mirror
To disk='\\192.168.1.200\Backup\NorthwindCS_Mirror_2.bak'
With Format

--每天生成一个备份文件
Declare @Path Nvarchar(2000)
Set @Path ='G:\Backup\NorthwindCS_Full_'
+Convert(Nvarchar,Getdate(),112)+'.bak'

Backup Database NorthwindCS
To      disk=@Path


--从NoRecovery或者
--Standby模式恢复数据库为可用
Restore Database NorthwindCS_Bak
With Recovery

--查看目标备份中的备份集
Restore HeaderOnly
From Disk ='G:\Backup\NorthwindCS_Full_20070908.bak'

--查看目标备份的第一个备份集的信息
Restore FileListOnly
From Disk ='G:\Backup\NorthwindCS_Full_20070908_2.bak'
With File=1

--查看目标备份的卷标
Restore LabelOnly
From Disk ='G:\Backup\NorthwindCS_Full_20070908_2.bak'

--备份设置密码保护备份
Backup Database NorthwindCS
To disk='G:\Backup\NorthwindCS_Full_20070908.bak'
With Password = '123',init

Restore Database NorthwindCS
From disk='G:\Backup\NorthwindCS_Full_20070908.bak'
With Password = '123'


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

sql 2000

一、指定逻辑备份设备
    backup databse accounting
    to accounting_bak
二、或指定物理备份设备
    backup database accouning
    to disk='d:\backup\accouning\full.bak'
三、执行无日志操作后的命令
    backup log with truncate_only
    writetext
    或
    backup log with NO_log
    updatetext
    select  ... into....
四、设置数据库的还原模型
   1、完全模型
    alter database northwind
    set recovery full
   2、简单模型
    alter database norhtwind
    set recovery simple
   3、大容量日志记录bulk_logged模型
    alter database northwind
    set recovery bulk_logged
五、添加备份设备
   sp_addumpdevice 'disk','NWdevice','d:\backup\mydevice.bak'
六、删除一个备份设备
   sp_dropdevice 'nwdevice','delfile'
   /*如果加上delfile就是直接把文件也删除掉*/
七、差异备份的语法
   backup database northwind
   to nwdevice with differential
八、事务日志备份
   backup log company to NWdevice with   no_truncate(不清空原有日志)
九、文件和文件组备份及还原
   backup database commpany
   filegroup='primary' to NWdevice
   文件组的名称是"primary"
十、数据恢复(从硬盘恢复)
   restore database company from 
   disk='d:\backup\company.bak'
   还可继续在后面加参数:
   with nonrecovery recovery replace
   注:                
   (1)recovery:最后一次一次恢复时使用    
   (2)replace:是否替换己有文件



MS SQL Server备份与恢复实例

备份与恢复
1. 备份策略
2. 操作系统级备份:
让数据库脱机
USE master
GO
ALTER DATABASE [MySQLServer]
    SET OFFLINE
GO

让数据库联机
USE master
GO
ALTER DATABASE [MySQLServer]
    SET ONLINE
GO

3. 数据库全备份
BACKUP DATABASE [MySQLServer]
  TO  DISK = N'c:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLBackupMySQLServer.bak'
  WITH  DESCRIPTION = N'2008-03-11',
  NOFORMAT, INIT,  
  NAME = N'MySQLServer-Full Database Backup',
  SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO
declare @backupSetId as int
select @backupSetId = position
  from msdb..backupset
  where database_name=N'MySQLServer'
    and backup_set_id=
      (select max(backup_set_id) from msdb..backupset where database_name=N'MySQLServer' )

if @backupSetId is null
begin
  raiserror(N'Verify failed. Backup information for database ''MySQLServer'' not found.', 16, 1)
end

RESTORE VERIFYONLY
  FROM  DISK = N'c:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLBackupMySQLServer.bak'
  WITH  FILE = @backupSetId,  NOUNLOAD,  NOREWIND
GO

4. 数据库增量备份

BACKUP DATABASE [MySQLServer]
  TO  DISK = N'c:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLBackupMySQLServer.bak'
  WITH  DIFFERENTIAL , NOFORMAT, NOINIT,  
  NAME = N'MySQLServer-Differential Database Backup',
  SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO

declare @backupSetId as int
select @backupSetId = position from msdb..backupset where database_name=N'MySQLServer' and backup_set_id=(select max(backup_set_id) from msdb..backupset where database_name=N'MySQLServer' )
if @backupSetId is null begin raiserror(N'Verify failed. Backup information for database ''MySQLServer'' not found.', 16, 1) end
RESTORE VERIFYONLY FROM  DISK = N'c:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLBackupMySQLServer.bak' WITH  FILE = @backupSetId,  NOUNLOAD,  NOREWIND
GO

5. 事务日志备份

BACKUP LOG [MySQLServer]
  TO  DISK = N'c:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLBackupMySQLServer.bak'
  WITH NOFORMAT, NOINIT,  NAME = N'MySQLServer-Transaction Log  Backup',
  SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO

6. 数据库恢复:
RESTORE DATABASE [MySQLServer]
  FROM  DISK = N'c:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLBackupMySQLServer.bak'
  WITH  FILE = 6,  NOUNLOAD,  STATS = 10
GO

RESTORE DATABASE [MySQLServer]
  FROM  DISK = N'c:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLBackupMySQLServer.bak'
  WITH  RESTRICTED_USER,  FILE = 6,  
    MOVE N'MySQLServer_PRI01' TO N'E:MySQL_PRI01.mdf',  
    MOVE N'MySQLServer_log' TO N'E:MySQL2_Log.ldf',  
    MOVE N'MySQLServer_SEC01' TO N'E:MySQL2_SEC01.ndf',  
    MOVE N'MySQLServer_SEC02' TO N'E:MySQL2_SEC02.ndf',  
  KEEP_REPLICATION,  NOUNLOAD,  REPLACE,  STATS = 10
GO

7. 分离与附加
例:数据库分离:
USE [master]
GO
EXEC master.dbo.sp_detach_db @dbname = N'MySQLServer', @keepfulltextindexfile=N'true'
GO

例:数据库附加:
CREATE DATABASE MySQLServer2
ON ( FILENAME = 'C:Program FilesMicrosoft SQL ServerMSSQLDataMySQLServer2.MDF' )
FOR ATTACH
GO

见:http://space.itpub.net/7705285/viewspace-417559