RT,有一表[20101213]属于文件组20101213,文件20101213.ndf。由于ndf文件已经丢失,现在我在还原主文件组的备份文件后,怎么也删除不掉表20101213和文件组20101213,提示‘无法删除表20101213,因为表中至少有一部分内容处于离线文件中’。 请大侠赐教。
ps:我没分
ps:我没分
解决方案 »
- 100分,Bulk Insert问题,可不可以在服务器上,访问本地客户机上的文件,进行导入?
- 日期格式轉換
- 数据库中权限的问题
- 请问怎样得出MS SQL语句执行的时间?
- 给存储过程加入事务后,程序出错提示EXECUTE 后的事务计数指出缺少了 COMMIT或 ROLLBACK TRANSACTION 语句。原计数 = 0,当前计数 = 1。
- 文本导入数据库
- linux环境下如何访问sql server
- 大家和zjcxc(邹建) 再帮个忙------我在加班中,55~~~~~~~~~~~
- 江湖救急!!!!!!!!!
- 求助,游标必须声明变量的错误
- 请问高手sqlserver使用参数化查询可以降低内存的使用吗?
- SQL Server差异备份问题
到sysobjects 目录下删除20101213行
干脆一点好了,
建个临时库-->数据导出/导入迁移进临时库-->卸离原库
-->卸离临时库-->附件临时库,库名修改为原库的.
你是说删除sysobjects表中的20101213的行记录?行不通呀,提示‘不允许对系统目录进行即席更新。’
1、备份主文件组primary成xxx.bak
2、还原主文件组
restore database mydb filegroup='primary' from disk='xxx.bak' with replace,recovery 还原后奇怪的不属于primary文件组和表还存在,但它的文件不存在,无法删除。
让表名看不见?那么object_id('20101213')是否为空?如果是也算暂时解决了我的问题
on primary
(name=t1,
filename='c:\t1.mdf'),
filegroup second
(name=t2,
filename='c:\t2.ndf')
log on
(name=log1,
filename='c:\tlog.ldf')use testdb
create table tb (id int )
on secondbackup database testdb
filegroup='primary'
to disk='c:\t1.bak' with init/*开始测试*/
--关闭sqlserver删除t2.ndf
use master
restore database testdb filegroup='primary' from disk='c:\t1.bak' with replace,recovery
前滚开始点现在位于日志序列号(LSN) 19000000017300001 处。需要继续前滚到 LSN 19000000017600001 之前才能完成还原顺序。另外用,允许更改系统表EXEC sp_configure 'show advanced option', '1'
reconfigure
EXEC sp_configure 'allow updates', '1'
RECONFIGURE WITH OVERRIDE
多谢热情答复,我用的也是SQL2005。
在用restore要前先备份日志尾部
backup database [myDB] filegroup='primary' to disk='xxx.bak' with format
因为系统对象和系统表都存放在primary文件组里。所以尽管次要文件组不存在,但仍能看到该文件组中对象的名称和结构。楼主,对于你的问题,microsoft官方的回答是先建一个新数据库,再将primary文件组中的数据导入。最后drop掉原数据库。