gpt4 book ai didi

sql-server - 如何附加一个只有 MDF 文件的 MSSQL 2000 数据库

转载 作者:太空狗 更新时间:2023-10-30 01:49:04 24 4
gpt4 key购买 nike

我有一台旧服务器,上面有一个已失效的 SQL 2000 评估版(从 2006 年开始),上面有两个数据库。

由于某些未知原因,LDF 日志文件丢失。假定已删除。

我有该服务器上曾经存在的数据库的 mdf 文件(在一种情况下还有一个 ndf 文件),我正试图让它们在我周围的另一个 SQL 2000 机器上运行。

sp_attach_db 提示日志文件丢失,并且不会附加数据库。试图通过使用同名数据库中的日志文件来愚弄它的尝试不幸地失败了。 sp_attach_single_file_db 也不起作用。 mdf 文件显然没有完全分离。

如何使数据库附加并可读?

最佳答案

我找到了这个答案,它适用于我的 SQL 2000 机器:

如何使用未完全分离的 MDF 文件附加数据库。

第 1 步:在新服务器上创建一个同名的新数据库,并使用与旧数据库相同的文件。

第 2 步:停止 SQL 服务器,并将您的 mdf 文件(以及您拥有的任何 ndf 文件)移动到您刚刚创建的新文件之上。删除任何日志文件。

第 3 步:启动 SQL 并运行它以将数据库置于紧急模式。

sp_configure 'allow updates', 1
go
reconfigure with override
GO
update sysdatabases set status = 32768 where name = 'TestDB'
go
sp_configure 'allow updates', 0
go
reconfigure with override
GO

第 4 步: 重启 SQL 服务器,观察数据库是否成功进入紧急模式。

第 5 步:运行此未记录的 dbcc 选项以重建日志文件(在正确的位置)

DBCC REBUILD_LOG(TestDB,'D:\SQL_Log\TestDB_Log.LDF')

第 6 步:您可能需要重置状态。即使您不这样做,这样做也不会造成任何伤害。

exec sp_resetstatus TestDB

第 7 步:停止并启动 SQL 以查看新恢复的数据库。

关于sql-server - 如何附加一个只有 MDF 文件的 MSSQL 2000 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/126587/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com