Sql Server 2008 数据库附加失败提示9004错误解决办法
附加数据库 对于 服务器“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错误解决办法的更多相关文章
- SQL Server 2008 R2评估期已过的解决办法
SQL Server 2008 R2评估期已过的解决办法 发现问题 北美产品测试服每日随机任务没有刷新 每日随机任务是使用数据库作业定期执行操作,重置玩家随机任务项 排查问题 www.2cto. ...
- 安装SQL Server 2008,一直要求重启电脑的解决办法
1.运行注册表,cmd->regedit 2.然后找到 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager 在 ...
- SQL Server 2008R2数据库文件导入到SQL Server 2008数据库中
最近,电脑重装系统之后,安装了SQL Server 2008.附加数据库文件的时候,发现无法附加,提示版本不对.想起来,原来的数据库版本是SQL Server 2008R2.低版本的数据库管理工具无法 ...
- Eclipse连接SQL Server 2008数据库 以及问题总结
Eclipse中使用SQL server 2008数据库 一.准备材料 要能够使用数据库就要有相应的JDBC,所以我们要去Microsoft官网下载 https://www.microsoft.com ...
- 如何转换SQL Server 2008数据库到SQL Server 2005
背景介绍: 公司一套系统使用的是SQL SERVER 2008数据库,突然一天收到邮件,需要将这套系统部署到各个不同地方(海外)的工厂,需要在各个工厂部署该数据库,等我将准备工作做好,整理文档 ...
- 通过SQL Server 2008数据库复制实现数据库同步备份
SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份.这里的同步备份指的是备份服务器与主服务器进行 实时数据同步,正常情况下只使用主 ...
- SQL Server 2008 数据库镜像部署实例之二 配置镜像,实施手动故障转移
SQL Server 2008 数据库镜像部署实例之二 配置镜像,实施手动故障转移 上一篇文章已经为配置镜像数据库做好了准备,接下来就要进入真正的配置阶段 一.在镜像数据库服务器上设置安全性并启动数据 ...
- SQL server 2008数据库的备份与还原、分离(转)
SQL server 2008数据库的备份与还原.分离(转) 一.SQL数据库的备份: 1.依次打开 开始菜单 → 程序 → Microsoft SQL Server 2008 → SQL Ser ...
- php连接sql server 2008数据库
原文:php连接sql server 2008数据库 关于php连接sql server 2008的问题,2000的版本可以直接通过php中的配置文件修改,2005以上的版本就不行了,需要使用微软公司 ...
随机推荐
- Deep learning:四十五(maxout简单理解)
maxout出现在ICML2013上,作者Goodfellow将maxout和dropout结合后,号称在MNIST, CIFAR-10, CIFAR-100, SVHN这4个数据上都取得了start ...
- td中绝对定位div的垂直居中问题
一.需求 典型的注册页面设计一般是一个三列多行的表格,左列为表单项label,中列为文本框,右列为填写说明和验证提示.如下图 因为整个表单的视觉重心在左中两列,所以在考虑表单整体相对页面水平居中和注册 ...
- 【知识积累】BufferedImage类实现图片的切分
一.引言 如何实现图片分割?若有园友用到这个模块,使用Java的BufferedImage类来实现,图片切分也可以作为一个小工具积累起来,以备不时之需. 二.代码清单 package com.lees ...
- sqlserver 存储过程中使用临时表到底会不会导致重编译
曾经在网络上看到过一种说法,SqlServer的存储过程中使用临时表,会导致重编译,以至于执行计划无法重用, 运行时候会导致重编译的这么一个说法,自己私底下去做测试的时候,根据profile的跟踪结果 ...
- 索引深入浅出(3/10):聚集索引的B树结构
在SQL Server里,有2种表是以存储为基础的.有聚集索引的表叫聚集表,没有聚集索引的表叫堆表.在上一篇文章,我们讨论了堆表的特性和存储结构.在这篇文章里,我们来看下聚集表. 有聚集索引的表叫聚集 ...
- Node.js系列基础学习-----回调函数,异步
Node.js基础学习 Node.js回调函数 Node.js异步编程的直接体现就是回调,异步编程依托回调来实现,但不是异步.回调函数在完成任务后就会被调用,Node有很多的回调函数,其所有的API都 ...
- 模拟checkbox的最优最简方法
<label> <input type="/> <span class="iconfont"></span> </l ...
- C# DllImport用法和路径问题
DllImport是System.Runtime.InteropServices命名空间下的一个属性类,其功能是提供从非托管DLL导出的函数的必要调用信息. DllImport属性应用于方法,要 ...
- 为什么很多APP要有启动页面
我们启动APP时,一般都会是一张含有LOGO的图片.这张图片叫做启动页面. 这个启动页面是必须.一定需要的吗?有什么作用? 这是苹果官方对于iOS启动页的设计说明: 为了增强应用程序启动时的用 ...
- js Date 时间格式化的扩展
js Date 时间格式化的扩展: Date.prototype.format = function (fmt) { var o = { , //月 "d+": this.getD ...