我的机器最近出了毛病,重装了。重装前我对数据库进行了备份,但是重装后我还原的时候,以前的视图都变成了表。请问高手:此为何故?怎样解决?
---------------------------------------------------------------
我碰过这样的问题,这是因为你备份的是视图的SQL 语句,而这些SQL 语句是写成表的(Create Table)
所以,最好的办法就是用mdf文件恢复数据库了!
详细的方法参见联机帮助:sp_attach_db
---------------------------------------------------------------
你是直接拷贝的数据文件和日子文件 还是用的设备备份的
如果是设备备份,还原应该没有什么问题,除非备份前数据库就有问题
如果你是拷贝的文件备份,用下列方法试一下
直接拷贝数据文件
把数据库的数据文件(.mdf)和日志文件(.ldf)都拷贝到目的服务器,在SQL Server Query Analyzer中用语句进行恢复:
EXEC sp_attach_db @dbname = 'test',
@filename1 = 'd:\mssql7\data\test_data.mdf',
@filename2 = 'd:\mssql7\data\test_log.ldf'
这样就把test数据库附加到SQL Server中,可以照常使用。如果不想用原来的日志文件,可以用如下的命令:
EXEC sp_detach_db @dbname = 'test'
EXEC sp_attach_single_file_db @dbname = 'test',
@physname = 'd:\mssql7\data\test_data.mdf'
这个语句的作用是仅仅加载数据文件,日志文件可以由SQL Server数据库自动添加,但是原来的日志文件中记录的数据就丢失了。