shrink log和查询数据库 backup,restore,shrink 进度 和 还原历史 的sql (for sqlserver)re

42 篇文章 0 订阅
DBCC SHRINKFILE (N'DNName_Log' , 11, TRUNCATEONLY) --shrink log don't forget "use dbname"


SELECT DB_NAME(er.[database_id]) [DatabaseName],er.[session_id] AS [SessionID],er.[command] AS [CommandType],est.[text] [StatementText],er.[status] AS [Status],CONVERT(DECIMAL(5, 2), er.[percent_complete]) AS [Complete_Percent],CONVERT(DECIMAL(38, 2), er.[total_elapsed_time] / 60000.00) AS [ElapsedTime_m],CONVERT(DECIMAL(38, 2), er.[estimated_completion_time] / 60000.00) AS [EstimatedCompletionTime_m],er.[last_wait_type] [LastWait],er.[wait_resource] [CurrentWait]FROM sys.dm_exec_requests AS er INNER JOIN sys.dm_exec_sessions AS es ON er.[session_id] = es.[session_id]CROSS APPLY sys.dm_exec_sql_text(er.[sql_handle]) estWHERE er.[command] = 'BACKUP DATABASE'

cross apply 可以 join 一个表值函数的返回结果,可以参见:http://database.51cto.com/art/201108/283359.htm

sys.dm_exec_sql_text可以根据一个sql session的句柄返回语句

另外如果要获得还原一个数据库的进度,可以把'BACKUP DATABASE'改成'Restore Database', 附一个简单版本,但是看不到被操作的数据库名字

SELECT 
DB_NAME(er.[database_id]) [DatabaseName],
er.[command] AS [CommandType],
er.[percent_complete],
CONVERT(DECIMAL(5, 2), er.[percent_complete]) AS [Complete_Percent]
,CONVERT(DECIMAL(38, 2), er.[total_elapsed_time] / 60000.00) AS [ElapsedTime_m]
,CONVERT(DECIMAL(38, 2), er.[estimated_completion_time] / 60000.00) AS [EstimatedCompletionTime_m]

FROM sys.dm_exec_requests AS er 

WHERE er.[command] = 'restore DATABASE'


查询数据库还原的历史:

select * from msdb..restorehistory 
order by restore_date desc


再补充一个查询shrink进度的sql语句:

SELECT 
	percent_complete, 
	start_time, 
	status, 
	command, 
	estimated_completion_time, 
	cpu_time, 
	total_elapsed_time
FROM 
	sys.dm_exec_requests
WHERE
	command = 'DbccFilesCompact'

2015.7.20:

发现一个很有用的sp, 可以看table的各种属性, 比如是不是有column被当作外键引用

sp_help 'tablename'

2015.8.25:

recovery就是还原最后一个备份,退出restoring状态.

replace就是覆盖现有数据库

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱知菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值