解决方法:
1、事件查看器里还看到关于“passed to log scan in database 'model' is invalid”的信息。用SQL安装文件里的model.mdf和modellog.ldf进行替换,未解决。于是又换回原来的文件。
2、从网上搜了一下解决办法(蓝色部分)(版规:"发帖和回帖所用字体不能使用超过3号规格的各类颜色字体",我理解为当文字超过3号就不能用颜色了。如果理解有误,请版主指正,因为本帖太长,下面这段引用如果不加颜色区分就太乱了,我真不是故意打擦边球)
————————————————————
--1.停用数据库服务器,我们把损坏的数据库移动到其他位置。使用默认方式建立一个供恢复使用的与原来同名的数据库(如pos)。可以在SQL Server Enterprise Manager里面建立。
--2.停掉数据库服务器。
--3.将刚才生成的数据库的日志文件pos_log.ldf删除,用要恢复的数据库mdf文件覆盖刚才生成的数据库数据文件pos_data.mdf。
--4.启动数据库服务器。此时会看到数据库pos的状态为“置疑”。这时候不能对此数据库进行任何操作。
--5.设置数据库允许直接操作系统表。此操作可以在SQL Server Enterprise Manager里面选择数据库服务器,按右键,选择“属性”,在“服务器设置”页面中将“允许对系统目录直接修改”一项选中。也可以使用如下语句来实现。
use master
go
exec sp_configure 'allow updates',1
go
reconfigure with override
go
--6.设置pos为紧急修复模式
update sysdatabases set status=-32768 where dbid=DB_ID('pos')
--此时可以在SQL Server Enterprise Manager里面看到该数据库处于“只读\置疑\脱机\紧急模式”可以看到数据库里面的表,但是仅仅有系统表
go
--如果没有出错,那么恭喜,现在就可以正常的使用恢复后的数据库啦。
--10.最后一步,我们要将步骤E中设置的“允许对系统目录直接修改”一项恢复。因为平时直接操作系统表是一件比较危险的事情。当然,我们可以在SQL Server Enterprise Manager里面恢复,也可以使用如下语句完成
exec sp_configure 'allow updates',0
go
reconfigure with override
go
——————————————————————
按照上面的第一步操作就有问题。按理说SQL组里应该有两个数据库,一个local,一个比如叫pos。可问题是,我打开企业管理器,只有一个local数据库,而且还是红色的无法连接。我在当前组里新建pos,最后提示同名,已经存在。无论我是否把损坏的数据库移动走,都是这样。而且服务管理器一直是stop,也根本启动不了。
我打开查询分析器,能选择连接到的只有127.0.0.1,而且还连接不上。
于是后面的步骤没法做。
由于这个机器在超市没有联网,只能一次次的跑去试验。我对操作系统及网络配置这块还行(DHCP DNS IIS等),但对数据库的了解连皮毛都算不上,可那朋友拿我像救命稻草一样,我很无奈。