SqlServer 2005/2008数据库被标记为“可疑”的解决办法
问题背景:
日常对Sql Server 2005关系数据库进行操作时,有时对数据库(如:Sharepoint网站配置数据库名Sharepoint_Config)进行些不正常操作如数据库在读写时而无故停止数据库,从而导致Sql Server 2005数据库不正常中断,当再次打开数据库时会发现某些数据库会被标记为“可疑”(suspect),即在数据库名旁加上了黄色的惊叹号,这时数据库就不能再被打开了,但数据库的结构及数据内容都还是存在的。
解决方法:
当数据库发生这种操作故障时,可以按如下操作步骤可解决此方法,打开数据库里的Sql 查询编辑器窗口,运行以下的命令。
1、修改数据库为紧急模式
ALTER DATABASE Sharepoint_Config SET EMERGENCY
2、使数据库变为单用户模式
ALTER DATABASE Sharepoint_Config SET SINGLE_USER
3、修复数据库日志重新生成,此命令检查的分配,结构,逻辑完整性和所有数据库中的对象错误。当您指定“REPAIR_ALLOW_DATA_LOSS”作为DBCC CHECKDB命令参数,该程序将检查和修复报告的错误。但是,这些修复可能会导致一些数据丢失。
DBCC CheckDB (Sharepoint_Config , REPAIR_ALLOW_DATA_LOSS)
4、使数据库变回为多用户模式
ALTER DATABASE Sharepoint_Config SET MULTI_USER
5、开始->运行->输入cmd->打开DOS命令窗口,输入以下命令重启数据库服务
Net stop mssqlserver --停止服务
Net start mssqlserver --启动服务
再次,打开Sql Server 2005时被标记为“可疑”的数据库已恢复正常状态。
相关推荐
-
将ACCESS数据库迁移到SQLSERVER数据库两种方法(图文详解)
ACCESS2000文件 用ACCESS2007打开,并迁移到SQLSERVER2005里 打开ACCESS2007的数据库工具 方法一:使用ACCESS2007自带的数据库迁移工具 1.打开ACCESS2007的数据库迁移向导 2.点击SQLSERVER按钮,弹出升迁向导对话框 3.选择新建数据库 4.输入计算机名,我的本地计算机名字叫joe,因为SQLSERVER安装在本地,所以选择使用可信连接就可以了 数据库名称默认就可以了 5.选择所有表,移动到右边框 6.把表索引也一起升迁到SQLSE
-
sqlserver数据库导入数据操作详解(图)
Microsoft SQL Server Management Studio是SQL SERVER的客户端工具,相信大家都知道.我不知道大伙使用导入数据的情况怎么样,反正我最近是遇到过.主要是因为没有远程数据库服务器的权限,而需要测试新修改的内容对旧数据的冲突.因为流程改变,免不了需要修改数据来适应新的变化.所以需要在测试环境里面去模拟真实环境的数据.当时还搞笑,直接是粘贴到EXCEL,然后再复制到数据库.对于一般来说,这种方式也可以,但是对于一些特殊的字符,如果直接粘贴到EXCEL里面的话,并
-
c#连接sqlserver数据库、插入数据、从数据库获取时间示例
c#连接sqlserver.插入数据.从数据库获取时间 复制代码 代码如下: using System;using System.Data.SqlClient; namespace Test{ //连接数据库 public class Connection { private static string connectionString = "Server = 192.168.1.222;" + "D
-
SQLServer无法打开用户默认数据库 登录失败错误4064的解决方法
无法打开用户默认数据库,登录失败,其原因是登录帐户的默认数据库被删除. 解决办法是使用管理员帐户修改此登录帐户的默认数据库. 1.使用管理员帐号登入企业管理器,在"对象资源管理器"中,展开"安全性"--"登录名",右键该帐户点击"属性" 2.在"登录属性"的对话框中,第一个"常规"选项卡界面的右边更改默认的数据库. 如果出问题的就是你的管理员帐户,你无法登入企业管理器里修改,可以使用以下
-
SQLServer 数据库变成单个用户后无法访问问题的解决方法
解决办法是: 运行下面SQL 复制代码 代码如下: USE master; GO DECLARE @SQL VARCHAR(MAX); SET @SQL='' SELECT @SQL=@SQL+'; KILL '+RTRIM(SPID) FROM master..sysprocesses WHERE dbid=DB_ID('数据库名'); EXEC(@SQL); ALTER DATABASE 数据库名 SET MULTI_USER;
-
SQLServer数据库从高版本降级到低版本实例详解
SQLServer数据库从高版本降级到低版本实例详解 由于目前还广泛使用着SQLServer2000,很多公司又想使用新的SQLServer,从而直接[分离/附加]或者[备份/还原]数据库,在不同版本之间存放.往往就会遇到版本不兼容的问题.前几天遇到了从我本机2008R2上备份的一个数据库还原到2008上面时报错: 从运行版本10.50.2500(2008R2是10.50)和10.00.1600(2008是10.00)中可以看出这个版本不兼容问题,大部分情况下,从低版本升级到高版本,只要不是跨度
-
sqlserver、Mysql、Oracle三种数据库的优缺点总结
一.sqlserver优点:易用性.适合分布式组织的可伸缩性.用于决策支持的数据仓库功能.与许多其他服务器软件紧密关联的集成性.良好的性价比等:为数据管理与分析带来了灵活性,允许单位在快速变化的环境中从容响应,从而获得竞争优势.从数据管理和分析角度看,将原始数据转化为商业智能和充分利用Web带来的机会非常重要.作为一个完备的数据库和数据分析包,SQLServer为快速开发新一代企业级商业应用程序.为企业赢得核心竞争优势打开了胜利之门.作为重要的基准测试可伸缩性和速度奖的记录保持者,SQLServ
-
oracle,mysql,SqlServer三种数据库的分页查询的实例
MySql: MySQL数据库实现分页比较简单,提供了 LIMIT函数.一般只需要直接写到sql语句后面就行了.LIMIT子 句可以用来限制由SELECT语句返回过来的数据数量,它有一个或两个参数,如果给出两个参数, 第一个参数指定返回的第一行在所有数据中的位置,从0开始(注意不是1),第二个参数指定最多返回行数.例如:select * from table WHERE - LIMIT 10; #返回前10行select * from table WHERE - LIMIT 0,10; #返回前
-
SQLSERVER查询所有数据库名,表名,和字段名的语句
1.获取所有数据库名: SELECT Name FROM Master..SysDatabases ORDER BY Name 2.获取所有表名: SELECT Name FROM DatabaseName..SysObjects Where XType='U' ORDER BY Name XType='U':表示所有用户表; XType='S':表示所有系统表; 3.获取所有字段名: SELECT Name FROM SysColumns WHERE id=Object_Id('TableNa
-
SQLServer 2005数据库连接字符串 连接sql2005必备资料
连接字符串中常用的声明有: 服务器声明 Data Source.Server和Addr等. 数据库声明 Initial Catalog和DataBase等. 集成Windows账号的安全性声明 Integrated Security和Trusted_Connection等. 使用数据库账号的安全性声明 User ID和Password等. 对于访问数据库的账号来说,通常我们在一些参考资料上看到ADO.NET的字符串连接往往有如下写法: 复制代码 代码如下: string ConnStr = "s
-
用sql脚本创建sqlserver数据库范例语句
下面是创建一个sqlserver数据库的代码模板,加上一个创建表的模板.开发的时候可以拷贝过去直接改动一下就可以用了. 希望能帮上忙! 复制代码 代码如下: USE [master] GO IF EXISTS(SELECT 1 FROM sysdatabases WHERE NAME=N'HkTemp') BEGIN DROP DATABASE HkTemp --如果数据库存在先删掉数据库 END GO CREATE DATABASE HkTemp ON PRIMARY --创建主数据库文件 (
-
SqlServer2005 数据库同步配置图文详解
<1>软件准备条件 机器A端:SqlServer2005 Management Studio + WinServer 2003 Enterprise (作为发布服务器) 机器B端:Sqlserver2005 Management Studio Express + WinXP(作为订阅服务器) 一:[准备条件] <1>软件准备条件 机器A端:SqlServer2005 Management Studio + WinServer 2003 Enterprise (作为发布服务器) 机器
随机推荐
- JS HTML5实现拖拽移动列表效果
- 7个perl数组高级操作技巧分享
- jQuery EasyUI API 中文文档 - Panel面板
- Android解析json数据示例代码(三种方式)
- oracle 存储过程加密的方法
- javascript和jquery分别实现的九九乘法表代码
- php is_writable判断文件是否可写实例代码
- PHP生成Flash动画的实现代码
- Android巧用DecorView实现对话框功能
- JavaScript使用indexOf获得子字符串在字符串中位置的方法
- C#使用Process类调用外部exe程序
- C#验证给定字符串是否为数字的方法
- tomcat在linux中修改日志路径
- 正则表达式匹配路由的实现代码
- 易语言整数型参数传递详解
- 在自动化中用python实现键盘操作的方法详解
- Python中Unittest框架的具体使用
- asp.net和php的区别点总结
- python读取有密码的zip压缩文件实例
- IDEA连接远程服务器Docker部署Spring Boot项目的详细教程