CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

sql server运行中,是否能删除主数据库事务日志文件

楼主window221()2005-06-06 17:09:08 在 MS-SQL Server / 基础类 提问

 
  也就是不停止sql   server而删除主事务日志文件 问题点数:20、回复次数:6Top

1 楼zheninchangjiang(徐若涵)回复于 2005-06-06 22:30:13 得分 0

这是不可能的Top

2 楼duanduan1122(俺村俺帅!!!)回复于 2005-06-06 23:05:33 得分 5

可以。  
  1。分离数据库  
  企业管理器--数据库--右击你要删除日志的数据库--所有任务--分离数据库  
  2。然后删除日志文件  
  3。然后再附加数据库  
  企业管理器--数据库--右击数据库--所有任务--附加数据库  
  这时候只附加。mdf就可以了。  
  Top

3 楼duanduan1122(俺村俺帅!!!)回复于 2005-06-06 23:06:20 得分 0

1。但是这时候要马上做一个全库备份  
  2。否则如果你的数据库坏了,数据将全部丢失的。  
  Top

4 楼duanduan1122(俺村俺帅!!!)回复于 2005-06-06 23:07:55 得分 5

附加和分离数据库  
  Microsoft®   SQL   Server™   2000   允许分离数据库的数据和事务日志文件,然后将其重新附加到另一台服务器,甚至同一台服务器上。分离数据库将从   SQL   Server   删除数据库,但是保持在组成该数据库的数据和事务日志文件中的数据库完好无损。然后这些数据和事务日志文件可以用来将数据库附加到任何   SQL   Server   实例上,包括从中分离该数据库的服务器。这使数据库的使用状态与它分离时的状态完全相同。  
   
  如果想按以下方式移动数据库,则分离和附加数据库很有用:    
   
  从一台计算机移到另一台计算机,而不必重新创建数据库,然后手动还原数据库备份。    
   
   
  移到另一物理磁盘上,例如,当包含该数据库文件的磁盘空间已用完,您希望扩充现有的文件而又不愿将新文件添加到其它磁盘上的数据库。    
  将数据库或数据库文件移动到另一服务器或磁盘:    
   
  分离数据库。  
   
   
  将数据库文件移到另一服务器或磁盘。  
   
   
  通过指定移动文件的新位置附加数据库。    
  当附加在数据库上时,必须指定主数据文件的名称和物理位置。主文件包含查找由数据库组成的其它文件所需的信息,除非自分离了数据库后那些文件中的一个或多个已改变了位置。除主文件外,还必须指出其它任何已改变位置的文件。否则,SQL   Server   将试图基于存储在主文件中的不正确的文件位置信息附加文件,且不能成功附加数据库。  
   
  如果将数据库附加到的服务器不是该数据库从中分离的服务器,并且启用了分离的数据库用于复制,则应运行   sp_removedbreplication   从数据库中删除复制。或者,可以在分离数据库之前从数据库中删除复制。  
   
  分离数据库时所产生的错误可能会防碍干净地关闭数据库和重建事务日志。如果收到错误信息,请执行下列操作以纠正错误:    
   
  重新附加所有与数据库相关联的文件,而不仅是主文件。  
   
   
  解决导致错误信息的问题。  
   
   
  再次分离数据库。    
   
  如何附加和分离数据库(企业管理器)  
  附加数据库    
   
  展开服务器组,然后展开服务器。  
   
   
  右击"数据库",然后选择"所有任务"/"附加数据库"。  
   
   
  输入要附加的数据库的   MDF(master   数据文件)名称。如果不确定文件位于何处,单击浏览("...")搜索。最多可以指定   16   个文件名。有关更多信息,请参阅   sp_attach_db。  
   
   
  若要确保指定的   MDF   文件正确,请单击"验证"。"原文件名"列列出了数据库中的所有文件(数据文件和日志文件)。"当前文件位置"列列出了文件的名称和路径。如果   Microsoft®   SQL   Server™   找不到指定位置的文件,则附加操作将失败。可以对"当前文件位置"列进行编辑,并且文件的当前位置必须在该列中才能使附加操作得以进行。例如,如果在分离操作前改变了文件的默认位置,则必须指定当前位置才能使附加操作顺利进行。  
   
   
  在"附加为"框内,输入数据库的名称。数据库名称不能与任何现有数据库名称相匹配。  
   
   
  指定数据库的所有者。  
   
   
  单击"确定"按钮。新附加的数据库的数据库节点即创建在"数据库"文件夹中。    
  分离数据库    
   
  展开服务器组,然后展开服务器。  
   
   
  展开"数据库"文件夹。  
   
   
  右击数据库,然后选择"所有任务"/"分离数据库"命令。该菜单只有在您是   sysadmin   固定服务器角色成员并且所连接的服务器是   SQL   Server   2000   时才可用。无法分离   master、model   和   tempdb   数据库。    
   
   
  在"分离数据库"对话框中,检查数据库的状态。要成功地分离数据库,STATUS   应为:数据库已就绪,可以分离。或者可以选择在分离操作前更新统计信息。  
   
   
  若要终止任何现有的数据库连接,请单击"清除"。  
   
   
  单击"确定"按钮。已分离的数据库的数据库节点即从"数据库"文件夹中被删除。    
   
   
  sp_attach_single_file_db  
  将只有一个数据文件的数据库附加到当前服务器。  
   
  语法  
  sp_attach_single_file_db   [   @dbname   =   ]   'dbname'  
          ,   [   @physname   =   ]   'physical_name'  
   
  参数  
  [@dbname   =]   'dbname'  
   
  要附加到服务器的数据库的名称。dbname   的数据类型为   sysname,默认值为   NULL。    
   
  [@physname   =]   'phsyical_name'  
   
  据库文件的物理名称,包括数路径。physical_name   的数据类型为   nvarchar(260),默认值为   NULL。  
   
  返回代码值  
  0(成功)或   1(失败)  
   
  结果集  
  无  
   
  注释  
  当使用   sp_attach_single_file_db   将数据库附加到服务器时,它创建一个新的日志文件并执行额外的清除工作,从新附加的数据库中删除复制。  
   
  仅对使用显式   sp_detach_db   操作从服务器分离的数据库执行   sp_attach_single_file_db。  
   
  仅对具有单个日志文件的数据库使用   sp_attach_single_file_db。不要对具有多个日志文件的数据库使用此存储过程。  
   
  权限  
  只有   sysadmin   和   dbcreator   固定服务器角色的成员才能执行本过程。  
   
  示例  
  下面的示例分离   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'  
   
   
   
  Top

5 楼xiaojialxd(潇落云)回复于 2005-06-07 08:10:00 得分 0

哪要这么麻烦,清空一下不就行了Top

6 楼631799(杭州工人)回复于 2005-06-07 09:33:11 得分 10

 
  1.清空日志  
  DUMP     TRANSACTION     库名     WITH     NO_LOG          
   
  2.截断事务日志:  
  BACKUP   LOG   数据库名   WITH   NO_LOG  
   
  3.收缩数据库文件(如果不压缩,数据库的文件不会减小  
  企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件  
  --选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了  
  --选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了  
   
  也可以用SQL语句来完成  
  --收缩数据库  
  DBCC   SHRINKDATABASE(客户资料)  
   
  --收缩指定数据文件,1是文件号,可以通过这个语句查询到:select   *   from   sysfiles  
  DBCC   SHRINKFILE(1)Top

相关问题

  • 如何删除SQL_Server中的日志
  • 如何从日志中将删除的记录恢复(sql server)
  • ms-sql server在删除数据怎样不写日志?
  • SQL日志文件太大了如何删除日志
  • SQL日志文件太大了如何删除日志
  • sql server日志问题
  • SQL Server日志问题
  • 如何缩小或者删除日志,我的Sql-Server日志已经1G多了,我的硬盘已经没有空间了。
  • 急!!!,如何删除sql数据库的日志文件?
  • sql server2000 的日志如何删除或减肥

关键词

  • 数据库
  • 文件
  • 服务器
  • 数据
  • 文件夹
  • 物理
  • 附加
  • 分离
  • 日志
  • 删除

得分解答快速导航

  • 帖主:window221
  • duanduan1122
  • duanduan1122
  • 631799

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo