修复SQLSERVER2005 数据库一致性错误与分配错误
SQL Server2005常见错误及解决方案
看你的报错,应该是服务器上没有开启管道支持,看到网上有人有同样问题,就把解决方案给你贴过来,你远程桌面进SQL Server 服务器上试一下:打开‘程序’-‘所有程序’-‘Microsoft SQL Server 2005 ’-‘配置工具'-‘SQL Server 配置管理器’,在弹出的窗体中,找到‘SQL Server 2005 网络配置’,把‘MSSQLSERVER的协议’下的“Named Pipes”和“TCP/IP”启动,然后重新启动Microsoft SQL Server 2005今天做JSP项目连接数据库,结果报错,出错的原因是:'用户’sa’ 登录失败.该用户与可信SQL Server 连接无关联'.今天上网上查了半天还是搞不定,最后经过网上和书上的汇总,具体的方法是:1:打开SQL Server Manager管理器!在左面找到‘安全性’ 单击右键选择‘新建”,“登录" 弹出一个对话框,在登录名中输入你的登录号,选择’SQLSERVER身份验证',并输入密码,可以把‘用户下次登录时必须修改密码’取消掉。
点击‘用户映射',在右面选择要映射的数据库,并在前面打勾!在下面一栏中‘db—owner’和‘public'前面打勾.然后点击'状态'在右面栏中选中"授予"、“启用”,这两项一般是默认的,但如果默认的不是此两项必须改过来,不然是连不上的!点击‘确定’。
2:找到SQL服务器,在左栏中上面,单击右键,在弹出的菜单中选择“属性”命令。
弹出一个对话框,单击“安全性”,在“服务器身份验证”下面选择“S QL SERVER和WINDOWS身份验证模式”,在前面打勾!记得这一步很重要,如果没有这一步你就别想登录成功!然后单击“确定”就可以了! 3:重新启动服务就可以选择SQL SERVER 身份验证模式登录了!结果找了网上所有方法还是没用,最后发现还是出现在着急上忘记启动服务器,关键时刻,就是不冷静各位不要学我啊切记:一定要把SQL2005服务重启才生效。
解决SQL Server 2005 还原数据库错误
解決SQL Server 2005 還原數據庫錯誤:System.Data.SqlClient.SqlError: 在...解決SQL Server 2005 還原數據庫錯誤:System.Data.SqlClient.SqlError: 在對'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\BusinessDB.mdf' 嘗試'RestoreContainer::ValidateTargetForCreation' 時,操作系統返回了錯誤'5(拒絕訪問)'在還源數據庫時出現以下錯誤(詳情參見下圖):System.Data.SqlClient.SqlError: 在對'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\BusinessDB.mdf' 嘗試'RestoreContainer::ValidateTargetForCreation' 時,操作系統返回了錯誤'5(拒絕訪問。
)'。
(Microsoft.SqlServer.Express.Smo)原因分析:沒有對"C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\"創建文件的權限(可以把它複製到data),這是SQL2005對文件夾的安全性限制。
解決辦法:沒有同名數據庫的時候就新建個同名數據庫修改文件夾到'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\”或其他盤的文件夾下(如E:\mydb)即可(原路径:C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\)。
详解SQLServer数据修复命令DBCC的使用
详解SQLServer数据修复命令DBCC的使用MS Sql Server 提供了很多关于数据库修复的命令,当MS Sql Server 数据库遭到质疑或者是有的无法完成读取时可以尝试这些修复命令。
1. DBCC CHECKDB重启服务器后,在没有进行任何操作的情况下,在SQL查询分析器中执行以下SQL进行数据库的修复,修复数据库存在的一致性错误与分配错误。
e master2.declare @databasename varchar(255)3.set @databasename=’需要修复的数据库实体的名称’4.exec sp_dboption @databasename, N’single’, N’true’ –将目标数据库置为单用户状态5.dbcccheckdb(@databasename,REPAIR_ALLOW_DATA_LOSS)6.dbcc checkdb(@databasename,REPAIR_REBUILD)7.exec sp_dboption @databasename, N’single’, N’false’–将目标数据库置为多用户状态然后执行 SQL Server数据修复命令DBCC CHECKDB(’需要修复的数据库实体的名称’) 检查数据库是否仍旧存在错误。
注意:修复后可能会造成部分数据的丢失。
2. DBCC CHECKTABLE如果DBCC CHECKDB 检查仍旧存在错误,可以使用DBCC CHECKTABLE来修复。
e 需要修复的数据库实体的名称2.declare @dbname varchar(255)3.set @dbname=’需要修复的数据库实体的名称’4.exec sp_dboption @dbname,’single user’,'true’5.dbcc checktable(’需要修复的数据表的名称’,REPAIR_ALLOW_DATA_LOSS)6.dbcc checktable(’需要修复的数据表的名称’,REPAIR_REBUILD)7.—把’ 需要修复的数据表的名称’更改为执行SQL Server数据修复命令DBCC CHECKDB时报错的数据表的名称8.exec sp_dboption @dbname,’single user’,'false’3. 其他的一些常用的修复命令DBCC DBREINDEX 重建指定数据库中表的一个或多个索引用法:DBCC DBREINDEX (表名,’’) 修复此表所有的索引。
SQL Server 2005数据库可疑恢复
SQL Server数据库1SQL Server 2005数据库可疑恢复日常对Sql Server 2005联系数据库执行操作时,有时对数据库(如:Sharepoint站点配置数据库名Sharepoint_Config)执行些不正常操作如数据库在读写时而无故停止数据库,从而导致Sql Server 2005数据库不正常中断,当再次打开数据库时会发觉某些数据库会被标记为“可疑”(suspect),即在数据库名旁加上了黄色的惊叹号,这时数据库就不能再被打开了,但数据库的结构及数据内容都还是存在的处理要领当数据库发生这种操作故障时,可以按如下操作步骤可处理此要领,打开数据库里的Sql 查询编辑器窗口,运行以下的命令●修改数据库为紧急模式ALTER DATABASE Sharepoint_Config SET EMERGENCY●使数据库变为单用户模式ALTER DATABASE Sharepoint_Config SET SINGLE_USER●修正数据库日志重新生成,此命令检查的分配,结构,逻辑完整性和所有数据库中的对象不正确。
当您指定“REPAIR_ALLOW_DATA_LOSS”作为DBCC CHECKDB命令参数,该程序将检查和修正报告的不正确。
但是,这些修正可能会导致一些数据丢失。
DBCC CheckDB (Sharepoint_Config , REPAIR_ALLOW_DATA_LOSS●使数据库变回为多用户模式ALTER DATABASE Sharepoint_Config SET MULTI_USER●开始->运行->输入cmd->打开DOS命令窗口,输入以下命令重启数据库服务Net stop mssqlserver --停止服务Net start mssqlserver --启动服务再次,打开Sql Server 2005时被标记为“可疑”的数据库已还原正常状态ALTER DATABASE v5_dl_g SET EMERGENCYALTER DATABASE v5_dl_g SET SINGLE_USERDBCC CheckDB (v5_dl_g , REPAIR_ALLOW_DATA_LOSS)ALTER DATABASE v5_dl_g SET MULTI_USER2SQL Server数据库文件恢复及数据库置疑SQL Server 2000数据库不知什么原因变成置疑,在企业管理器里面看是置疑,在DATA 里面有MDF和LOG这两个文件,换一台机器附加时报错:备份数据文件,然后按以下的步骤来进行处理:1.新建一个同名的数据库(数据文件与原来的要一致)2.再停掉sql server(注意不要分离数据库)4.再重启sql server5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用数据库的脚本创建一个新的数据库,并将数据导进去就行了。
SQL SERVER出现大量一致性错误的解决法子
SQL SERVER出现大量一致性错误的解决法子标签:Server出现大量一致解决方性错如果DBCC CHECKDB发现了比较少的一致性错误,可以使用DBCC UPDATEUSAGE(DatabaseName,"dbo.ObjectName"); 语句逐个针对表或索引中的每个分区更正行、已用页、保留页、叶级页和数据页的计数。
但是如果数据库出现大量一致性错误。
例如如下所示:DBCC results for 'JO_T_CUTXX'. 消息2508,级别16,状态1,第1 行The In-row data USED page count for object "JO_T_CUTXX", index ID 2, partition ID 626692535091200, alloc unit ID 626692535091200 (type In-row data) is incorrect. Run DBCC UPDATEUSAGE. 消息2508,级别16,状态3,第 1 行The In-row data RSVD page count for object "JO_T_CUTXX", index ID 2, partition ID 626692535091200, alloc unit ID 626692535091200 (type In-row data) is incorrect. Run DBCC UPDATEUSAGE. 消息2508,级别16,状态1,第 1 行The In-row data USED page count for object "JO_T_CUTXX", index ID 3, partition ID 908167511801856, alloc unit ID 908167511801856 (type In-row data) is incorrect. Run DBCC UPDATEUSAGE. 消息2508,级别16,,状态3,第1 行The In-row data RSVD page count for object "JO_T_CUTXX", index ID 3, partition ID 908167511801856, alloc unit ID 908167511801856 (type In-row data) is incorrect. Run DBCC UPDATEUSAGE. 消息2508,级别16,状态1,第1 行The In-row data USED page count for object "JO_T_CUTXX", index ID 4, partition ID 1189642488512512, alloc unit ID 1189642488512512 (type In-row data) is incorrect. Run DBCC UPDATEUSAGE. 消息2508,级别16,状态3,第 1 行The In-row data RSVD page count for object "JO_T_CUTXX", index ID 4, partition ID 1189642488512512, alloc unit ID 1189642488512512 (type In-row data) is incorrect. Run DBCC UPDATEUSAGE. 消息2508,级别16,状态1,第1 行The In-row data USED page count for object "JO_T_CUTXX", index ID 5, partition ID 1471117465223168, alloc unit ID 1471117465223168 (type In-row data) is incorrect. Run DBCC UPDATEUSAGE. 消息2508,级别16,状态3,第1 行The In-row data RSVD page count for object "JO_T_CUTXX", index ID 5, partition ID 1471117465223168, alloc unit ID 1471117465223168 (type In-row data) is incorrect. Run DBCC UPDATEUSAGE. There are 0 rows in 0 pages for object "JO_T_CUTXX". CHECKDB found 0 allocation errors and 8 consistency errors in table 'JO_T_CUTXX' (object ID972634608). .................................................................................... .......................... .......................................................... ....................................................................... .............那么逐个语句去将目录视图中的页数和行数错误进行更正就显得有点低效和枯燥。
修复网吧数据库出现一致性错误和分配错误方法
修复网吧数据库出现一致性错误和分配错误方法网吧PUBWIN 服务器在使用中有时由于非正常关闭或重新启动服务器可能会发生数据库错误,目前我们的方法基本上是把网吧数据库导入到另外一个空数据库中来修复。
这种方法是可以修复成功的,但是耗时比较长。
对于一些比较简单的数据库错误(比较少的一致性错误和非配错误)我们可以通过如下方法来修复数据:注意:在做任何数据库操作前请一定注意备份数据库。
并把PUBWIN 服务停止掉,只启动SQLSERVER服务。
(1)首先用数据库检查命令看数据库是否出现一致性错误或分配错误在命令提示符中依次输入:osql -U netcafe -p 123456use localgodbcc checkdbgo最后会显示:checkdb发现了..个分配错误和..一致性错误。
(2)检查出有一致性错误和分配错误后,接着依次输入修复语句:sp_dboption 'local', 'single user', 'true'--把数据库置为单用户模式goDBCC checkdb('local',REPAIR_ALLOW_DATA_LOSS) --在允许数据丢失情况下修复数据库。
go(3)用dbcc checkdb命令检查是否还有错误,如果DBCC checkdb('local',REPAIR_A LLOW_DATA_LOSS)语句执行一次不行,可以在多执行几次直到没有再提数据库有错误为止。
(4)检查没有错误后,把数据库重新设置为多用户模式sp_dboption 'local', 'single user', 'false'--设置为多用户模式go这样这个数据库的错误修复就完成了。
然后停止掉SQLSERVER,重新启动服务器就可以。
这种方法对于网吧出现问题可以不用安装企业管理器。
检测修复数据库(分配错误)
检测数据库和修复数据库的方法1、(所有操作前先将数据库备份)在SQL查询分析器中执行以下语句:(注以下所用的dbname 为数据库名称,请客户手工改为自己的数据库名)use dbnamedbcc checkdb2、查看查询结果,有很多红色字体显示,最后结果有这样的提示:CHECKDB 发现了x个分配错误和x 个一致性错误(在数据库'dbname' 中)。
一般情况下,引起分配错误的原因是磁盘损坏或突然停电;一致性错误可能是数据库中的表或索引坏,一般都可修复。
3、查看红色字体,并把有错误的数据库表名记录下来,或把索引损坏的表名记录下来。
4、把数据库设置为单用户模式,直接在查询分析器中执行以下语句即可:EXEC sp_dboption 'dbname', 'single user', 'TRUE'5、进入查询分析器执行如下语句:(分别执行)A.use dbnamedbcc checkdb ('dbname',REPAIR_REBUILD)----------------修复数据库索引B.use dbnamedbcc checkdb('dbname',repair_allow_data_loss)-------修复数据库-----注意:这里的A、B可以先执行B后执行A,也可以先执行A,后执行B6、再执行:dbcc checkdb,检测数据库,出现结果为:CHECKDB 发现了0个分配错误和0个一致性错误(在数据库'dbname' 中)。
数据库已经修复完毕。
7、取消单用户模式,即直接在查询分析器中执行以下语句即可:EXEC sp_dboption 'dbname', 'single user','FALSE'现在可以正常使用了!8、再用语句use dbnamedbcc checkdb检查还是有问题(如:POS_t_daysum 还有问题)可以执行下面操作1.2.在这里点击编辑3.点机编辑SQL(E)4.点击执行(E)执行成功后,再使用use dbnamedbcc checkdb执行后看是否还有分配错误和一致性错误到这里应该是可以了的。
sql server数据库修复语句
SQL Server数据库修复语句在SQL Server中,数据库可能会遇到各种问题,比如损坏、不一致或者出现其他错误,这时就需要使用修复语句来修复数据库。
本文将介绍一些常见的SQL Server数据库修复语句,帮助大家解决数据库问题。
1. 使用DBCC CHECKDB命令检查数据库的一致性DBCC CHECKDB是SQL Server中用于检查数据库一致性的命令。
可以使用以下命令来检查指定数据库的一致性问题:```DBCC CHECKDB('数据库名')```这个命令会检查数据库对象的物理和逻辑一致性,包括索引、数据页、数据链路等内容。
如果发现问题,会输出错误信息并尝试修复。
需要说明的是,在运行此命令之前,建议先备份数据库,以免造成数据丢失。
2. 修复损坏的数据页如果DBCC CHECKDB命令检查出了数据页损坏的问题,可以使用以下语句修复:```DBCC PAGE('数据库名', 1, 数据页号, 数据页修复选项)```其中,数据页号是需要修复的数据页的页号,数据页修复选项包括3种:0表示不执行修复,1表示尝试逻辑级别的修复,2表示尝试物理级别的修复。
根据实际情况选择修复选项。
3. 使用修复命令修复数据库如果数据库无法自动修复,可以使用修复命令手动修复数据库。
修复数据库的命令如下:```DBCC CHECKDB('数据库名', REP本人R_REBUILD)```修复操作会尝试重建损坏或不一致的索引,并进行一些其他的一致性检查和修复。
但需要注意的是,该操作可能会导致数据丢失或者数据库不一致,使用前务必确认已经备份了数据库。
4. 使用备份和还原来修复数据库如果数据库问题较为严重,以上方法无法修复,可以尝试使用备份和还原来修复数据库。
需要备份数据库:```BACKUP DATABASE 数据库名 TO 磁盘路径```将备份文件还原到一个新的数据库中:```RESTORE DATABASE 新数据库名 FROM 磁盘路径```这种方法可以将数据库还原到一个较为稳定的状态,但需要注意备份和还原的时机,避免数据丢失。
独家提供SQL Server2005还原数据库攻略
数据库的安全一直是“兵家”比争之地,数据库是企业公司等信息汇集的核心地带,对于这些数据一旦出现事故,其影响是巨大的,尤其是在网络高度发达的今天,一旦某某公司数据库出现问题,网上马上就会出现一些关于某某公司的爆料,不管是玩笑还是恶意,总之数据库的安全不容小视,因此在平时就要做足功课,虽然这个是DBA或者安全管理人员的职责和必杀技,但普通人员也可以了解,毕竟在激烈竞争的今天都多掌握一门技能,就多一份成功的希望和保证,笔者就在SQL Server2005中如何还原数据库进行详细的介绍,并就恢复或者还原数据库中出现的问题进行解决。
(一)新增九项功能Microsoft SQL Server 2005跟Microsoft SQL Server 2000有很大的不同,在界面和功能上面都有很大的改进,它新增了以下九项重要功能:(1)Notification Services 增强功能Notification Services 是一种新平台,用于生成发送并接收通知的高伸缩性应用程序。
Notification Services 可以把及时的、个性化的消息发送给使用各种各样设备的数以千计乃至以百万计的订阅方。
(2)Reporting Services 增强功能Reporting Services 是一种基于服务器的新型报表平台,它支持报表创作、分发、管理和最终用户访问。
(3)新增的Service BrokerService Broker 是一种新技术,用于生成安全、可靠和可伸缩的数据库密集型的应用程序。
Service Broker 提供应用程序用以传递请求和响应的消息队列。
(4)数据库引擎增强功能数据库引擎引入了新的可编程性增强功能(如与Microsoft .NET Framework 的集成和Transact-SQL 的增强功能)、新XML 功能和新数据类型。
它还包括对数据库的可伸缩性和可用性的改进。
(5)数据访问接口方面的增强功能SQL Server 2005 提供了Microsoft 数据访问(MDAC) 和 .NET Frameworks SQL 客户端提供程序方面的改进,为数据库应用程序的开发人员提供了更好的易用性、更强的控制和更高的工作效率。
连接SQL server数据库出现错误怎么办?如何修复数据库?
连接SQL server数据库出现错误怎么办?如何修复数据库?很多朋友在连接SQL server数据库的过程中,经常会出现数据库报错的的情况,很多用户都对报错的原因无法理解,而网络上对于数据库报错的解决方法也没有详细的说明,用户无法采取有效的措施对数据库故障进行解决,进而无法找回数据库文件。
针对这种情况,下面我们就来了解一下数据库出错的原因及修复数据库的方法吧!一般而言, SQL Server 数据库有两种连接方式,一是利用SQL Server自带的客户端工具,如企业管理器、查询分析器、事务探查器等;二是利用用户自己开发的客户端程序,如ASP 脚本、VB程序等,客户端程序中又是利用 ODBC 或者 OLE DB 等连接 SQL Server。
打开 SQL Server 数据库出错的可能原因主要有以下几点:1.“SQL Server 不存在或访问被拒绝”1)SQL Server名称或IP地址拼写有误2)服务器端网络配置有误3)客户端网络配置有误2.“无法连接到服务器,用户xxx登陆失败”该错误产生的原因是由于SQL Server使用了“仅 Windows“的身份验证方式,因此用户无法使用SQL Server的登录帐户(如 sa )进行连接。
3.提示连接超时如果遇到第三个错误,一般而言表示客户端已经找到了这台服务器,并且可以进行连接,不过是由于连接的时间大于允许的时间而导致出错。
对于 SQL Server 数据库常见的一些错误,用户可以根据数据库出现的报错提示寻找相应的解决方案,这样才能保证数据库被连接上,从而保证数据库文件的安全。
如果用户无法在网络上找到相应的解决方法,或者那些方法尝试之后还是无法解决问题,用户可以将在线咨询数据恢复专家,或者将设备直接拿到该数据恢复中心,专业的数据库修复专家会帮助用户解决数据库出现的故障,帮助用户恢复数据库文件。
SQLserver2005数据库还原数据库时错错?system.Data.SqlCli...
SQLserver2005数据库还原数据库时错错?system.Data.SqlCli...--创建测试数据库CREATE DATABASE dbGO--使用磁盘媒体集备份测试数据库,备份完成后删除测试数据库BACKUP DATABASE dbTO DISK='c:\a.bak',DISK='c:\b.bak'WITH FORMATDROP DATABASE dbGO--1. 恢复时仅指定媒体集中的一个备份文件RESTORE DATABASE dbFROM DISK='c:\a.bak'/*--将收到错误信息服务器: 消息 3132,级别 16,状态 1,行 3数据库 'db' 的媒体集有 2 个家族成员,但只提供了 1 个。
必须提供所有的成员。
--*/--2. 再次备份时,仅指定备份媒体集中的一个备份文件BACKUP DATABASE pubsTO DISK='c:\a.bak'/*--将收到错误信息服务器: 消息 3132,级别 16,状态 1,行 11数据库 'pubs' 的媒体集有 2 个家族成员,但只提供了 1 个。
必须提供所有的成员。
--*/--3. 备份时,指定超过媒体集的备份文件数BACKUP DATABASE pubsTO DISK='c:\a.bak',DISK='c:\b.bak',DISK='c:\c.bak'/*--将收到错误信息服务器: 消息 3132,级别 16,状态 1,行 1数据库 'pubs' 的媒体集有 2 个家族成员,但只提供了 3 个。
必须提供所有的成员。
--*/--4. 重新初始化媒体集时指定所有的备份文件BACKUP DATABASE pubsTO DISK='c:\a.bak'WITH INIT/*--将收到错误信息服务器: 消息 3132,级别 16,状态 1,行 2数据库 'pubs' 的媒体集有 2 个家族成员,但只提供了 1 个。
SQL Server数据库故障及修复方法
SQL Server数据库故障及修复方法
对于计算机专业的大学生来说,SQL Server数据库肯定不陌生吧,SQL Server数据库作为目前使用相对广泛的数据库管理系统,被很多企业所使用,给大家带来了很多的方便。
对于企业来说,SQL Server数据库的稳定性至关重要,一旦发生问题,将会带来不可估量的损失。
当SQL Server数据库出现故障时,大家该如何解决问题呢?
SQL Server数据库常见故障:
1)SQL数据库置疑
2)SQL数据库无法附加或附加报错
3)SQL数据表查询错误
4)MDF文件损坏
5)SQL数据库备份文件损坏
6)SQL数据库被标记为可疑
7)SQL数据库被误删除
8)分区被格式化,SQL数据库被恢复后还是坏的
9)一致性错误
10)错误823等等
从上面大家可以了解到,SQL Server数据库的常见故障非常多,很可能用户一个错误操作就可能造成SQL Server数据库损坏或数据丢失,当出现这些问题时,用户不要盲目对数据库进行任何操作,因为用户的错误操作可能会造成数据库进一步损坏,对于不确定的情况,用户应该将数据库交给那些专业的数据库恢复人才进行恢复,这样才能保证数据库的安全。
sqlserver2005错误集
1. provider: 命名管道提供程序, error: 40 - 无法打开到SQL Server 的连接解决方法:开始->所有程序->Ms Sql Server->配置工具->sql server外围应用配置器->服务和连接的外围应用配置器->打开MSSQLSERVER节点下的Database Engine 节点,先择"远程连接",接下建议选择"同时使用TCP/IP和named pipes",确定后,重启数据库服务就可以了.如果还出现错误的话那么请你检查一下所写的代码connectionString中的Data Source这个属性填写的值是否正确本机默认填写.\SQLEXPRESS 或者换成计算机名\SQLEXPRESS ...除此之外还要看一下其他个个sql启动项是否启动。
2.Microsoft SQL Server错误233的解决办法已成功与服务器建立连接,但是在登录过程中发生错误。
(provider:命名管道提供程序,error:0-管道的另一端上无任何进程。
)(Microsoft SQL Server,错误:233)解决方法:打开“开始—所有程序—Microsoft SQL Server 2005 —配置工具—SQL Server 配置管理器”,在弹出的窗体中,找到“SQL Server 2005 网络配置”,把“MSSQLSERVER的协议”下的“Named Pipes”和“TCP/IP”启用,然后重新启动SQL Server 即可。
3. sa登录失败18456(1)、重设sa密码,(2)、在状态下“登录”—>“启动”(3)、在注册中“属性”—>“安全”—>“windows或sql server启动”(4)、控制面板—>管理工具——>服务——>sql server(SQLSERVER)重启4.由于没有注意,把数据库分离了,没有改变此登陆名的默认数据库.再次打开SQL2005的控制面板却怎么都联不上了.提示:无法打开默认数据库,代码:4064..,,1. 单击“开始”,单击“运行”,键入cmd,然后按Enter。
修复sql2005数据库
修复sql2005数据库修复sql2005数据库被恢复数据库的情况:1、数据库日志文件被删除2、数据库恢复模式为简单3、只附加数据文件时报错:未能打开新数据库。
CREATE DATABASE 将终止。
设备激活错误。
物理文件名'****.LDF'可能有误。
从网上找了一些方法,但似乎是针对sql2000的,对此数据库恢复无效。
结合网上的方法和自己的实践,最后终于恢复了数据库。
下面就是步骤:1、我们使用默认方式建立一个供恢复使用的数据库。
可以在SQL Server Enterprise Manager里面建立。
2、停掉数据库服务。
3、将刚才生成的数据库的日志文件****.ldf删除,用要恢复的数据库mdf文件覆盖刚才生成的数据库数据文件*****.mdf。
4、启动数据库服务。
并运行下列语句:use mastergoexec sp_configure'allow updates',1reconfigure with override5、运行select * from sys.databases where name='db_name'。
其中'db_name'为数据库的名称。
在查询的结果找到state_desc列,查看值为恢复中断(RECOVERY_ PENDING)状态。
6、把数据库状态改为紧急模式。
ALTER DATABASE ‘db_name’ SET EMERGENCY。
7、修改数据库为单用户模式。
ALTER DATABASE ‘db_name’SINGLE_USER。
8、运行下列语句修复数据库。
dbcc checkdb('db_name',REPAIR_ALLOW_DATA_LOSS)9、如果修复成功,最后会有一些记录描述。
10、成功后把数据库改为多用户模式,并且联机数据库。
ALTER DATABASE ‘db_name’ online;ALTER DATABASE ‘db_name’ MULTI_USER;use mastergoexec sp_configure 'allow updates',0reconfigure with override11、此时数据库以恢复完成。
修复SQLSERVER2005 数据库一致性错误与分配错误
修复SQLSERVER 数据库一致性错误与分配错误来源:本站转载作者:佚名时间:2012-10-14 TAG:我要投稿一、把数据库置为单用户模式:sp_dboption '数据库名称', 'single user', 'true'二、在允许数据丢失情况下修复数据库:DBCC checkdb('数据库名称',REPAIR_ALLOW_DATA_LOSS)如果执行一次不行,可以在多执行几次直到没有再提示数据库有错误为止。
三、把数据库重新设置为多用户模式:sp_dboption '数据库名称', 'single user', 'false'这样这个数据库的错误修复就完成了。
然后停止掉SQLSERVER,重新启动服务器就可以。
这种方法对于一般出现问题可以不用安装企业管理器,直接在服务器用OSQL –E 进入数据库,然后通过上面两条命令来修复数据库。
这样速度比较快!其他人提供的方法:一、DBCC CHECKDB :在SQL查询分析器中执行以下SQL进行数据库的修复,修复数据库存在的一致性错误与分配错误。
use masterdeclare @databasename varchar(255)set @databasename='需要修复的数据库名称'exec sp_dboption @databasename, N'single', N'true'dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)dbcc checkdb(@databasename,REPAIR_REBUILD)exec sp_dboption @databasename, N'single', N'false'然后执行 DBCC CHECKDB('需要修复的数据库名称') 检查数据库是否仍旧存在错误。
修复SQLSERVER
如果用DBCC CHECKDB检测存在一致性错误可以用下面的方法恢复:ALTER DATABASE POS_DB SET SINGLE_USERGODBCC CHECKDB('POS_DB',repair_allow_data_loss) WITH TABLOCKGOALTER DATABASE POS_DB SET MULTI_USERGOCHECKDB 有3个参数:REPAIR_ALLOW_DA TA_LOSS执行由REPAIR_REBUILD 完成的所有修复,包括对行和页进行分配和取消分配以改正分配错误、结构行或页的错误,以及删除已损坏的文本对象。
这些修复可能会导致一些数据丢失。
修复操作可以在用户事务下完成以允许用户回滚所做的更改。
如果回滚修复,则数据库仍会含有错误,应该从备份进行恢复。
如果由于所提供修复等级的缘故遗漏某个错误的修复,则将遗漏任何取决于该修复的修复。
修复完成后,备份数据库。
REPAIR_FAST 进行小的、不耗时的修复操作,如修复非聚集索引中的附加键。
这些修复可以很快完成,并且不会有丢失数据的危险。
REPAIR_REBUILD 执行由REPAIR_FAST 完成的所有修复,包括需要较长时间的修复(如重建索引)。
执行这些修复时不会有丢失数据的危险。
PHYSICAL_ONLY仅限于检查页和记录标题物理结构的完整性,以及页对象ID 和索引ID 与分配结构之间的一致性。
该检查旨在以较低的开销检查数据库的物理一致性,同时还检测会危及用户数据安全的残缺页和常见的硬件故障。
PHYSICAL_ONLY 始终意味着NO_INFOMSGS,并且不能与任何修复选项一起使用。
再次运行:DBCC CHECKDB('POS_DB') with NO_INFOMSGS,PHYSICAL_ONLY然后再运行:DBCC CHECKDB('POS_DB',repair_allow_data_loss) WITH TABLOCK。
SQLServer一致性错误修复案例总结
SQLServer⼀致性错误修复案例总结今天遇到了⼀个关于数据库⼀致性错误的案例。
海外⼯⼚的⼀台SQL Server 2005(9.00.5069.00 Standard Edition)数据库在做DBCC CHECKDB的时候出现了⼀致性错误,下⾯总结⼀下处理过程。
具体的⼀致性错误信息如下所⽰:Msg 8992,Level 16,State 1, Line 1Check Catalog Msg 3853,State 1: Attribute(referenced_major_id=248841561,referenced_minor_id=6)of row(class=0,object_id=440842245,column_id=0,referenced_major_id=248841561,referenced_minor_id=6)in sys.sql_dependencies does not have a matching row (object_id=248841561,column_id=6)in sys.columns.Msg 8992,Level 16,State 1, Line 1Check Catalog Msg 3853,State 1: Attribute(referenced_major_id=264841618,referenced_minor_id=7)of row(class=0,object_id=440842245,column_id=0,referenced_major_id=264841618,referenced_minor_id=7)in sys.sql_dependencies does not have a matching row (object_id=264841618,column_id=7)in sys.columns.CHECKDB found 0 allocation errors and 2 consistency errors not associated with any single object.DBCC results for'sys.sysrowsetcolumns'.Msg 2508,Level 16,State 1, Line 1The In-row data USED page count for object "GRNPGDetail",index ID 0,partition ID 60321137623040, alloc unit ID 60321137623040 (type In-row data)is incorrect. Run DBCC UPDATEUSAGE.关于第三个⼀致性错误,我之前多篇博客都介绍过这种类型的⼀致性错误,需要使⽤DBCC UPDATEUSAGE,该命令可以针对表或索引中的每个分区更正⾏、已⽤页、保留页、叶级页和数据页的计数。
SQL Server 2005 安装遇到的错误提示和解决方法
SQL Server 2005 安装遇到的错误提示和解决方法在安装SQL Server 2005时有时会出现意想不到的问题,如IIS,性能计数器,OWC11,无法配置外围应用的问题,下面笔者分享一下在安装SQL Server 2005时常见问题解决方法安装SQL Server 2005弄了好久,终于可以了。
期间问题重重,想拿出来和大家一同分享的。
第一种错误显示: 无法在com+目录中安装和配置程序集错误:-2146233087 无法在com+目录中安装和配置程序集c:\program files\Microsoft SQL Server\90\DTS\tasks\microsoft.sqlserver. MSMQTASK.DLL. 错误:-2146233087 sql server 安装时"无法在COM+目录中安装和配置程序"的解决办法: 无法在COM+目录中安装和配置程序集,C:\program files\microsoft SQL Server\90\NotificationServices\9.0.242\ Bin\microsoft.sqlserver,notificationservices.dll。
错误:-2146233087 错误消息:Unknown error 0x80131501 错误说明:事务管理器可用。
(异常来自HRESULT:0x8004D01B)【解决办法】这时候可以暂停安装,不要点击中止、忽略,也不要点击取消。
按以下步骤 1.删除注册表中的键: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC HKEY_CLASSES_ROOT\CID 2、使用cmd执行停止MSDTC服务:net stop msdtc 3、使用cmd执行卸载MSDTC服务:msdtc -uninstall 4、使用cmd执行重新安装MSDTC服务:msdtc -install 点击重试就可以继续安装了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
修复SQLSERVER 数据库一致性错误与分配错误来源:本站转载作者:佚名时间:2012-10-14 TAG:我要投稿
一、把数据库置为单用户模式:
sp_dboption '数据库名称', 'single user', 'true'
二、在允许数据丢失情况下修复数据库:
DBCC checkdb('数据库名称',REPAIR_ALLOW_DATA_LOSS)
如果执行一次不行,可以在多执行几次直到没有再提示数据库有错误为止。
三、把数据库重新设置为多用户模式:
sp_dboption '数据库名称', 'single user', 'false'
这样这个数据库的错误修复就完成了。
然后停止掉SQLSERVER,重新启动服务器就可以。
这种方法对于一般出现问题可以不用安装企业管理器,直接在服务器用OSQL –E 进入数据库,然后通过上面两条命令来修复数据库。
这样速度比较快!
其他人提供的方法:
一、DBCC CHECKDB :
在SQL查询分析器中执行以下SQL进行数据库的修复,修复数据库存在的一致性错误与分配错误。
use master
declare @databasename varchar(255)
set @databasename='需要修复的数据库名称'
exec sp_dboption @databasename, N'single', N'true'
dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)
dbcc checkdb(@databasename,REPAIR_REBUILD)
exec sp_dboption @databasename, N'single', N'false'
然后执行 DBCC CHECKDB('需要修复的数据库名称') 检查数据库是否仍旧存在错误。
注意:修复后可能会造成部分数据的丢失。
2. DBCC CHECKTABLE
如果DBCC CHECKDB 检查仍旧存在错误,可以使用DBCC CHECKTABLE来修复。
use 需要修复的数据库实体的名称
declare @dbname varchar(255)
set @dbname='需要修复的数据库实体的名称'
exec sp_dboption @dbname,'single user','true'
dbcc checktable('需要修复的数据表的名称',REPAIR_ALLOW_DATA_LO SS)
dbcc checktable('需要修复的数据表的名称',REPAIR_REBUILD) exec sp_dboption @dbname,'single user','false'。