位置: 编程技术 - 正文
昨天我只是将数据库附加到SQL,然后各个数据库都做了收缩事务日志的操作
兼容级别这些都没有改
再附加回SQL的时候就报错
在SQL里附加,确实是级别,但是在SQL死活附加不上
备份数据库再还原也是一样
重建事务日志也是一样
然后我做了一个实验,检查一下附加到SQL的数据库和附加到SQL的数据库,两个数据库的文件头有什么不同
注意:两个数据库的兼容级别都是,附加到SQL之后我也没有动过兼容级别!!
我们用同一个数据库,分别附加到SQL上和SQL上,看一下附加之后数据库的文件头有没有改变
这个数据库的兼容级别是的
附加到SQL之后,我也不改变他的兼容级别
查看文件头的SQL语句如下,实际上就是数据库的第0页:在SQL里和SQL里都执行一下
将结果复制粘贴到一个新建的记事本里,命名好
SQL文件头
可以用Beyond Compare这个软件比较一下两者的文件头的差异
Beyond Compare这个软件会把两个txt文件中的相同点用蓝色标记出来,不同点用红色标记出来
当附加到SQL之后,数据库的文件头已经走样了,就算你没有动过兼容级别,这也是造成曾经附加到SQL的数据库
再也附加不上SQL上的原因
可以看到SQL的数据库记录的信息比SQL详细多了,多了很多内容
也可以用下面的SQL语句看文件头的内容,不过信息比较少
1 DBCC fileheader('DLGPOS')
总结
上面的实验证明了,当你将一个SQL的数据库附加到SQL上的时候,SQL马上改变数据库的文件头
就算你不动数据库兼容级别,实际上数据库的信息已经改变了(这里指文件头信息)
所以你死活附加不回去SQL了
以后不要轻易附加数据库到SQL上,不然的话。。。。。。
补充一下
推荐整理分享附加到SQL2012的数据库就不能再附加到低于SQL2012的数据库版本的解决方法(sql2012附加数据库方法),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:sql2008附加2012数据库,sql附加5123,sql2008附加,sql2016如何附加数据库,sqlserver2012附加数据库,sql2012如何附加数据库,sql2012如何附加数据库,sql2012如何附加数据库,内容如对您有帮助,希望把文章链接给更多的朋友!
sql查看所有表大小的方法 declare@idintdeclare@typecharacter(2)declare@pagesintdeclare@dbnamesysnamedeclare@dbsizedec(,0)declare@bytesperpagedec(,0)declare@pagesperMBdec(,0)createtable#spt_space([objid]intnull,[rows]intn
bak文件怎么打开 w数据怎么打开? 首先这个bak文件是SQL数据库的备份文件,要使用SQL恢复然后就可以查询了找到需要的文件注意解压出来有7GB+1、下载SQLserverexpress(带管理器)2、安装上
二种sql分页查询语句分享 根据题意理解:本质就是写分页查询:每页条数:条;当前页码:4页;//第一种:select*from(selectROW_NUMBER()over(orderbyIdasc)asnum,*fromUserInfo)asuwhereu.numbetween
标签: sql2012附加数据库方法
本文链接地址:https://www.jiuchutong.com/biancheng/320401.html 转载请保留说明!上一篇:php使用pdo连接sqlserver示例分享(php怎么连接sqlserver)
友情链接: 武汉网站建设