我是刚刚上班 数据库还不是很强
我现在有个这样难题请教高手
现在我的数据库里面有 几十万笔数据
问题是数据库坏了 怎么把里面的几十万笔数据 导出到另外好的数据库中
再帮坏的数据库新建个 把导出的数据再导到好的新建的好的数据库中表达的意思 希望强人们明白 现在是怎么把坏的数据库里面的数据导出来 是sql 2000的数据库求救!!!!!!!!!!!!
我现在有个这样难题请教高手
现在我的数据库里面有 几十万笔数据
问题是数据库坏了 怎么把里面的几十万笔数据 导出到另外好的数据库中
再帮坏的数据库新建个 把导出的数据再导到好的新建的好的数据库中表达的意思 希望强人们明白 现在是怎么把坏的数据库里面的数据导出来 是sql 2000的数据库求救!!!!!!!!!!!!
Go
sp_configure 'allow updates', 1
reconfigure with override
Go执行结果:DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。已将配置选项 'allow updates' 从 0 改为 1。请运行 RECONFIGURE 语句以安装。------------------------------------------------------------------------------------
9.接着运行如下语句(XXX为要修复的数据库名)。
update sysdatabases set status = 32768 where name = 'XXX' 执行结果:(所影响的行数为 1 行)------------------------------------------------------------------------------------10.运行以下语句,把应用数据库设置为Single User模式(XXX为要修复的数据库名)。sp_dboption 'XXX', 'single user', 'true' 执行结果: 命令已成功完成。------------------------------------------------------------------------------------
11. 做DBCC CHECKDB ,运行如下语句(XXX为要修复的数据库名)。DBCC CHECKDB('XXX')
执行结果:'XXX' 的 DBCC 结果。'sysobjects' 的 DBCC 结果。对象 'sysobjects' 有 273 行,这些行位于 5 页中。'sysindexes' 的 DBCC 结果。对象 'sysindexes' 有 202 行,这些行位于 7 页中。'syscolumns' 的 DBCC 结果。………
-------------------------------------------------------------------------------------12. 运行以下语句把系统表的修改选项关掉(XXX为要修复的数据库名)。sp_resetstatus "XXX"
go
sp_configure 'allow updates', 0
reconfigure with override
Go执行结果:在 sysdatabases 中更新数据库 'XXX' 的条目之前,模式 = 0,状态 = 28(状态 suspect_bit = 0),没有更新 sysdatabases 中的任何行,因为已正确地重置了模式和状态。没有错误,未进行任何更改。DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。已将配置选项 'allow updates' 从 1 改为 0。请运行 RECONFIGURE 语句以安装。-------------------------------------------------------------------------------------
二、用SELECT语句从设为紧急模式的数据内导出数据1.新建数据库名为TEST。2.在当前紧急模式的XXX数据库下执行如下语句,注意是否有错误提示(如果有错请多次执行如下语句)。Declare @CName varchar(255)
Declare @ACName varchar(255)
declare @Dbname varchar(255)
Set @DbName = 'test.dbo.'
Set @ACName = ''
DECLARE authors_cursor CURSOR FOR
Select o.name
From sysobjects o
Where Type = 'u' and o.name not in (select name from test.dbo.sysobjects where type = 'u')
OPEN authors_cursor
FETCH NEXT FROM authors_cursor
INTO @CName
WHILE @@FETCH_STATUS = 0
BEGIN
Set @ACName = 'Select * INTO ' + @DbName + @CName + ' From ' + @CName
Exec( @AcName )
FETCH NEXT FROM authors_cursor
INTO @CName
print @CName
END
CLOSE authors_cursor
DEALLOCATE authors_cursor
GO3.删除设为紧急模式的数据库,再新建同名的数据库XXX,并重新创建新的表、视图、存储过程。4.用DTS把TEST数据库内的数据导到数据库XXX内。5.数据修复完毕,请认真检查数据修复结果。
这样试一下看看行不行吧,不行我也没有办法了