数据库mdf文件损坏的处理方法
损坏情况一:
sqlserver出在文件xx.mdf中、偏移量为xxx 的位置执行 读取 期间,操作系统已经向 SQL Server 返回了错误 23(数据错误(循环冗余检查),请执行完整的数据库一致性检查(DBCC CHECKDB)
--1、用户模式设为单用户 sp_dboption 'dbname', 'single user', 'true' --或者--ALTER DATABASE dbname SET SINGLE_USER 2、运行DBCC CHECKDB或DBCC CHECKTABLE DBCC CHECKDB(dbname,REPAIR_ALLOW_DATA_LOSS)--数据会损坏 --或者DBCC CHECKDB(ydgl,REPAIR_REBUILD)--数据会损坏 --如果知道是哪个表出的问题,可能用下面的 use dbname DBCC CHECKTABLE(spgjdetail,REPAIR_ALLOW_DATA_LOSS) use dbname DBCC CHECKTABLE(spgjdetail,REPAIR_REBUILD) --3、将用户模式设为多用户 sp_dboption 'dbname', 'single user', 'false' --或者ALTER DATABASE dbname SET MULTI_USER
数据库MDF文件变得异常大
1、可能是数据库的自增以百分之几千的大小
如果禁止windows身份验证的方式登录
1、在“安全性”——》“登录名”——》选择自己windows身份验证的登录名(可能和自己的电脑名和账户有点出入)——》属性——》状态——》(选择“拒绝”和“禁止”)
如果比较和同步两个数据库的结构
1、方法一
用vs2008或是vs2012的数据库比较功能
区分好SQLSERVER服务器名和计算机名
在安装sqlserver时,服务器名默认为计算机名,在连接里用的是计算机名来连接到远程的数据库上,而在数据库的一些高级功能,如发布和订阅,用的是服务器名。修改数据库的服务器名的方法如下:
sp_dropserver 'HP'
sp_addserver 'HP2008','local'
查看当前的服务器名为:select @@servername