🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
``` --方法一:直接附加,产生新的日志文件 USE [master] GO CREATE DATABASE [AdventureWorks2014] ON (FILENAME = N'D:\database\2014\AdventureWorks2014_Data.mdf') FOR ATTACH_REBUILD_LOG GO /* 文件激活失败。物理文件名称'D:\database\2014\AdventureWorks2014_Log.ldf'可能不正确。 新的日志文件 'D:\database\2014\AdventureWorks2014_log.ldf' 已创建。 */ --方法二:创建同名新库,停服务后用原mdf覆盖,再开启服务后用 DBCC 修复 --2.1 --注:这个语句是原库上右键生成的 CREATE DATABASE [AdventureWorks2014] CONTAINMENT = NONE ON PRIMARY ( NAME = N'AdventureWorks2014_Data', FILENAME = N'D:\database\2014\AdventureWorks2014_Data.mdf' , SIZE = 996608KB , MAXSIZE = UNLIMITED, FILEGROWTH = 16384KB ) LOG ON ( NAME = N'AdventureWorks2014_Log', FILENAME = N'D:\database\2014\AdventureWorks2014_Log.ldf' , SIZE = 504KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10%) GO --2.2 停服务,覆盖mdf文件,开启服务 --图形界面显示:AdventureWorks2014(恢复挂起) USE [master] GO alter database [AdventureWorks2014] set EMERGENCY alter database [AdventureWorks2014] set single_user DBCC CHECKDB(AdventureWorks2014,REPAIR_ALLOW_DATA_LOSS) dbcc checkdb(AdventureWorks2014,REPAIR_REBUILD) alter database [AdventureWorks2014] set multi_user GO /* 注:必须先 set EMERGENCY, 否则单用户设置不了, 会提示错误: 消息 5173,级别 16,状态 1,第 27 行 一个或多个文件与数据库的主文件不匹配。如果是尝试附加数据库,请使用正确的文件重试该操作。如果这是现有数据库,则文件可能已损坏,应该从备份进行还原。 */ ```