SQL Server 2008R2,右键tempdb数据库出现报错:属性Size不可用于数据库"[tempdb]"。该对象可能没有此属性,也可能是访问权限不足而无法检索。(Microsoft.SqlServer.Smo)
先查
通过命令查看tempdb的数据文件和日志文件
select name,physical_name from sys.master_files where database_id=db_id('tempdb')
查看文件大小
看tempdb log的使用率
dbcc sqlperf(logspace)
tempdb的log已经使用率达到96%+了
此时可以尝试收缩一下日志,先看日志状态
SELECT name,log_reuse_wait_desc FROM sys.databases where name='tempdb'
日志状态是ACTIVE_TRANSACTION,是无法收缩的。
查看那个会话占用日志
DBCC OPENTRAN
GO
SELECT *
FROM sys.dm_exec_sessions AS t2 ,
sys.dm_exec_connections AS t1
CROSS APPLY sys.dm_exec_sql_text(t1.most_recent_sql_handle) AS st
WHERE t1.session_id = t2.session_id
AND t1.session_id > 50
进程2016。
查看进程2016会话信息
select p.*,s.text
from master.dbo.sysprocesses p
cross apply sys.dm_exec_sql_text(p.sql_handle) s
where spid = 2016
咨询研发,该会话是否能kill,能kill的话,直接杀除会话
kill 2016
再次查询log状态
SELECT name,log_reuse_wait_desc FROM sys.databases where name='tempdb'
已经变成NOTHING了,此时可以开始收缩。文章来源:https://www.toymoban.com/news/detail-514550.html
收缩日志的步骤此处略过,收缩完成后,右键属性显示正常。
文章来源地址https://www.toymoban.com/news/detail-514550.html
到了这里,关于属性Size不可用于数据库“[tempdb]“。该对象可能没有此属性,也可能是访问权限不足而无法检索。(Microsoft.SqlServer.Smo)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!