sqlserver⽇志⽂件太⼤解决⽅法
当SQL数据库⽇志⽂件已满,或者⽇志很⼤,就需要压缩⽇志及数据库⽂件:
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)
4.为了最⼤化的缩⼩⽇志⽂件(如果是sql 7.0,这步只能在查询分析器中进⾏)
a.分离数据库:
企业管理器--服务器--数据库--右键--分离数据库
b.在我的电脑中删除LOG⽂件
c.附加数据库:
企业管理器--服务器--数据库--右键--附加数据库
此法将⽣成新的LOG,⼤⼩只有500多K
或⽤代码:
下⾯的⽰例分离 pubs,然后将 pubs 中的⼀个⽂件附加到当前服务器。
a.分离
E X E C sp_detach_db @dbname = "pubs"
b.删除⽇志⽂件
c.再附加
sql数据库备份文件 E X E C sp_attach_single_file_db @dbname = "pubs",
@physname = "c:Program FilesMicrosoft SQL ServerMSSQLDatapubs.mdf"
5.为了以后能⾃动收缩,做如下设置:
企业管理器--服务器--右键数据库--属性--选项--选择"⾃动收缩"
--SQL语句设置⽅式:
E X E C sp_dboption "数据库名", "autoshrink", "TRUE"
6.如果想以后不让它⽇志增长得太⼤
企业管理器--服务器--右键数据库--属性--事务⽇志
--将⽂件增长限制为xM(x是你允许的最⼤数据⽂件⼤⼩)
--SQL语句的设置⽅式:
alter database 数据库名 modify file(name=逻辑⽂件名,maxsize=20)
特别注意:
请按步骤进⾏,未进⾏前⾯的步骤,请不要做后⾯的步骤
否则可能损坏你的数据库.
⼀般不建议做第4,6两步
第4步不安全,有可能损坏数据库或丢失数据
第6步如果⽇志达到上限,则以后的数据库处理会失败,在清理⽇志后才能恢复.
SQL Server 如何设置数据库的默认初始⼤⼩和⾃动增长⼤⼩
sqlserver2008⽇志已满解决⽅法,SQL Server 如何设置数据库的默认初始⼤⼩和⾃动增长⼤⼩
1、数据库右键属性-选项-恢复模式-下拉选择简单-最后点击确定
2、右键数据库-任务-收缩-⽂件类型-下拉选择⽇志-收缩操作-在释放未使⽤…(默认收缩到1MB)-最后点击确定
3、最后别忘了回到第⼀步骤把恢复模式改为完整!
我们在SQL Server中新建数据库的时候,可以选择数据库⽂件及⽇志⽂件的初始⼤⼩、⾃动增长⼤⼩和最⼤⼤⼩,如下图所⽰:
可以通过设置更改数据库初始⼤⼩、⾃动增长⼤⼩和最⼤⼤⼩:
但是其实在SQL Server中新建数据库时,数据库的初始⼤⼩、⾃动增长⼤⼩和最⼤⼤⼩的默认值,是可以在model这个系统数据库上预设的。
⽐如现在我们将model系统数据库的初始⼤⼩设置为50MB,数据库⽂件增量设置为90MB,数据库⽂件最⼤⼤⼩设置为1024MB,如下图所⽰:
然后现在我们再在SQL Server中新建⼀个数据库:
然后我们可以看到新建数据库的初始⼤⼩默认为50MB,数据库⽂件增量默认为90MB,数据库⽂件最⼤⼤⼩默认为1024MB,和系统数据库model的⽂件设置完全相同。
所以这就是model这个系统数据库的作⽤,它实际上是SQL Server中新建数据库的⼀个模板,SQL Server中新建的数据库会套⽤model这个系统数据库上的设置作为默认值。所以我们可以在model系统数据库上设置⽂件初始⼤⼩、⽂件增量和⽂件最⼤⼤⼩,从⽽作为新建数据库的预设默认值。
是否使⽤恢复模式设置为“完整”还是“简单”
1. 如果不是特别重要的库(关系到钱),⼀般不推荐恢复模式设置为“完整”,⽽如果你设置恢复模式为“简单”,基本不会发⽣⽇志过⼤
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论