附加数据库 对于 服务器“WSS_Content”失败。  (Microsoft.SqlServer.Smo)
执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)
处理数据库 'WSS_Content' 的日志时出错。如果可能,请从备份还原。如果没有可用备份,可能需要重新生成日志。

无法打开新数据库 'WSS_Content'。CREATE DATABASE 中止。 (Microsoft SQL Server,错误: 9004)

出错的原因:

数据库文件存在异常状况,有可能是因为硬盘有坏区引起的

解决办法:

假设数据库名称为:WSS_Content

请按顺序执行以下步骤:

1、将数据库的文件名:WSS_Content.mdf改名为WSS_Content_1.mdf;

2、新建数据库:WSS_Content;

3、关闭SQL SERVER服务;

4、删除WSS_Content.mdb,并将WSS_Content_1.mdf改名为WSS_Content.mdf;

5、启动SQL SERVER服务;

6、执行以下代码:

alter database WSS_Content set EMERGENCY
Go alter database WSS_Content set single_user with rollback IMMEDIATE
Go use master
Go alter database WSS_Content Rebuild Log on (name = WSS_Content_log, filename = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\WSS_Content_log.ldf') alTER database WSS_Content set Multi_USER

如果出现以下提示说已存在日志文件的话,找到日志文件WSS_Content_log.ldf并删除,然后重新执行第6步

消息 5025,级别 16,状态 1,第 2 行 文件 C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\WSS_Content_log.ldf' 已存在。应该重命名或删除它,以便可以创建新的日志文件。 消息 5028,级别 16,状态 2,第 2 行 系统无法激活足够的数据库来重建日志。

7、执行以下代码:

ALTER database WSS_Content set single_user with rollback IMMEDIATE
Go dbcc checkdb(WSS_Content, REPAIR_ALLOW_DATA_LOSS)
dbcc checkdb(WSS_Content, REPAIR_REBUILD) alter database WSS_Content set Multi_USER

执行过程中可能会提示出错信息等...
8、重新刷新数据库,就可以!

Sql Server 2008 数据库附加失败提示9004错误解决办法的更多相关文章

  1. SQL Server 2008 R2评估期已过的解决办法

    SQL Server 2008 R2评估期已过的解决办法   发现问题 北美产品测试服每日随机任务没有刷新 每日随机任务是使用数据库作业定期执行操作,重置玩家随机任务项 排查问题  www.2cto. ...

  2. 安装SQL Server 2008,一直要求重启电脑的解决办法

    1.运行注册表,cmd->regedit 2.然后找到 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager 在 ...

  3. SQL Server 2008R2数据库文件导入到SQL Server 2008数据库中

    最近,电脑重装系统之后,安装了SQL Server 2008.附加数据库文件的时候,发现无法附加,提示版本不对.想起来,原来的数据库版本是SQL Server 2008R2.低版本的数据库管理工具无法 ...

  4. Eclipse连接SQL Server 2008数据库 以及问题总结

    Eclipse中使用SQL server 2008数据库 一.准备材料 要能够使用数据库就要有相应的JDBC,所以我们要去Microsoft官网下载 https://www.microsoft.com ...

  5. 如何转换SQL Server 2008数据库到SQL Server 2005

        背景介绍: 公司一套系统使用的是SQL SERVER 2008数据库,突然一天收到邮件,需要将这套系统部署到各个不同地方(海外)的工厂,需要在各个工厂部署该数据库,等我将准备工作做好,整理文档 ...

  6. 通过SQL Server 2008数据库复制实现数据库同步备份

    SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份.这里的同步备份指的是备份服务器与主服务器进行 实时数据同步,正常情况下只使用主 ...

  7. SQL Server 2008 数据库镜像部署实例之二 配置镜像,实施手动故障转移

    SQL Server 2008 数据库镜像部署实例之二 配置镜像,实施手动故障转移 上一篇文章已经为配置镜像数据库做好了准备,接下来就要进入真正的配置阶段 一.在镜像数据库服务器上设置安全性并启动数据 ...

  8. SQL server 2008数据库的备份与还原、分离(转)

    SQL server 2008数据库的备份与还原.分离(转)   一.SQL数据库的备份: 1.依次打开 开始菜单 → 程序 → Microsoft SQL Server 2008 → SQL Ser ...

  9. php连接sql server 2008数据库

    原文:php连接sql server 2008数据库 关于php连接sql server 2008的问题,2000的版本可以直接通过php中的配置文件修改,2005以上的版本就不行了,需要使用微软公司 ...

随机推荐

  1. Hibernate的session一级缓存

    一级缓存是Session周期的,当session创建的时候就有,当session结束的时候,缓存被清空 当缓存存在的时候,每次查询的数据,都会放在缓存中,如果再次查询相同的数据,则不会再次查询数据库, ...

  2. ehcache报错

    jfinal2.0+tomcat7+ehcache2.6.11+Linux Linux version 2.6.18-164.el5 (mockbuild@x86-002.build.bos.redh ...

  3. list的一些使用

    list无数据判断 在一次判断中,我这样: if(list!=null){ ... } 结果发现list为空数据的时候不管用,后来发现,list只要创建实例就不会是null,但可以为empty,因此 ...

  4. 在IBM Bluemix上部署Hyperledger应用

    简介 IBM Bluemix (http://www.ibm.com/bluemix‎)是一个基于cloud的应用开发和部署平台,提供包括多种服务和运行环境的支持.对Hyperledger应用开发者而 ...

  5. UTF-8 BOM头

    BOM是什么 Unicode的学名是"Universal Multiple-Octet Coded Character Set",简称为UCS.UCS可以看作是"Unic ...

  6. mysql常用函数参考

    mysql常用函数参考   对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str) 返回字符串str的最左面字符的ASCII代码值.如果str是空字符串,返回0.如果str是NULL, ...

  7. 别误用IsDigit与IsNumber函数(转)

    1.起因 最近发现程序中有一段控制TextBox数字输入的代码,相信大家都不会太陌生,如下: void int_KeyPress(object sender, KeyPressEventArgs e) ...

  8. Android使用SAX解析XML(2)

    school类包含了一个major列表,可以增加该列表的元素,以及返回该列表,还实现了Parcelable.Creator接口. package com.hzhi.my_sax; import jav ...

  9. 【Java每日一题】20161014

    20161013问题解析请点击今日问题下方的"[Java每日一题]20161014"查看 package Oct2016; import java.util.Arrays; imp ...

  10. PHP程序员7小时学会Kotlin 第二小时

    Kotlin中,一切皆对象:PHP则并非一切皆对象,甚至不需要对象的存在即可完成系统功能开发,我们现在可以接触到的旧的系统都可以说明这一点. 基本数据类型 数值型 类型 位长 双精度浮点型Double ...