SQLServer常用的容灾操作
- Backup
-
- 造表
- 造数据
- 查询进度
- 查询最近一次备份情况
-
- 法一
- 法二
- 查询备份细节
- 查询LSN
- Restore
-
- 查询恢复模式
- 查询实例名
- 查询当地文件路径信息
- SQL SERVER查询数据库状态
- SQL SERVER修改数据库状态
Backup
备份。
造表
设置,选择 代码片
.
SELECT TOP (1000) * from TestDB.dbo.department; select max(dno) from TestDB.dbo.department create sequence SEQ_DNO as bigint start with 10110106 increment by 1; alter sequence SEQ_DNO Increment By 10110106 select * from sys.sequences t where t.name = 'SEQ_DNO'; select (next value for SEQ_DNO)
造数据
使用存储过程自动插入大量数据.
declare @ID int begin set @ID=1 while @ID<=10000 begin --需要循环执行的sql语句 INSERT INTO TestDB.dbo.department (dno, dname, loc) VALUES ((next value for SEQ_DNO), 'Sales', 'NJ'); set @ID=@ID 1 end end
查询进度
任务结束记录将消失
begin while 1=1 SELECT t.percent_complete, d.name, t.command FROM sys.dm_exec_requests AS t INNER JOIN sys.databases AS d ON t.database_id = d.database_id
where d.name = 'TestDB' and t.command in ('BACKUP DATABASE') order by t.start_time desc;
WAITFOR DELAY '00:00:01'
end
查询最近一次备份情况
法一
SELECT b.name, a.type, MAX(a.backup_finish_date) lastbackup
FROM msdb.dbo.backupset a
INNER JOIN master.dbo.sysdatabases b ON a.database_name COLLATE DATABASE_DEFAULT = b.name COLLATE DATABASE_DEFAULT
GROUP BY b.name, a.type
ORDER BY b.name, a.type;
法二
SELECT database_name,type,MAX(backup_finish_date) backup_finish_date
FROM msdb.dbo.backupset
GROUP BY database_name,type
ORDER BY database_name,type;
查询备份详细信息
比如备份集uuid、起始时间、LSN
select t.database_name,t.type,t.backup_set_id,t.backup_set_uuid,t.first_lsn,t.last_lsn,t.backup_start_date,t.backup_finish_date
from msdb.dbo.backupset t
where t.database_name = 'TestDB' and t.backup_set_id > 182 order by t.backup_set_id desc;
查询LSN
RESTORE HEADERONLY FROM DISK ='C:\admin\bak\TestDB_log.bak';
Restore
恢复
查询恢复模式
SELECT name, recovery_model_desc FROM sys.databases t where t.name = 'TestDB';
查询实例名
sqlcmd -Q "select @@servicename;"
查询本地文件路径信息
sqlcmd -Q "select physical_name, name from sys.master_files where database_id=db_id(N'TestDB') for json auto;"
SQL SERVER数据库状态查询
select name, recovery_model_desc, t.state, t.state_desc from sys.databases t where t.name = 'TestDB';
https://blog.51cto.com/u_9597987/3486263
SQL SERVER修改数据库状态
--修改数据库状态
alter database ConfirmDB set offline with rollback immediate
alter database ConfirmDB set online with rollback immediate