• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

使用DBCC CHECKPRIMARYFILE 查询Detach数据库信息

mysql 搞代码 4年前 (2022-01-09) 28次浏览 已收录 0个评论

在论坛碰到有人问到无法Attach数据来2源gaodaima#com搞(代@码&网库的问题,错误信息为:Msg5171,Level16,State1,Line2path\\allen_log.ldfisnotaprimarydatabasefile.很明显这个错误表示Attch

在论坛碰到有人问到无法Attach数据库的问题,错误信息为:

很明显这个错误表示Attch数据库选择的文件不是主数据库文件,但是看附加的数据文件确实是MDF结尾的。问用户是否有多个MDF文件,用户说是,但是他确定选择的文件肯定是主数据文件,不会有错。他认为数据库文件是损坏了,我很确信这个错误是因为选择的主数据文件不对。

Profiler Trace抓了一下,网站空间,看到后台执行下面的语句:

declare @command nvarchar(300)

valuesql_variantNULL)

insert #smoPrimaryFileProp exec(@command)

里边使用了‘dbcc checkprimaryfile,美国服务器,从网上查了一下这个DBCC命令可以查询Detach的数据库主数据文件信息,有四个选项可以使用:

0)

GO

1)

GO

2)

GO

3)

结果如下:

0表示文件是不是MDF文件

1最详细可以查询数据库文件大小增长文件ID

2显示数据库名称,内部版本号已经排序规则

31的缩减版结果

使用DBCC checkprimaryfile查询刚才附件的文件就报了上面的错误,所以确信这个MDF文件错误了,使用其他文件就可以正确附加。

其实解决这个问题没必要这么麻烦,几个MDF文件试一次就可以了。但是知道了这个命令,香港虚拟主机,以后想查询Detach数据库信息了,就非常容易了。

另外有一个好的命名习惯是很重要的,不要将所有的辅助文件也命名为MDF,应该为NDF或者自己制定规则。

本文出自 “关注SQL Server技术” 博客,请务必保留此出处


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:使用DBCC CHECKPRIMARYFILE 查询Detach数据库信息

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址