使用Tsql,我怎么知道DBCC checkdb最后在SQL服务器上运行的时间(2000,2005或2008)?
问候
我们通过在SQL Server数据库中使用完全恢复模式获得了一个巨大的LDF文件.所以我们计划缩小日志文件.
使用DBCC SHRINKFILE减少数据库日志文件大小(LDF)是否有任何性能损失?
那么将它应用于数据文件(MDF)呢?
我试图缩小我的日志文件DBCC SHRINKFILE(db_2.ldf),这是日志文件的名称
它每次都给我错误:
8985,级别16,状态1,行1无法在sys.database_files中找到数据库db的文件'FIelD'.该文件不存在或被删除.
你能否建议我该怎么做才能解决它.
我有死锁图,其中这三个字段的DB ID,文件ID,页面ID提到了锁定的资源.还有一些相关的目标.我想知道的是这个页面属于哪个表.我试过DBCC PAGE(dbid, fileid, pageid) with tableresults但是没有显示任何表名.
知道如何获得这个吗?
更新:还试过SELECT name From sys.indexes WHERE object_id = 123 and Index_id = 456
这里123是m_objid(下一个ObjectId),456是m_indexid(下一个IndexId)我得到的DBCC Page命令输出.我得到的只是NULL.
是否可以运行:DBCC CHECKDB在SQL Server 2005数据库中的特定表上?
我有以下语法:
DBCC CHECKDB
[
[ ( database_name | database_id | 0
[ , NOINDEX
| , { REPAIR_ALLOW_DATA_LOSS | REPAIR_FAST | REPAIR_REBUILD } ]
) ]
[ WITH
{
[ ALL_ERRORMSGS ]
[ , EXTENDED_LOGICAL_CHECKS ]
[ , NO_INFOMSGS ]
[ , TABLOCK ]
[ , ESTIMATEONLY ]
[ , { PHYSICAL_ONLY | DATA_PURITY } ]
}
]
]
Run Code Online (Sandbox Code Playgroud)
但一直得到不正确的语法.我只是想运行它来查看它引发的错误?你能帮我写一下这个语法吗?我想删除所有修复选项.
在我的sql server 2012遇到一些问题后,我只能使用DBCC CHECKDB(xxx,REPAIR_ALLOW_DATA_LOSS)修复数据不一致.选项的名称暗示,修复数据库时(可能)会丢失数据.
什么是丢失的数据以及损失的危害程度如何?
例如,看一下这条日志消息:
页面(1:705),插槽0,文本ID 328867287793664的行外数据节点未被引用.
如果未引用该节点并且它是此节点,则会导致不一致,请将其删除.这不应该伤害任何人.这是MS正在谈论的那种数据丢失吗?
此致,Sascha
我的表有一个id,它既是表的标识,也是表的主键.什么时候运行
Use devdb
Select * from tablename order by did desc
Run Code Online (Sandbox Code Playgroud)
工作,我看到了数据.当我运行以下内容时,我会在列表中看到该表
Use devdb
SELECT * FROM information_schema.tables order by TABLE_NAME
Run Code Online (Sandbox Code Playgroud)
但当我运行这个:
Use devdb;
DBCC CHECKIDENT ('<TableName>.<ColumnName>', RESEED, 100000);
Run Code Online (Sandbox Code Playgroud)
我明白了
Msg 2501, Level 16, State 45, Line 2
Cannot find a table or object with the name "<tablename>.<columnname>". Check the system catalog.
Run Code Online (Sandbox Code Playgroud)
谁知道为什么?
我正在尝试使用DBCC查看表格上的页面信息.我跑的时候
DBCC page (master, 1, 1, 0)
GO
Run Code Online (Sandbox Code Playgroud)
我明白了
DBCC执行完成.如果DBCC打印出错误消息,请与系统管理员联系.
在SSMS的消息窗口中.
我没有看到DBCC的输出.我必须通过一些旗帜吗?