可能重复:
如何在 SQL Server 中附加数据库?
我得到了一个数据库的 MDF,没有备份,也没有要求我将数据库附加到 SQL 服务器的 LDF。我收到以下错误:
File activation failure. The physical file name "C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER2K8\MSSQL\DATA\something.LDF" may be incorrect.
The log cannot be rebuilt because there were open transactions/users when the database was shutdown, no checkpoint occurred to the database, or the database was read-only. This error could occur if the transaction log file was manually deleted or lost due to a hardware or environment failure.
我尝试了Paul Randall 的创建相同大小数据库的方法,将其置于紧急单用户模式并尝试以这种方式在线设置。有没有其他选择,或者我告诉给我这个文件的人数据已损坏?
我正在为备份到基于云的服务的人寻找问题。显然,客户的服务器在对基于云的服务的数据存储执行一些维护时崩溃,这使数据存储处于损坏状态。同时,客户的服务器因崩溃而无法恢复。
基于云的服务的开发人员必须编写一个脚本来查找属于数据库备份的数据块,并将它们拼接成一个文件。
这导致了一个备份 (.bak) 文件,我可以判断其中包含数据(我可以在其上运行“字符串”并查看标题,以及文件名、表名、数据行等),但不会' t 由 SQL Server 处理。我得到:
restore headeronly from disk = 'c:\restore.bak'
Msg 3241, Level 16, State 0, Line 1
The media family on device 'c:\restore.bak' is incorrectly formed. SQL Server cannot
process this media family.
Msg 3013, Level 16, State 1, Line 1
RESTORE HEADERONLY is terminating abnormally.
Run Code Online (Sandbox Code Playgroud)
死机上的源实例和我测试恢复的源实例都是 SQL Server 2008 R2,因此不幸的是,版本不匹配不是错误的根源。
我在十六进制编辑器 (xvi32) 中与另一个数据库的有效备份文件进行了比较,并注意到有效的备份文件以字节 0 处的字符串“tape”开头,但损坏的文件还有一些其他数据,对于 158 字节没有明显意义在那之前。我从损坏的备份中删除了 158 个字节,直到字符串“tape”,这让我走得更远。现在 'RESTORE FILELISTONLY' 起作用了,而在它之前抛出了与上面相同的错误。
“RESTORE HEADERONLY”现在显示“不完整”而不是抛出错误 3013。如果我在进程监视器中跟踪它,我可以看到它尝试在偏移量 7168 处读取 512 个字节,然后尝试在偏移量结束后读取另外 512 个字节文件。该文件几乎肯定是不完整的;根据基于云的服务中的报告工具,它最初是 95.8 …
我用:
在从MySQL数据库读取数据时,系统不断显示以下错误:
InnoDB: Database page corruption on disk or a failed
InnoDB: file read of page 387794.
Run Code Online (Sandbox Code Playgroud)
重新启动系统后,我可以重新访问数据库并读取“有问题”的数据几分钟或几小时没有任何问题,直到再次出现相同的问题(针对不同的数据读取尝试)。
关于问题根源的任何想法?
AppArmor没有任何结果。SQL_NO_CACHE了查询中的选项,但没有任何结果120918 13:07:06 InnoDB: Page checksum 3504102879, prior-to-4.0.14-form checksum 1216630776
InnoDB: stored checksum 2100325079, prior-to-4.0.14-form stored checksum 1216630776
InnoDB: Page lsn 2 1168743501, low 4 bytes of lsn at page end 1168743501
InnoDB: Page number (if stored to page already) 387794,
InnoDB: space id (if created with >= MySQL-4.1.1 …Run Code Online (Sandbox Code Playgroud) 我有一个包含 15 000 000 条记录的大表,突然 Select Top 停止工作。我使用 MS SQL 管理工作室。
这不起作用,查询返回 0 条记录:
SELECT TOP (10)
[Id]
,[Result]
,[DateStamp]
,[ConversionTime]
,[Converter]
,[SourceFileFormat]
,[DestinationFileFormat]
,[Ip]
,[Source]
,[Error]
,[UserId]
,[TokenId]
,[ConversionCost]
FROM [ca-v2].[dbo].[Log]
Run Code Online (Sandbox Code Playgroud)
令我惊讶的是,如果我尝试选择一个 ID 字段,它会正常工作。
工作正常:
SELECT TOP (10)
[Id]
FROM [ca-v2].[dbo].[Log]
Run Code Online (Sandbox Code Playgroud)
此外,如果我在最后添加 order by 查询也开始工作:
SELECT TOP (10)
[Id]
,[Result]
,[DateStamp]
,[ConversionTime]
,[Converter]
,[SourceFileFormat]
,[DestinationFileFormat]
,[Ip]
,[Source]
,[Error]
,[UserId]
,[TokenId]
,[ConversionCost]
FROM [ca-v2].[dbo].[Log]
Order By [DateStamp]
Run Code Online (Sandbox Code Playgroud)
我跑到DBCC CHECKTABLE桌子上,收到以下错误:
错误:消息 8978,级别 16,状态 1,第 1 行
表错误:对象 ID 1029578706,索引 …
我想破坏某个表中的页面并恢复它。
我如何在 SQL Server 上做到这一点?
我正在尝试在最近的数据库损坏后恢复我的数据库。现在我有两张桌子真的给我带来了麻烦。
当我做select count(*)一张桌子返回:
错误:无法访问事务 2619431010 的状态
详细信息:无法打开文件“pg_clog/09C2”:没有这样的文件或目录。
另一个返回:
错误:关系基/11974232/11975439 的块 94206 中的页头无效
有什么方法可以解决并取回我的数据?
我没有使用 MySQL 的经验。我的老板optimize针对 MySQL 数据库运行了一个。反对一堆观点,我们得到了消息
“tablexyz”不是基表
下一条消息是
腐败
它似乎只针对视图,我们没有收到针对基表的任何这些错误消息。
这看起来像是不正确的错误消息,还是我们的表有问题?
我管理一个 Percona XtraDB 集群,它使用一个带有摆动连接的网络存储。我们会定期遇到高 iowait 崩溃并以只读方式重新挂载 fs。不幸的是,目前还不能更换存储设备。
最近发现在运行mysqldump或mysqlcheck时,会导致节点上的MySQL服务器崩溃,报错 mysqlcheck: Got error: 2013: Lost connection to MySQL server during query when executing 'CHECK TABLE ... '
以下是mysqld.log崩溃期间的内容:
InnoDB: Error in pages 9479 and 9480 of index "PRIMARY" of table "foobar"."quux"
InnoDB: broken FIL_PAGE_NEXT or FIL_PAGE_PREV links
2015-09-28 14:39:45 7f015813b700 InnoDB: Page dump in ascii and hex (16384 bytes):
(...)
InnoDB: End of page dump
2015-09-28 14:39:45 7f015813b700 InnoDB: uncompressed page, stored checksum in field1 4038097986, calculated checksums for field1: …Run Code Online (Sandbox Code Playgroud) 我的 SQL Server 数据库有问题。今天打开看到一个错误——SQL Server Table Corruption Error。
我不知道这个错误的原因。我应用了 SQL Server Management Studio,但它无法完全恢复我的数据库。
有人知道修复 SQL Server 数据库的方法吗?
我想破坏一个数据库页面,并恢复相同的页面。
我怎么做?