毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 数据库 >> 正文

尝试在数据库 2 中提取逻辑页 (1:577) 失败。该逻辑页属于分配单元 422214457884672,而非 8286623418647773184

更新时间:2013-4-27:  来源:毕业论文

尝试在数据库 2 中提取逻辑页 (1:577) 失败。该逻辑页属于分配单元 422214457884672,而非 8286623418647773184

尝试在数据库 2 中提取逻辑页 (1:577) 失败。该逻辑页属于分配单元 422214457884672,而非 8286623418647773184。 失败

请问怎么样解决?

USE database_name;
GO
SELECT au.allocation_unit_id, OBJECT_NAME(p.object_id) AS table_name, fg.name AS filegroup_name,
au.type_desc AS allocation_type, au.data_pages, partition_number
FROM sys.allocation_units AS au
JOIN sys.partitions AS p ON au.container_id = p.partition_id
JOIN sys.filegroups AS fg ON fg.data_space_id = au.data_space_id
WHERE au.allocation_unit_id = 422214457884672 OR au.allocation_unit_id = 422214457884672
ORDER BY au.allocation_unit_id;
GO

查询无记录,怎么样解决啊????毕业论文 

此信息表明数据库或表 已经部分损坏可以通过以下步骤尝试修复:
1. DBCC CHECKDB
重启服务器后,在没有进行任何操作的情况下,在SQL查询分析器中执行以下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来修复。
Sql代码 
use 需要修复的数据库实体的名称  
declare @dbname varchar(255)  
set @dbname='需要修复的数据库的名称'  
exec sp_dboption @dbname,'single user','true'  
dbcc checktable('需要修复的数据表的名称',REPAIR_ALLOW_DATA_LOSS)  
dbcc checktable('需要修复的数据表的名称',REPAIR_REBUILD)  
------把’ 需要修复的数据表的名称’更改为执行DBCC CHECKDB时报错的数据表的名称  
exec sp_dboption @dbname,'single user','false' 

3. 其他的一些常用的修复命令
DBCC DBREINDEX 重建指定数据库中表的一个或多个索引
用法:
Sql代码 
DBCC DBREINDEX (表名,’’) 修复此表所有的索引。 

4.DBCC CHECKALLOC
检查指定数据库的磁盘空间分配结构的一致性

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。