master
:\program
files\microsoft
sql
server\mssql10.
\data
master.mdf
mastlog.ldf
msdb
:\program
files\microsoft
sql
server\mssql10.
\data
msdbdata.mdf
msdblog.ldf
model
:\program
files\microsoft
sql
server\mssql10.
\data
model.mdf
modellog.ldf
tempdb
:\program
files\microsoft
sql
server\mssql10.
\data
tempdb.mdf
templog.ldf
resource
:\program
files\microsoft
sql
server\mssql10.
\binn
mssqlsystem-resource.mdf
mssqlsystem-resource.ldf
sql
server
版本路径
2008
:\program
files\microsoft
sql
server\100\
2005
:\program
files\microsoft
sql
server\90\
2000
:\program
files\microsoft
sql
server\80\
安装/升级日志文件路径:
:\program
files\microsoft
sql
server\\100\setup
bootstrap\log\files\summary.txt
最近修改核心日志文件:
:\program
files\microsoft
sql
server\\100\setup
bootstrap\log\files\sqlsetup[xxx]_[电脑名]_core.log
最近修改windows
用户
接口文件:
:\program
files\microsoft
sql
server\\100\setup
bootstrap\log\files\sqlsetup[xxxx][s]_[电脑名]_wi.log
组件安装文件:
:\program
files\microsoft
sql
server\\100\setup
bootstrap\log\files\sql
setup[xxx]_{电脑名}_sql.log
错误日志存放路径:
:\program
files\microsoft
sql
server\mssql10.
\mssql\log\errorlog
路径可以不用记,但是记住最好。
在SQL Server 7.0和SQL Server2000中,可以用下面的命令查看:DBCC log ( {dbid|dbname}, [, type={0|1|2|3|4}] )
参数:
Dbid or dbname - 任一数据库的ID或名字
type - 输出结果的类型:
0 - 最少信息(operation, context, transaction id)
1 - 更多信息(plus flags, tags, row length)
2 - 非常详细的信息(plus object name, index name,page id, slot id)
3 - 每种 *** 作的全部信息
4 - 每种 *** 作的全部信息加上该事务的16进制信息
默认 type = 0
要查看MSATER数据库的事务日志可以用以下命令:
DBCC log (master)
释放日志空间
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.再附加
E X E C sp_attach_single_file_db @dbname = 'pubs',
@physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.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步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复.
另外提供一种更简单的方法,建议大家使用。
更简单的方法:
1。右建数据库属性窗口--故障还原模型--设为简单
2。右建数据库所有任务--收缩数据库
3。右建数据库属性窗口--故障还原模型--设为大容量日志记录
SQL Server 2008清空删除日志文件方法:在SQL2008中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完全模式。打个SQL查询分析器,在里面输入如下命令后执行即可:USE [master]GOALTER DATABASE DNName SET RECOVERY SIMPLE WITH NO_WAITGOALTER DATABASE DNName SET RECOVERY SIMPLE --简单模式GOUSE DNNameGODBCC SHRINKFILE (N'DNName_Log' , 11, TRUNCATEONLY)GO '这里的DNName_Log 如果不知道在sys.database_files里是什么名字的话,可以用以下注释的语句进行查询'USE DNName'GO'SELECT file_id, nameFROM sys.database_files'GOUSE [master]GOALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAITGOALTER DATABASE DNName SET RECOVERY FULL --还原为完全模式GO欢迎分享,转载请注明来源:内存溢出
评论列表(0条)