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

解决方案 »

  1.   

    附加和分离数据库
    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'
      

  2.   


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

    --收缩指定数据文件,1是文件号,可以通过这个语句查询到:select * from sysfiles
    DBCC SHRINKFILE(1)