思迅数据库修复方法整理
三、 BCP数据的导入导出
六、 数据库损坏的原因
use master
go
sp_configure 'allow', 1
go
reconfigure wITh override
go
update sysdatabases set status = 32768 where name = 'isszmv7'
go
--可修改数据库日志文件的生产目录,最好是与数据文件一致;
DBCC REBUILD_LOG ('isszmv7', 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\isszmv7_Log.LDF' )
go
update sysdatabases set status = 0 where name = 'isszmv7'
go
sp_configure 'allow', 0
reconfigure with override
go
USE master
Go
--单用户模式
EXEC sp_dboption 'isszmv7', 'single user', 'TRUE'
go
DBCC CHECKDB ('isszmv7',repAIr_rebuild) --一般修复
DBCC CHECKDB ('isszmv7',repair_allow_data_loss) --高级修复
Go
--再次数据库检查,如果返回结果中没有了红色的提示文字,说明修复成功;
DBCC CHECKDB ('isszmv7')
Go
--退出前请一定要执行以下语句返回到多用户模式
EXEC sp_dboption 'isszmv7', 'single user','FALSE'
Go
--以专卖V7总部数据库为例进行,需要处理其他数据库问题,将isszmv7修改为其他对应的数据库名称即可
--在使用前,指定服务器名称
use isszmv7
select 'bcp isszmv7..'+name + ' out '+'d:\testdb\'+name+'.txt -c -Usa -S服务器名小写 -P' FROM SYSOBJECTS WHERE TYPE = 'U'
ORDER BY NAME
--2.在查询分析器中选择思迅数据库运行:
use isszmv7
select 'bcp isszmv7..'+name + ' IN '+'d:\testdb\'+name+'.txt -c -Usa -S服务器名小写 -P ' FROM SYSOBJECTS WHERE TYPE = 'U'
ORDER BY NAME
--把查询的结果集全部复制下来,新建一个文本文件取名为“导入.bat”把结果集复制进去并保存,把该文件存放在d盘目录下。
--3.运行“导出.bat”(注意:该文件双击即可运行),数据库中的数据会倒出到TESTDB目录中。
--4.删除原来的问题数据库,使用软件的数据库安装程序,重新建立新的数据库。
--5.在查询分析器中选择思迅数据库运行:
use isszmv7
select 'delete '+name FROM SYSOBJECTS WHERE TYPE = 'U'
--然后把返回的结果集复制,新建一个查询分析器窗口,把复制的内容粘贴下运行!
--6.最后运行“导入.bat” ,倒入成功后就恢复数据库了!
--注意:对于服装以及医药软件,需要在导出前确定日结指向那条t_im_flow中数据,记住具体的数据,导入完之后进行日结指针的修改;
use hbfsv8
update t_sys_system set ioflow_pointer = '指针数值'
go
四、数据库修复技巧
--修复表错误语句,替换表名为需要修复的数据表名
DBCC CHECKTABLE(table_name, REPAIR_REBUILD )
DBCC CHECKTABLE(table_name, repair_allow_data_loss )
--重建索引
DBCC DBREINDEX(table_name,'')
--1、修复完数据库之后,需要对有子曾列的数据表进行子曾列的修复,以免出现客户不能正常销售的情况:
--语法:
DBCC CHECKIDENT(table_name,RESEED)
--针对思迅软件直接执行如下语句即可,需要指定数据库名称
--修复索引语句:
use issbakev7 --数据库名请根据修复的数据库进行跟换。
go
declare @tablename varchar(100)
declare test_cur cursor for
select object_name(id) from syscolumns
where status=128
open test_cur
fetch test_cur into @tablename
while @@fetch_status=0
begin
DBCC CHECKIDENT (@tablename, RESEED)
fetch test_cur into @tablename
end
close test_cur
deallOCate test_cur
go
--2、修复完自增列之后,首先备份数据库,保证客户的数据库环境;
--4、对数据库的进行测试,前台销售、批发单据、批发单据,以及档案的查询等
--5、没有问题后,将修复好的数据库发给客户。
六、数据库损坏的原因:
1.错误的删除日志;
2.硬件(HD)损坏,造成日志和数据文件写错误;
4.病毒原因;
5.非法关机;
标签: 思迅
数据库
龙三公子
电脑
技巧方法
分类:电脑网络| 发布:xiadao81| 查看:4822 | 发表时间:2012-08-13
原创文章如转载,请注明:转载自龙三公子博客 https://www.mybabycastle.com/
本文链接:https://www.mybabycastle.com/post/11.html
分类:电脑网络| 发布:xiadao81| 查看:4822 | 发表时间:2012-08-13
原创文章如转载,请注明:转载自龙三公子博客 https://www.mybabycastle.com/
本文链接:https://www.mybabycastle.com/post/11.html
已经有 ( 3 ) 位网友发表了评论,你也评一评吧!
淘宝客交流 2017-03-12 11:26:43 回复
可不可以增加点其他内容呢??淘宝客交流 2017-01-25 19:43:09 回复
可不可以增加点其他内容呢??淘宝客交流 2017-01-25 19:43:09 回复
可不可以增加点其他内容呢??