附加数据库时出现错误5173时的解决办法

原文整理自:邹建csdn

 

附加数据库:  
   
  企业管理器  
  --右键"数据库"  
  --所有任务  
  --附加数据库  
  --选择你的.mdf文件名  
  --确定  
  --提示没有.ldf文件,是否创建,选择"是"  
   
  查询分析器中的方法:  
   
  --如果只有数据文件的情况  
  sp_attach_single_file_db   '数据库名'  
  ,'数据文件名(*.mdf注意要带目录)'   --后面可以是用,分隔的该数据库的多个数据文件

 

如果没有错,就用文件恢复工具恢复你的日志文件.  
   
  再附加数据库.  
   
  文件恢复工具  
   
  EasyRecovery  
   
  优秀的数据恢复工具,可把受到病毒破坏、格式化、删除的硬盘数据抢救回来!  
  6.0版本使用新的数据恢复引擎,并且能够对ZIP文件以及微软的Office系列  
  文档进行修复!6.0中还包含了Ontrack   Data   Advisor!其他更新请看软件  
  自带的Readme  
   
  ★   FinalData   NT   Standard   1.5  
   
  FinalData   可以回收在   Windows   NT/2000/XP   中被误删的文件。  
  它还可以恢复你的数据,主引导记录(MBR),引导扇区,FAT。  
  它能找回其他类似工具所找不到的,安全,快速,专业

 

1:截断事务日志:  
  BACKUP   LOG   数据库名   WITH   NO_LOG  
   
  2:清空日志  
  DUMP     TRANSACTION     库名     WITH     NO_LOG          
   
  再:  
  企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了  
   
   
  3:   删除LOG  
  1:分离数据库       企业管理器->服务器->数据库->右键->分离数据库  
  2:删除LOG文件  
  3:附加数据库     企业管理器->服务器->数据库->右键->附加数据库  
  此法生成新的LOG,大小只有500多K  
        再将此数据库设置自动收缩  
    或用代码:    
  下面的示例分离   pubs,然后将   pubs   中的一个文件附加到当前服务器。  
   
  EXEC   sp_detach_db   @dbname   =   'pubs'  
  EXEC   sp_attach_single_file_db   @dbname   =   'pubs',    
        @physname   =   'c:/Program   Files/Microsoft   SQL   Server/MSSQL/Data/pubs.mdf'  
   
   
  4:   如果想以后不让它增长  
  企业管理器--服务器--右键数据库--属性--事务日志--将文件增长限制为xM(x是你允许的最大数据文件大小)  
   
  --SQL语句的设置方式:  
  alter   database   数据库名   modify   file(name=逻辑文件名,maxsize=20)  
   
  5.设置为自动收缩  
  企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"

你可能感兴趣的:(SQLServer和其他数据库)