其实还有一个更好的sql脚本因为我的没记录而找不到了。
而在SqlServer 2012中sp_dboption存储过程默认不再使用了 但是可以改用alert解决这个问题。
首先要备份好你的mdf文件 以防万一(这句是废话)
然后进入SqlServer新建一个数据库 比如叫 7kb-huifu吧 简单明了。
然后打开SqlServer管理器 停止SqlServer服务
进入7kb-huifu数据库目录 删除7kb-huifu.mdf 把你要恢复的单mdf文件 复制到此目录 命名为 7kb-huifu.mdf
打开SqlServer管理器 启动SqlServer服务
这个时候其实你的数据库依然是打不开的
下面进入Master数据库 新建查询 执行一段sql脚本
ALTER DATABASE [7kb-huifu] SET EMERGENCY; ALTER DATABASE [7kb-huifu] SET SINGLE_USER; ALTER DATABASE [7kb-huifu] REBUILD LOG ON (NAME=dbname_log, FILENAME='G:\7kb-huifu_log.ldf'); DBCC CHECKDB([7kb-huifu] , REPAIR_ALLOW_DATA_LOSS); ALTER DATABASE [7kb-huifu] SET MULTI_USER; ALTER DATABASE [7kb-huifu] SET ONLINE;
这个时候右键点击数据库-刷新 你的单mdf就已经恢复好了