Pubwin2009SQLserver数据库修复常见问题方法

合集下载

SQLServer常见问题处理(数据库的备份与还原操作)

SQLServer常见问题处理(数据库的备份与还原操作)

数据库备份与还原操作一、备份数据库操作(1) 打开企业管理器,按下图依次打开,然后右击要备份的数据库,按下图选中备份数据库(图1-1 示)。

图1-1(2) 点击删除,然后点击“添加”按钮 (图1-2示)。

图1-2(3) 系统弹出“选择备份目的”窗口,在“文件名(F):”栏中输入或选择备份路径(图1-3示)。

图1-3(4) 系统弹出“备份设置位置”对话框,选择备份路径并键入备份文件名(如:选择D:\DataBase\,文件名为:fjjr_jwgl1db061113。

图1-4示),并点击“确定”。

图1-4(5) 系统回到“SQL Server 备份”窗口,单击“确定”后,系统自动备份数据库,直到系统完成即可完成数据库备份操作。

图1-5二、还原数据库操作(1) 打开企业管理器,按下图依次打开,然后右击要备份的数据库,按下图选中“还原数据库(R)”(图2-1示)。

图2-1(2) 系统弹出“还原数据库”窗口,选择“从设备(M)”单选框(图2-2示)图2-2 (3) 单击“选择设备(E)...”按钮(图2-3示)。

图2-3(4) 系统弹出“选择还原设备”窗口,在此窗口中单击“添加(A)...”按钮(图2-4示)。

图2-4(5) 系统弹出“选择还原目的”窗口,在“文件名(F):”文本框中输入还原目的文件或单击“...”按钮(图2-5示)。

图2-5(6) 单击“...”后,系统弹出“备份设备位置”对话框,选择正确的备份数据库文件 (图2-6示)。

图2-6(7) 依次确定到“还原数据库”窗口,单击“选项”选项卡(图2-7示)图2-7(8) 确认“移至物理文件名”所在具体位置,并选中“在现有数据库上强制还原(F)”复选框,单击“确定”按钮,系统自动还数据数据库,等待直至数据还原完毕(图2-8示)图2-8。

sql server 数据库异常的解决方法

sql server 数据库异常的解决方法

SQL Server数据库异常是常见的技术问题,以下是一些可能的解决方法:
检查错误日志:SQL Server的错误日志是解决问题的关键。

出现异常时,首先应查看错误日志,了解详细的错误信息。

备份和恢复:定期备份数据库是预防数据丢失的有效方法。

如果出现数据损坏或丢失,可以尝试使用备份进行恢复。

检查数据库连接:确保应用程序能够正常连接到SQL Server。

如果连接出现问题,可以检查网络连接、防火墙设置、SQL Server配置等。

优化查询性能:如果查询性能下降,可能是因为表结构不合理、索引失效、数据量过大等。

可以考虑优化查询语句、重建索引、清理历史数据等。

检查磁盘空间:SQL Server数据库需要足够的磁盘空间。

如果磁盘空间不足,可能导致数据库无法正常运行。

需要定期检查服务器磁盘空间,并及时清理不必要的文件。

更新和修复:如果是SQL Server的bug导致的异常,可能需要安装最新的补丁或升级到新版本。

同时,也可以考虑使用修复工具来修复数据库损坏。

联系技术支持:如果自己无法解决问题,可以联系Microsoft的技术支持或社区寻求帮助。

在处理SQL Server数据库异常时,应保持冷静,根据错误信息进行排查。

同时,预防总比治疗更重要,平时应做好数据库的维护和管理,避免出现异常。

sql server 数据库质疑(挂起)修复步骤

sql server 数据库质疑(挂起)修复步骤

数据库修复步骤
1.将已破坏的老数据库更名如Baddb_Data.Mdf ==>Baddb_Data.Md_ ,并在原来位置新建一同
名数据库如Baddb_Data.Mdf .
2. 停止SQL, 将新数据库更名(Baddb_Data.Mdf ==> Baddb_Data.Md2),
待修复老数据库更名为原先名称Baddb_Data.Md_ ==> Baddb_Data.Mdf
3.启动SQL , 并进入查询分析器中, 执行如下命令:
USE MASTER
sp_configure 'allow', 1
reconfigure with override
update sysdatabases set status = 32768 where name = 'Baddb'
4. 把LDF文件改名,再执行
DBCC REBUILD_LOG ('Baddb', 'E:\posdb\Baddb_Log.LDF' )
5. 恢复数据库紧急模式
update sysdatabases set status = 0 where name = 'Baddb'
6. 执行
restore database Baddb WITH RECOVERY
sp_configure 'allow', 0
reconfigure with override
7. 检查数据库看看有没有错误, 应该可以看到数据了
DBCC CHECKDB ('Baddb')
如以上还是不行,试把数据库设为紧急模式,再把数据导出到一个新的数据库(如有坏区)。

SQLServer数据库连接失败错误及解决方法

SQLServer数据库连接失败错误及解决方法

SQL ‎S erve‎r数据库连‎接失败错误‎及解决方法‎在使用‎SQL ‎S erve‎r的过程‎中,用户遇‎到的最多的‎问题莫过于‎连接失败了‎。

一般而言‎,有以下两‎种连接S‎Q L Se‎r ver ‎的方式,一‎是利用S‎Q L Se‎r ver ‎自带的客户‎端工具,如‎企业管理器‎、查询分析‎器、事务探‎查器等;二‎是利用用户‎自己开发的‎客户端程序‎,如ASP‎脚本、V‎B程序等,‎客户端程序‎中又是利用‎ODBC‎或者O‎L E DB‎等连接‎S QL S‎e rver‎。

下面,我‎们将就这两‎种连接方式‎,具体谈谈‎如何来解决‎连接失败的‎问题。

‎一、客户‎端工具连接‎失败‎在使用‎S QL S‎e rver‎自带的客‎户端工具(‎以企业管理‎器为例)连‎接SQL‎Serv‎e r时,最‎常见的错误‎有如下一些‎:‎1、SQL‎Serv‎e r 不存‎在或访问被‎拒绝‎Conn‎e ctio‎n Open‎(Con‎n ect(‎))‎‎2、用‎户'sa'‎登录失败。

‎原因:未与‎信任SQ‎L Ser‎v er 连‎接相关联。

‎‎3‎、超时已过‎期。

‎‎下面我们‎依次介绍如‎何来解决这‎三个最常见‎的连接错误‎。

‎第一个错误‎"SQL ‎S erve‎r不存在‎或访问被拒‎绝"通常是‎最复杂的,‎错误发生的‎原因比较多‎,需要检查‎的方面也比‎较多。

一般‎说来,有以‎下几种可能‎性:‎1、SQ‎L Ser‎v er名称‎或IP地址‎拼写有误;‎2‎、服务器端‎网络配置有‎误;‎3、客户‎端网络配置‎有误。

‎要解决‎这个问题,‎我们一般要‎遵循以下的‎步骤来一步‎步找出导致‎错误的原因‎。

‎首先,检查‎网络物理连‎接:‎ping‎<服务器‎I P地址>‎或‎者‎p ing ‎<服务器名‎称>‎如果p‎i ng <‎服务器IP‎地址> 失‎败,说明物‎理连接有问‎题,这时候‎要检查硬件‎设备,如网‎卡、HUB‎、路由器等‎。

SQLServer连接中常见错误解决方法(2)

SQLServer连接中常见错误解决方法(2)

SQLServer连接中常见错误解决方法(2)SQLServer连接中常见错误解决方法3.在"身份验证"下,选择"sql server和 windows "。

4.重新启动sql server服务。

在以上解决方法中,如果在第1步中使用"使用windows身份验证"连接sql server失败, 那就通过修改注册表来解决此问题:1.点击"开始"—"运行",输入regedit,回车进入注册表编辑器。

2.依次展开注册表项,浏览到以下注册表键:[hkey_local_machine\software\microsoft\mssqlserver\mssql server]3.在屏幕右方找到名称"loginmode",双击编辑双字节值。

4.将原值从1改为2,点击"确定"。

5.关闭注册表编辑器。

6.重新启动sql server服务。

此时,用户可以成功地使用sa在企业管理器中新建sqlserver注册, 但是仍然无法使用windows身份验证模式来连接sql server。

这是因为在sql server中有两个缺省的登录帐户:builtin\administrators<机器名>\administrator 被删除。

要恢复这两个帐户,可以使用以下的方法:1.打开企业管理器,展开服务器组,然后展开服务器2.展开"安全性",右击"登录",然后单击"新建登录"3.在"名称"框中,输入 builtin\administrators4.在"服务器角色"选项卡中,选择"system administrators"5.点击"确定"退出6.使用同样方法添加 <机器名>\administrator 登录。

SQL数据修复问题

SQL数据修复问题

1、update sysdatabases set status =0 where name = 'fdshop'go把状态重置为0,重启库2.修复的话,先将将数据库置为单用户模式,sp_dboption 'fdshop','single user','true'如果报错,可能有用户正在使用库,在进程管理里面杀掉sa用户进程,重新执行,直到成功尝试对其进行不丢失数据的修复:DBCC CHECKDB('fdshop',REPAIR_REBUILD)尝试对其进行可能丢失数据的修复:DBCC CHECKDB('fdshop',REPAIR_ALLOW_DATA_LOSS) 3.将数据库置为多用户模式,sp_dboption 'fdshop','single user','false'1.如果用户库无法启动,则打开sql server分析查询器,执行以下命令sp_configure 'allow updates','1'goreconfigure with overridego将这个数据库置为紧急模式:update sysdatabases set status =-32768 where name = 'fdshop'go2.Zach的灵验脚本Zach说他每次遇到这种数据库置疑情况,就运行下面这个脚本,屡试不爽:======================================================--before running any script, run the following to set themaster database to allow updatesUSE masterGosp_configure @#allow updates@#, 1GORECONFIGURE WITH OVERRIDEGO--Run the following scriptUPDATE master..sysdatabases SET status = status ^ 256WHERE name = @#Database_Name@#--Run the following scriptexec SP_resetstatus Database_Name--stop and start the MSDTC at this stage--After the procedure is created, immediately disableupdates to the system tables:exec sp_configure @#allow updates@#, 0GORECONFIGURE WITH OVERRIDEGO=====================================从上面可以看出,处理置疑的基本步骤还是我那篇文章中说的(注意我使用的字体颜色):执行 sp_configure 以允许对系统表进行更新,然后用 RECONFIGURE WITH OVERRIDE 语句强制实施该配置;数据库重置紧急模式;执行sp_resetstatus关闭数据库的置疑标志,但是原封不动地保持数据库的其它选项(只有系统管理员才能执行)。

连接SQL server数据库出现错误怎么办?如何修复数据库?

连接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 数据库常见的一些错误,用户可以根据数据库出现的报错提示寻找相应的解决方案,这样才能保证数据库被连接上,从而保证数据库文件的安全。

如果用户无法在网络上找到相应的解决方法,或者那些方法尝试之后还是无法解决问题,用户可以将在线咨询数据恢复专家,或者将设备直接拿到该数据恢复中心,专业的数据库修复专家会帮助用户解决数据库出现的故障,帮助用户恢复数据库文件。

sqlserver数据库修复语句

sqlserver数据库修复语句

sqlserver数据库修复语句
嘿,朋友们!咱今天就来讲讲 SQL Server 数据库修复语句那些事儿。

你知道吗,这数据库就好比是一个大宝藏,有时候可能会出点小毛病,这时候就得靠修复语句来拯救啦!比如说,当数据库出现一些奇怪的
错误提示,就好像一个人突然生病了一样,得赶紧想办法治好呀!
“DBCC CHECKDB”,这可是个厉害的家伙呢!就像医生手里的听
诊器,能帮我们找出数据库的问题所在。

比如说,“DBCC CHECKDB (your_database_name)”,这就像是在对数据库进行一次全面的体检。

还有“ALTER DATABASE SET SINGLE_USER”,这就像是给数据
库这个大房间上了一把锁,让其他人暂时不能进来,我们好专心地给
它疗伤呀!然后再进行修复操作。

哎呀呀,这修复语句可真是太重要啦!想象一下,如果没有这些语句,那我们的数据库出了问题可咋办呀?就像人病了没有药一样难受呢!我们得好好掌握这些语句,就像战士握紧手中的武器一样,随时
准备应对数据库的各种状况。

总之,SQL Server 数据库修复语句就是我们的得力助手,能让我们
的数据库一直健康地运行下去。

所以呀,一定要认真学习和运用这些
语句哦!。

sqlserver数据库连接失败错误及解决方法

sqlserver数据库连接失败错误及解决方法

sqlserver数据库连接失败错误及解决⽅法SQL Server数据库连接失败错误及解决⽅法在使⽤SQL Server 的过程中,⽤户遇到的最多的问题莫过于连接失败了。

⼀般⽽⾔,有以下两种连接SQL Server 的⽅式,⼀是利⽤SQL Server ⾃带的客户端⼯具,如企业管理器、查询分析器、事务探查器等;⼆是利⽤⽤户⾃⼰开发的客户端程序,如ASP 脚本、VB程序等,客户端程序中⼜是利⽤ODBC 或者OLE DB 等连接SQL Server。

下⾯,我们将就这两种连接⽅式,具体谈谈如何来解决连接失败的问题。

⼀、客户端⼯具连接失败在使⽤SQL Server ⾃带的客户端⼯具(以企业管理器为例)连接SQL Server时,最常见的错误有如下⼀些:1、SQL Server 不存在或访问被拒绝ConnectionOpen (Connect())2、⽤户'sa'登录失败。

原因:未与信任SQL Server 连接相关联。

3、超时已过期。

下⾯我们依次介绍如何来解决这三个最常见的连接错误。

第⼀个错误"SQL Server 不存在或访问被拒绝"通常是最复杂的,错误发⽣的原因⽐较多,需要检查的⽅⾯也⽐较多。

⼀般说来,有以下⼏种可能性:1、SQL Server名称或IP地址拼写有误;2、服务器端⽹络配置有误;3、客户端⽹络配置有误。

要解决这个问题,我们⼀般要遵循以下的步骤来⼀步步找出导致错误的原因。

⾸先,检查⽹络物理连接:ping <服务器IP地址>或者ping <服务器名称>如果ping <服务器IP地址> 失败,说明物理连接有问题,这时候要检查硬件设备,如⽹卡、HUB、路由器等。

还有⼀种可能是由于客户端和服务器之间安装有防⽕墙软件造成的,⽐如ISA Server。

防⽕墙软件可能会屏蔽对ping、telnet 等的响应,因此在检查连接问题的时候,我们要先把防⽕墙软件暂时关闭,或者打开所有被封闭的端⼝。

SQLSERVER数据库,备份后,再还原了,发现原来的WEB项目仍然用不了《解决篇》

SQLSERVER数据库,备份后,再还原了,发现原来的WEB项目仍然用不了《解决篇》

SQLSERVER数据库的备份与还原I、通常解决方式在使用数据库的过程中,经常会遇到数据库迁移或者数据迁移的问题,或者有突然的数据库损坏,这时需要从数据库的备份中直接恢复。

但是,此时会出现问题,这里说明几种常见问题的解决方法。

一、孤立用户的问题比如,以前的数据库的很多表是用户test建立的,但是当我们恢复数据库后,test用户此时就成了孤立用户,没有与之对应的登陆用户名,哪怕你建立了一个test登录用户名,而且是以前的用户密码,用该用户登录后同样没办法操作以前属于test的用户表。

这个问题有两种办法解决。

先说解决的前提条件。

首先,要用备份文件还原数据库,我们这里的数据库名为testdb,里面有属于用户test的用户表。

这个很容易了操作了,不多讲了,在企业管理器中很方便可以恢复。

恢复后,就产生了孤立用户test。

然后,用sa用户或者具有DBA权限的用户登录,创建一个test数据库登录用户,密码随便设置了,也可以和以前的保持一致。

我们用它来对应孤立的test 用户。

下面就有两种操作方法了,第一种就是改变对象的属主,第二种就是使登录用户和数据库的孤立用户对应起来。

先说第一种方法。

1、修改对象属主就是将原本属于数据库用户test的用户表,修改为属于dbo的用户表;然后修改test登录用户的数据库为testdb,就可以直接使用test登录用户登录后对该数据库进行操作了。

使用的存储过程sp_changeobjectowner [ @objname = ] 'object' , [ @newowner = ] 'owner' 参数说明[ @objname = ] 'object'当前数据库中现有表、视图、用户定义函数或存储过程的名称。

object 是nvarchar(776),没有默认值。

如果架构及其所有者具有相同的名称,则 object 可由现有对象所有者限定,格式为 existing_owner.object。

SQLServer库表索引修复步骤

SQLServer库表索引修复步骤

尝试在数据库5 中提取逻辑页() 失败。

该逻辑页属于分配单元xxx而非xxx 博客分类:
•数据库errors
此信息表明数据库或表已经部分损坏可以通过以下步骤尝试修复:
1. DBCC CHECKDB
重启服务器后,在没有进行任何操作的情况下,在SQL查询分析器中执行以下SQL进行数据库的修复,修复数据库存在的一致性错误与分配错误。

Sql代码
Sql代码
然后执行DBCC CHECKDB('需要修复的数据库实体的名称') 检查数据库是否仍旧存在错误。

注意:修复后可能会造成部分数据的丢失。

2. DBCC CHECKTABLE
如果DBCC CHECKDB 检查仍旧存在错误,可以使用DBCC CHECKTABLE来修复。

Sql代码
3. 其他的一些常用的修复命令
DBCC DBREINDEX 重建指定数据库中表的一个或多个索引用法:
Sql代码
Sql代码
4.DBCC CHECKALLOC
检查指定数据库的磁盘空间分配结构的一致性。

SQL Server数据库故障及修复方法

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数据库损坏或数据丢失,当出现这些问题时,用户不要盲目对数据库进行任何操作,因为用户的错误操作可能会造成数据库进一步损坏,对于不确定的情况,用户应该将数据库交给那些专业的数据库恢复人才进行恢复,这样才能保证数据库的安全。

SQLSERVER数据库置疑的原因及恢复数据库

SQLSERVER数据库置疑的原因及恢复数据库

sp_configure 'allow updates',0
go
reconfigure with override
搞定,查看数据库中的数据,已经完全恢复。
3.硬盘的空间不够,比如日志文件过大;
找到一些解决办法,但具体过程稍有不同现总结如下:
A.我们使用默认方式建立一个供恢复使用的数据库(如test)。可以在SQL Server Enterprise Manager里面建立。
B.停掉数据库服务器。
H.验证数据库一致性(可省略)
dbcc checkdb('test')
PS:执行后出现错误,果然在导入数据表部分出错;
一般执行结果如下:
CHECKDB 发现了 0 个分配错误和 0 个一致性错误(在数据库 'test&#与系统管理员联系。
use master
go
sp_configure 'allow updates',1
go
reconfigure with override
go
PS:此步骤未通过,执行'allow updates',1报错,跳过;
F.设置test为紧急修复模式
update sysdatabases set status=-32768 where dbid=DB_ID('test')
此时可以在SQL Server Enterprise Manager里面看到该数据库为“紧急模式”。
G.下面执行真正的恢复操作,重建数据库日志文件
dbcc rebuild_log('test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf')

SQLServer数据库修复方法

SQLServer数据库修复方法
1.使用同版本标准产品环境导出标准库表结构脚本
2.测试环境使用客户数据库还原,导出正式数据库表 Nhomakorabea构和数据脚本
3.用标准表结构脚本覆盖客户表结构脚本,形成修复后的产品数据库结构脚本
4.测试环境SQLServer使用创库脚本建立同正式库库名数据库,使用批量导入SQL工具导入修复后的库结构脚本,检查日志,确认无任何报错
4.确定后,下一步。保证以上窗口中所有对象导出结果都是成功,这样生成的脚本就包含创建数据库的全部语句。
表数据导出方法:
与表结构导出基本一致,如下不同:
1.选择特定数据库对象,选择要导出的表。
2.高级设置其他设置同上,编写USE DATABASE设置为FALSE,编写脚本的数据类型,仅限数据。
注意:测试库,空库名称必须与正式库名称保持一致
1.标准产品导出数据库架构脚本,正式库停服并导出数据库架构脚本、数据库数据脚本;
导出架构需要注意:
1)选择编写整个数据库及所有数据库对象的脚本。
2)高级设置需要设置编写约束、触发器、索引、外键、唯一键、主键脚本均为true,编写USE DATABASE、排序规则等脚本均为true。
3)编写脚本的数据类型,仅限架构;
5.使用批量导入SQL工具导入正式库数据脚本,检查日志,确认无任何报错
6.启动服务测试功能和数据
7.测试2017年2月月度修复包打包,启动测试功能数据
8.测试升级6.0SP1产品,启动测试功能数据
二、正式修复操作方法说明
正式修复操作方式及方法基本与测试过程一致。需要客户准备一台测试服务器,用于整个修复过程。操作过程如下:
2.用标准数据库架构覆盖客户数据库架构脚本;
3.创建空库,名称与正式库一致(与过程使用的库均一致);

SQL Server数据库损坏、检测以及简单的修复办法

SQL Server数据库损坏、检测以及简单的修复办法

在一个理想的世界中,不会存在任何数据库的损坏,就像我们不会将一些严重意外情况列入我们生活中的日常一样,而一旦这类事情发生,一定会对我们的生活造成非常显著的影响,在SQL Server中也同样如此,或许几年内您没有遇见过数据库中出现这类情况,而一旦遇见这类情况,往往伴随着数据的丢失,宕机,严重甚至您本身的职业生涯也会受到影响。

因此对于这类情况,我们需要了解数据库损坏方面的知识,以便我们能够事前准备,事后能够处理。

本篇文章会对数据库损坏的原因、现象、事前和事后的一些处理方法以及简单的修复方法进行探讨。

数据库为什么会损坏?在了解数据库损坏之前,首先我们要了解SQL Server是如何将数据保存到数据文件(MDF、NDF等)。

无论更新还是插入数据,数据都需要首先在内存中的Buffer Pool驻留,然后通过CheckPoint和Lazy Writer等过程将内存中的数据持久化到磁盘。

在这个过程中,数据脏页由内存写入持久化的IO子系统,在此期间,按照IO子系统的不同,数据可能经过这几层:Windows(写数据一定调用的是WINDOWS API)Windows底层的中间层(杀毒软件,磁盘加密系统)网卡、路由器、交换机、光钎、网线等(如果IO子系统不是直连的话)SAN控制器(如果使用了SAN)RAID控制器(IO子系统做了RAID)磁盘或SSD等持久化存储器因此,数据页被写入持久化存储期间,可能经过上述列表中的几项。

在经历上述过程中,硬件环境会受到很多方面的影响,比如说电压是否稳定、断电、温度过高或过低、潮湿程度等,而软件方面,由于软件都是人写的,因此就可能存在BUG,这些都可能导致数据页在传输过程中出现错误。

此外,影响磁盘的因素也包括电压是否稳定、灰尘等因素,这些也有可能引起磁盘坏道或整体损坏。

上面提到的所有因素都可以被归结为IO子系统。

因此,造成数据损坏的情况绝大部分是由IO子系统引起的,还有非常非常小的概率内存芯片也会导致数据页损坏,但这部分情况微乎其微,因此不在本文的讨论之列。

sqlserver数据库出现可疑错误修复方法

sqlserver数据库出现可疑错误修复方法
一、主数据库出现可疑修复方法:
第一种方法:
当数据库发生这种操作故障时,可以按如下操作步骤可处理此要领,打开数据库里的
Sql
查询编辑器式
ALTER DATABASE 数据库名 SET EMERGENCY
?
使数据库变为单用户模式
启动服务
再次,打开
Sql Server 2005
时被标记为“可疑”的数据库已还原正常状态
第二种方法:
如果有数据库全备份,在其他SqlServer机器上先建一个和可疑数据库名称一样的数据库,将全备份还原到先建的数据库,再把新建数据库的ldf和mdf文件拷到可以数据库的目录下。
二、msdb系统数据库可疑
ALTER DATABASE 数据库名 SET SINGLE_USER
?
修正数据库日志重新生成,此命令检查的分配,结构,逻辑完整性和所有数据库中的对 象不正确。当您指定“REPAIR_ALLOW_DATA_LOSS”作为DBCC CHECKDB命令参数,该程序将检查和修正报告的不正确。但是,这些修正可能会导致一些数据丢失。命令:DBCC CheckDB (数据库名 , REPAIR_ALLOW_DATA_LOSS)
如果复制过来是单个用户,那么右键点这个库的属性-选项-限制访问改成MULTI_USER就可以了,目前还没出现问题,建议备份后尝试
?
使数据库变回为多用户模式
ALTER DATABASE 数据库名 SET MULTI_USER
?
开始->
运行->
输入cmd
打开DOS命令窗口,输入以下命令重启数据库服务
Net stop mssqlserver --

修复SQLSERVER

修复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时,总会时不时提示安装程序被挂起的问题,害得我装了N次的系统,就在前几天晚上照样害我三点钟才睡,最终我上网查看了很多资料之后总结如下,希望对大家有所帮助:今天在服务器上的SQL server挂了之后,重新装了,可老提示什么狗P程序被挂起的信息,最后不得不细找原因,功夫不负有心人,终于找出了病症所在,K,我要早知道这么简单,就再也不装系统了.....汗死,详情如下,做个备份,以便今后再碰到类似问题有地方查!1、先运行你的安装程序,当提示挂起时,点击“确定”,切记,不要退出安装程序,用ALT+Tal 键切换,点击“开始》运行”,输入“regedit”,打开注册表2、找到目录HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager3、删除其中的“PendingFileRenameOperations”(在这里说明一下,PendingFileRenameOperations文件位于Session Manager右侧,即当你点击Session Manager 时,在右边就可以看到了)4、关闭注册表5、重新开始安装SQL Server 2000,一切OK了。

简单吧6、问题解决了,哈哈(如果上述步骤没能解决你问题,请继续往后看)二、我是在WIN2003下安装的SQL2000,不用管"...SQL2000SP2不能安装在WIN2003下.."的提示,点继续,等安装完后再马上打上SP3,没有问题!只是在安装过程中还出现了这个错误:安装程序配置服务器失败。

参考服务器错误日志和C:\WINNT\sqlstp.log 了解更多信息.WINNT目录下的sqlstp.log中最后是这样的错误信息:正在启动?Chinese_PRC_CI_AS-m -Q -T4022 -T3659正在与服务?driver={sql server};server=GH;UID=sa;PWD=;database=master[Microsoft][ODBC SQL Server Driver][Shared Memory]一般性网络错误。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Pubwin2009SQLServer数据库修复常见问题方法目录Pubwin2009SQLServer数据库修复常见问题方法 (1)一、修复一致性错误和分配错误 (2)二、用自动备份文件(local_db.DBBak)恢复local数据库 (3)三、修复置疑的数据库 (9)四、最大限度导出会员 (22)五、local数据库文件和自动备份文件都损坏或丢失 (23)六、合并会员表 (24)七.Pubwin2009各个表的作用 (33)一、修复一致性错误和分配错误数据库的基本信息:Pubwin2009的数据库文件有4个(路径为:Hintsoft\PubwinServer\database 下的“local_Data.MDF”和“local_log.LDF”“eventDB_Data.MDF”和“eventDB_log.LDF”;其中eventDB数据库专门存放会员事件记录和部分省市的实名ID卡库,local数据库存放除eventDB 数据库以外的全部数据(包括会员数据、各项计费相关设置、各项报表数据、各项历史记录数据) 注意:在对数据库做任何操作前请一定注意备份数据库。

Pubwin2009默认会间隔37分钟自动进行差异备份local数据库,自动备份文件其路径为:Hintsoft\PubwinServer\appServ\server\webapps\NetCafe\backup\longtermdata下“local_db.DBBak”),用此文件恢复会丢失最近37分钟的全部记录。

修复数据库步骤:在数据库损坏时候,优先考虑使用自动备份文件来恢复local数据库,恢复方法本文档下面会谈到,不能恢复时再用修复置疑的方法处理,用置疑方法不能导出完整会员表时,可以尝试用最大限度导出会员的工具(方法如下)。

1、开始检查local数据库是否发生一致性错误或分配错误:并把Pubwin2009服务停止,只启动SQLSERVER服务;进入CMD。

输入osql -U netcafe –P 数据库密码1>use local2>go1>dbcc checkdb2>go2、发现错误后我们要开始修复,所使用语句下:(1)把数据库置为单用户模式sp_dboption'local','single user', 'true'go(2)修复数据库DBCC checkdb('local',REPAIR_ALLOW_DATA_LOSS)go如果DBCC checkdb('local',REPAIR_A LLOW_DATA_LOSS)语句执行一次不行,可以在多执行几次直到没有再提示数据库有错误为止.(3)设置为多用户模式sp_dboption 'local', 'single user', 'false'(4)如有必要可以收缩(压缩)下数据库:DBCC SHRINKDATABASE (local, 0)go3、然后停止SQLSERVER,重新启动Pubwin2009服务控制器就可以了。

二、用自动备份文件(local_db.DBBak)恢复local数据库1、新建一个全新的local数据库:点确定完成新建空库,可以把新建的空库备份,方便以后使用。

首先要新建个空的local数据库(方法同上),然后在local上右键->所有任务->还原数据库在下面对话框上选从设备,点选择设备。

点添加浏览到自动备份文件所在目录,选择local_db.DBBak点确定,回到还原数据库对话框,点选项,选择使数据库不再运行,但能还原其它事务日志点确定开始还原数据库,完成后弹出以下提示。

此时local显示为正在装载,再点一遍还原数据库-->选从设备-->选择设备-->点添加--> 浏览到自动备份文件所在目录-->选择local_db.DBBak-->点确定, 回到还原数据库对话框打开查看内容:选择你需要的某个时间点将其恢复,通常为最后一个时间。

这个时候把local分离出去,把local的2个文件(“local_Data.MDF”和“local_log.LDF”)拷贝到\database 文件夹下替换,重新附加\database 文件夹下的local附加到SQL,如有必要可以收缩下数据库 DBCC SHRINKDATABASE (local, 0) 这时启动Pubwin2009服务控制器就好了。

三、修复置疑的数据库修复置疑的数据库基本步骤:取消local置疑状态->从相同版本的安装包里面获取空的数据库附加为local2-->把必要的5个表导入到空库中-->分离置疑的local 和local2数据库-->把服务端数据库目录Hintsoft\PubwinServer\database下的原始2个旧文件重命名-->然后把local2数据库的2个文件复制到服务端数据库目录Hintsoft\PubwinServer\database下-->附加为local-->启动服务。

1、什么情况下可能是数据库发生置疑导致的?1)打开后台提示:“server not ready yet”2)Pubwin 2009服务控制器运行时,提示发生错误:2、检查数据库是否置疑:1)启动SQL数据库服务:2)在运行中输入cmd,进入到cmd命令窗口。

3)输入osql -U netcafe –P 数据库密码4)use local5) go6) 若local数据库发生置疑即提示下图,eventDB数据库的检查方法同上。

3、若发生置疑,即需要使用SQLManager.rar和S QL查询分析器.rar工具,来修复置疑,下载地址:ftp://pubwinxz:pubwinxz@203.110.170.240/WWW/1)将SQLManager.rar解压缩到D盘根目录,运行Reg.Bat进行注册一遍。

注意:当打开我的电脑--管理--服务时会提示:在运行里面输入services.msc 即可打开服务。

2)运行SQL Server Enterprise Manager.MSC 打开3)连接SQL数据库服务,编辑属性:4)设置登录数据库的账户:netcafe 务必勾选:总是提示输入登录名和密码。

5)输入登录数据库的密码:新安装Pubwin2009服务端时,数据库密码默认是pubwin以后则以在Pubwin2009 后台Web 管理平台中,修改的数据库密码为准,然后点连接,再点确定即可登录数据库,6)登录数据库后,即可查看数据库的置疑情况。

7)用SQL查询分析器取消置疑状态:执行isqlw.exe开始连接SQL数据库:把以下语句粘贴到SQL查询分析器去执行或者按F5,USE MASTERGOSP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE GOUPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='local' Gosp_dboption 'local', 'single user', 'true'GoDBCC CHECKDB('local')Goupdate sysdatabases set status =28 where name='local'Gosp_configure 'allow updates', 0 reconfigure with override Gosp_dboption 'local', 'single user', 'false'Go如果是eventDB数据库发生置疑,将上面的local改为eventDB即可。

4、如何从Pubwin2009服务端安装包中获取:双击打开服务端安装包目录下的Data1.cab压缩包文件,如图:将两个空的数据库文件:local_data.mdf和local_log.ldf解压缩到任意目录,例如:D盘根目录。

5、运行完此脚本后数据库就不再是置疑状态了,现在把上面从安装包里面提取的空的数据库附加到SQL里面;并重命名local2下面就可以开始导表了,在local上点右键->所有任务->导出数据->下一步:数据源选local,点击下一步:目的选local2,点击下一步:建议只导出必要的5个表:1、client_pc 客户端机型列表(需要转换,方法如下)2、console_clientpc_list 客户端列表3、Leveltype 会员等级列表(需要转换,方法如下)4、mem_localdiscountaccount 优惠时间会员表5、mem_localmemberbaseinfo 会员信息列表转换方法:导出客户端列表console_clientpc_list:导出会员等级列表Leveltype需要转换:导出会员优惠时间表,和会员信息表:然后点击下一步、下一步、完成:6、在通常导过表或者还原过的数据库文件比实际的要大,数据库文件临时空间没有释放,这个时候就需要收缩数据库:注意勾选“在收缩前将页移到文件起始位置”或者查询分析器执行:DBCC SHRINKDATABASE (local2, 0) 注意:local2为数据库名称。

7、这个时候把local和local2都分离,如图:8、把服务端数据库目录Hintsoft\PubwinServer\database下的原始2个旧文件“local_Data.MDF”和“local_log.LDF”)重命名,然后把local2数据库的2个文件复制到服务端数据库目录Hintsoft\PubwinServer\database下,附加为local,如图:注意:因为只导出了5个必要的表,所有的营业记录、充值记录、所有的价格方案和设置、当前上机的人员的信息都会丢失,不是不得已的情况下,不建议使用导表的方法。

1)在数据库能访问的情况下,可以用此语句查询出所有用户编号和预付款信息:select uniqueid 用户编号,prepay/100 预付款元 from cur_useraccountGo2)在后台能打开,营业管理--用户视图能打开的情况下,因为其它原因需要导表,可以把后台的用户视图截图下,方便导表后给网民补钱。

3)因为当前表丢失,若启动服务,数据库损坏的时候已经在客户端上机的用户可能会立即关机;所以启动服务前,先请通知网吧做好准备工作。

相关文档
最新文档