SQL数据库置疑的解决方法 (2)_第1页
SQL数据库置疑的解决方法 (2)_第2页
SQL数据库置疑的解决方法 (2)_第3页
SQL数据库置疑的解决方法 (2)_第4页
SQL数据库置疑的解决方法 (2)_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SQL2000 数据库置疑的解决方法数据库置疑的解决方法 首先 在任何操作之前 必须要备份数据库 重要 一 分离数据库 1 点击 程序 Microsoft SQL Server 企业管理 打开企业管理器 2 展开服务器组 然后展开服务器 选中要分离的数据库 3 点击鼠标右键 所有任务 分离数据库 出现如下窗口 4 点击确定 该选定的数据库就被分离 5 分离后 把原数据库里面 MDF 主数据文件 LDF 事务日志文件 这两个文件复制到目 标盘下 例 D 盘下 注意事项 只有 使用本数据库的连接 数为 0 时 该数据库才能分离 所以分离数 据库时尽量断开所有对要分离数据库操作的连接 如果还有连接数据库的程序 会出 现数据库的连接状态窗口 显示正在连接此数据库的机器以及名称 点击清除按钮将 从服务器强制断开现有的连接 二 附加数据库 1 在附加数据库之前 首先要移动数据库文件 在附加数据库之前 您必须将与数据库关联的 MDF 主数据文件 LDF 事务 日志文件 这两个文件复制到目标硬盘下 或是同一服务器的不同硬盘目录下 这两个文件一般位于 C Program Files Microsoft SQL Server MSSQL Data 目录下 2 点击 程序 Microsoft SQL Server 企业管理 打开企业管理器 3 展开服务器组 然后展开服务器 4 右击 数据库 然后选择 所有任务 附加数据库 弹出窗口 5 输入要附加的数据库的 MDF 名称 如果不确定文件位于何处 单击浏览 搜索 若要确保指定的 MDF 文件正确 请单击 验证 在 附加为 框内 输入数据库的名称 数据库名称不能与任何现有数据库名称相同 指定 数据库的所有者 6 单击 确定 按钮 新附加的数据库的数据库节点即创建在 数据库 文件夹中 重启双机 1 此时数据库分离 附加完成 必须重启一次双机 修复置疑 1 双机重启后 数据库置疑 下面所有修复置疑的语法 在没有特别提到时 默认数据库都请选择 Master 数 据库 2 修复置疑 必须在 SQL 的查询分析器中才能进行数据修复置疑工作 A 打开查询分析器 当数据置疑之后在查询分析器中是看不到置疑的数 据库名称的 所以进入查询分析器之后 所选数据库默认 Master 数据库即可 复制下面置疑语法到查询分析器中执行 修复数据库置疑的语法 SP configure allow update 1 go RECONFIGURE WITH OVERRIDE go update sysdatabases set status 32768 where name zmsoftpos cs 数据库名称 go dbcc rebuild log zmsoftpos cs D zmsoftpos cs log 重新建立 日志 Go update sysdatabases set status 26 where name zmsoftpos cs Go Sp configure allow update 0 Go Reconfigure with override GO 备注 其中所有的 zmsoftpos cs 是置疑的数据库名称 请根据客户实 际的置疑数据库进行更改名称 其他的内容不变 B 拷入置疑语法之后 请按 F5 执行 如果显示框内显示的内容如下表示 置疑修复成功 C 置疑修复成功之后 再到如上图的 master 下拉框架内就可以选择所修 复的置疑数据库了 此时置疑是修复成功了 但是并不代表此数据库 就没有问题了 请暂时不要进软件 我们还需要检查数据库有没有问 题 3 检查修复置疑好的数据库是否正常 D 打开查询分析器选中修复好的数据库名称 输入 dbcc checkdb 语 法 再按 F5 执行 根据数据库的大小执行需要的时间不确定 请耐心 等待 执行完之后在显示框内就会显示一些相关内容如下图 A 如上图所示 把显示框拖到最下面 如果 CHECKDB 发现了 0 个分配错误和 0 个一致性错误 即表示此数据库已经好了 不用再修复了 客户即可进入软件进行 操作了 备注 以下的语法就不用再执行了 修复数据库只限于 DBO 使用 执行以下命令 解除单用户模式 Sp dboption zmsoftpos cs single User False B 如果执行 dbcc checkdb 后显示框内显示了很多红色的记录 那么表示这个数据库的有 些表还有错误需要修复 2 修复过程如下 修复过程中语法内的数据库名称都根据客户使用的数据库进 行更改 A 首先退出所有的客户端软件与企业管理器 只打开查询分析器 默认 数据库 Master 拷入如下语法执行 sp dboption zmsoftpos cs single user true 备注 其中的数据库名称根据客户使用的数据库进行更改 此语法是把数 据库设置为 单用户模式 B 设置为单用户模式之后 拷入如下语法进行多次执行 dbcc checkdb zmsoftpos cs REPAIR REBUILD 备注 数据库名称根据客户使用的数据库进行更改 此语法可以多次执行 也需要多次执行 每执行完一次拖到显示框内的最后面如果 发现的是 0 个分配错误与 O 个一致性错误 就不用再修复了 只需执行下面语法即可 Sp dboption zmsoftpos cs single User False 备注 下面的语法也不需执行了 如果执行多次之后 CHECKDB 发现了 N 个分配错误和 N 个一致性错误 不会再次减少时 表示此语法修复不成功 需要进行下面的修复过程 C 再把下面语法拷进入 进行多次执行 dbcc checkdb zmsoftpos cs REPAIR allow data loss 备注 此语法的执行与上面 B 点中执行的语法过程一样 执行到此 步骤百分之九十以上的数据库都是可以修复的 如果执行到最后分配错误 与一致性错误还不减少 那么执行下面的 D 操作 D 拷入如下语法执行 exec sp MSforeachtable dbcc dbreindex 备注 执行此语法时 此时的 Master 数据库名称一定要选择修复的 数据库名称 执行才会生效 执行完成之后 再使用 dbcc checkdb 语法再检查一次 如果是 发现的是 0 个分配错误与 O 个一致性错误 表 示修复成功 如果是 CHECKDB 发现了 N 个分配错误和 N 个一致性错 误 表示此数据库坏得很历害 使用此方法已不能修复成功了 必面使用其他 方法了 最后不管修复成不成功都要使用下面的语法结尾 Sp dboption zmsoftpos cs single User False 备注 把之前的单用户模块解除掉 3 在上面的修复过程中不能解决的问题 再使用 BCP 命令语法进行修复 例 以超市版本为例 超市版本的数据库名称为 zmsoftpos cs A 打开帐套管理新建一个相同的帐套 数据库名称就会是 zmsoftpos cs 01 的帐套名称 新建好之后 一定要使用后台登录进去一 次 再退出后台 B 打开查询分析器 选择好帐套数据库 zmsoftpos cs 把下面的语法 拷进入按 F5 执行 select if EXISTS SELECT FROM zmsoftpos cs 01 sysobjects WHERE name char 39 name char 39 char 13 delete from zmsoftpos cs 01 name from zmsoftpos cs sysobjects where type U and name not in system sheet setup system mode file system image order by name 执行完成之后在下面的显示框架内就会出现如下语法 使用鼠标左击一下图片中红色圆圈内的按钮 就会选中下面的语法 然后 再到红色圆圈内的按钮上点鼠标右键 点击另存为 就会出现如下对话 其中的保存类型一定要先选择所有文件 然后再到文件名处 填写好如图 片中输入的名称 然后点保存 C 以上的语法另存为之后 再拷入以下的语法执行 select bcp zmsoftpos cs name out f data name txt c S127 0 0 1 Usa P422426362227001 from zmsoftpos cs sysobjects where xtype U and name not in system sheet setup system mode file system image order by name 备注 以上的语法中有一个文件存放路径 f data 此路径根据实际 的情况创建 然后更改过来 再执行 执行之后 按照上面的方法 点击 另存为如下图 其中的保存类型也要先选择所有文件 然后再到文件名中填入如图上的名 称 导出数据 bat 文件名 然后再点保存 保存的路径一定要是上面语 法中设置中文件夹的路径 D 此时再选择超市版本的 zmsoftpos cs 01 的帐套名称 然后在左上角 的文件中打开找到之前保存的 删除数据 sql 的文件 把其中的 delete from 全部替换成 truncate table 然后再按 F5 执行 E 把 D 点的语法执行完成之后 还是选择 zmsoftpos cs 01 帐套再执行 以下的语法 select bcp zmsoftpos cs 01 name in f data name txt c S127 0 0 1 Usa P422426362227001 from zmsoftpos cs sysobjects where xtype U and name not in system sheet setup system mode file system image order by name 其中的路径 f data 一定要与 C 点中的路径一致 按 F5 执行之后 按照 C 点的步骤 把显示框内的语法另存为 导入数据 bat 的文件名 保存到语法的路径文件夹内 F 以上的步骤操作完成之后 打开以上语法存放的径路 先双击导出数 据文件 双击之后就会出现如下对话框架 此界面表示 正在从原帐套里面把数据导

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论