社区
应用实例
帖子详情
我的sql 数据库太大了,能把ldf文件删除吗。
shishi1234
2005-06-06 11:26:33
我的sql数据库现在太大了,ldf文件100多M了,我现在想把这个ldf文件删除,但不知是否影响mdf文件。
请帮忙。
...全文
1156
7
打赏
收藏
我的sql 数据库太大了,能把ldf文件删除吗。
我的sql数据库现在太大了,ldf文件100多M了,我现在想把这个ldf文件删除,但不知是否影响mdf文件。 请帮忙。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tian790317
2005-08-20
打赏
举报
回复
这个问题经常出来:
减小日志的方法:
一、用如下步做了:
1、DUMP TRANSACTION 庫名 WITH NOˍLOG
2、BACKUP LOG 庫名 WITH NOˍLOG
3、收縮數據庫
4、設定自動收縮。
二、
分离数据库,删除日志文件,再附加,OK!
右击数据库--所有任务--分离or 附加
iwl
2005-08-20
打赏
举报
回复
可以,先分离,在删掉ldf文件,最后附加
beachshen
2005-08-19
打赏
举报
回复
不要删除日志文件,我尝试过,没有附加成功。这个操作有很大的危险性,尤其是数据重要的情况下,无论做什么你都要先做个备份。如果想缩小日志,请在查询分析器里面操作dump transaction databasename
with no_log,再收缩日志文件,最后的结果就是1024K.
duanduan1122
2005-06-06
打赏
举报
回复
1.ldf文件是日志文件.
2.通过上述方法应该能解决了。
duanduan1122
2005-06-06
打赏
举报
回复
三、
1、backup log 庫名 WITH NOˍLOG
2、BACKUP LOG 庫名 WITH NOˍLOG
3、收縮數據庫
4、設定自動收縮。
duanduan1122
2005-06-06
打赏
举报
回复
减小日志的方法:
一、用如下步做了:
1、DUMP TRANSACTION 庫名 WITH NOˍLOG
2、BACKUP LOG 庫名 WITH NOˍLOG
3、收縮數據庫
4、設定自動收縮。
二、
分离数据库,删除日志文件,再附加,OK!
右击数据库--所有任务--分离or 附加
qjt
2005-06-06
打赏
举报
回复
ldf文件是日志文件,你千万别自己删除
若你把恢复模型设为简单,那日志文件中未活动的部分会自己删除
若恢复模型是完全,可以备份日志文件,日志文件中未活动的部分会被删除
SQL
2008R2
数据库
日志
太大
收缩方法
经验汇总
SQL
2008R2
数据库
日志
太大
收缩方法初学者都可以上手超详细解读!
SQL
SERVER Always On收缩日志
文件
详细操作及问题处理(已亲测通过)
1.
SQL
SERVER Always On收缩日志
文件
详细操作; 2.针对收缩日志出现“cannot be shrunk until all secondaries have moved past the point where the log was added ”问题的分析及解决方法;
汽车电子AutoSAR从入门到精通视频课程
Soad PduR30-LIN总线入门到精通第一讲-Lin总线基础知识31-LIN总线入门到精通第一讲-Lin协议格式32-LIN总线入门到精通第一讲-Lin帧类型33-LIN总线的通信矩阵和
LDF
文件
讲解34-LIN总线在AutoSAR上的应用35-Lin总线诊断...
SQL
Server日志
文件
不断增长处理方法
先了解
SQL
Server需要保存的日志记录: 1、所有没有经过“检查点”的日志记录:
SQL
Server定时执行(Checkpoint),保证“脏页”被写入硬盘。没做Checkpoint的,可能是只在内存中修改,数据
文件
还没同步。
SQL
Server要在硬盘的日志
文件
中有记录,一边异常重启后重新修改。 2、所有没有提交的事务所产生的日志及其后续的日志记录: 所有日志都有严格顺序,不能有跳跃。 3、要做备份的日志记录: 如果恢复模式不是简单模式,那么
SQL
Server会认为用户是要去备份日志记录的。所有没备份的记录都会保留。 4、有其他需要读
绿色
Sql
Server 原理及全新管理工具
几天前在盒子看到绿色
Sql
server很高兴,现将本人对绿色
SQL
Server的现实思路作一说明,不正确的地方还请指教。1.
Sql
servr.exe 运行参数。
Sql
Server的启动可以为Windows服务方式(默认),也可以以应用程序方式启动。下面介绍
sql
servr.exe以应用程序方式启动时的参数问题。
sql
servr 应用程序用法:
sql
servr [-sinstance_name] [-c] [-dmaster_path] [-f] [-eerror_log_path] [-lmaster_log_path] [-m] [-n] [-Ttrace#] [-v] [-x] [-g number] [-O] [-y number]-sinstance_name 指定要连接到的
SQL
Server 实例。如果未指定命名实例,
sql
servr 将启动
SQL
Server 默认实例。重要 启动
SQL
Server 实例时,必须从实例所在的适当目录使用
sql
servr 应用程序。对于默认实例,从 MS
SQL
Binn 目录运行
sql
servr。对于命名实例,在 MS
SQL
$instance_nameBinn 目录运行
sql
servr。-c 表示以独立于 Windows NT 服务控制管理器的方式启动
SQL
Server 实例。当从命令提示符下启动
SQL
Server 时,可使用该选项缩短启动
SQL
Server 的时间。(注意:当使用该选项时,无法通过使用
SQL
Server 服务管理器或 net stop 命令停止
SQL
Server,而且如果已从 Microsoft Windows NT? 系统注销,则
SQL
Server 将停止运行。)-dmaster_path指出 master
数据库
文件
的完全合法路径。在 -d 和 master_path 之间没有空格。-f以最小配置模式启动服务器。然后,系统管理员可对配置选项重新配置(使用 sp_configure 系统存储过程)。-eerror_log_path表示错误日志
文件
的完全合法路径。如果未指定路径,则默认实例的默认位置是 x:Program FilesMicrosoft
SQL
ServerMS
SQL
LogErrorlog,命名实例的默认位置是 x:Program FilesMicrosoft
SQL
ServerMS
SQL
$instance_nameLogErrorlog。在 -e 和 error_log_path 之间没有空格。-lmaster_log_path指示 master
数据库
事务日志
文件
的完全合法路径。在 -l 和 master_log_path 之间没有空格。-m表示在单用户模式下启动
SQL
Server 实例。如果
SQL
Server 是以单用户模式启动的,则只能连接一个用户。CHECKPOINT 机制(它确保完成的事务定期从磁盘高速缓存写入
数据库
设备中)将不启动。(一般情况下,如果您遇到需要修复的系统
数据库
问题时,可使用此选项。)-n表示您不想使用 Windows NT 应用程序日志来记录
SQL
Server 事件。如果用 -n 选项启动
SQL
Server 实例,则最好也使用 -e 选项,否则将不会记录
SQL
Server 事件。-Ttrace#表示应使用指定的有效跟踪标记 (trace#) 来启动
SQL
Server 实例。跟踪标志用来启动具有非标准行为的服务器。有关可用跟踪标记 (trace#) 的更多信息,请参见跟踪标记。重要 当指定跟踪标志时,请使用 –T 来传递跟踪标志号。
SQL
Server 接受小写字母 t (-t);然而,-t 还设置
SQL
Server 支持工程师所需的其它内部跟踪标记。-v显示服务器的版本号。-x禁用维护 CPU 统计。-g memory_to_reserve指定内存的兆字节整数,该内存被保留下来用于
SQL
Server 2000 内部(进程内)运行的其它应用程序。-O指定不需要分布式 COM (DCOM),从而禁用异类查询。-y error_number如果
SQL
Server 2000 遇到在该选项中指定的错误信息,它将把表象堆栈跟踪写入错误日志。可以使用多个 –y 参数指定多个错误。2. 系统
数据库
路径问题. 一般情况下,正常安装
sql
server之后,master等系统
数据库
的路径都是被设置为绝对路径,如果要改正
数据库
的路径为相对路径,可以使用以下
SQl
语句:
sql
:=format(' update sysaltfiles set filename='%s' where filename='%s' ', ['...data'+extractfilename(MDFFile),MDFFile]); ADOQuery1.Close; ADOQuery1.
SQL
.Text:=
sql
; ADOQuery1.Exec
SQL
;
sql
:=format(' update sysaltfiles set filename='%s' where filename='%s' ', ['...data'+extractfilename(LogFile),LogFile]); ADOQuery1.Close; ADOQuery1.
SQL
.Text:=
sql
; ADOQuery1.Exec
SQL
;
sql
:=Format('update sysdatabases set filename='%s' where name='%s'', ['...data'+extractfilename(MDFFile),Edit1.text]); ADOQuery1.Close; ADOQuery1.
SQL
.Text:=
sql
; ADOQuery1.Exec
SQL
;大家打开sysaltfiles 表和sysdatabases 一看就知道了,不多说了。除了系统
数据库
,其它的
数据库
也可以使用这种方法修改为相对路径。 使用相对路径的好处是可以让你的绿色
Sql
server随时copy到任意目录或是任意其它机器上启动,并且原来的
数据库
全部可以使用,如果是绝对路径到了其它机器就不行了。3. 注册表问题: 大家可以看下面的注册表
文件
Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft
SQL
Server$name][HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft
SQL
Server$nameMS
SQL
Server]"AuditLevel"=dword:00000000"DefaultLogin"="guest""ListenOn"=hex(7):53,00,53,00,4d,00,53,00,53,00,48,00,37,00,30,00,00,00,53,00, 53,00,4e,00,45,00,54,00,4c,00,49,00,42,00,00,00,00,00"LoginMode"=dword:00000000"Map_"="""Map#"="-""Map$"="""SetHostName"=dword:00000000"Tapeloadwaittime"=dword:ffffffff"uptime_pid"=dword:00001044"uptime_time_utc"=hex:26,57,c8,b3,fb,bb,c5,01[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft
SQL
Server$nameMS
SQL
ServerCurrentVersion]"CurrentVersion"="8.00.194""RegisteredOwner"="""SerialNumber"="""CSDVersionNumber"=dword:00000300"CSDVersion"="8.00.761""Language"=dword:00000804"checksum"=hex:37,35,32,32,63,31,35,38,61,65,37,64,34,63,64,37,35,30,64,61,30, 33,34,62,37,64,63,32,30,61,36,36,39,37,62,34,61,35,65,36,63,66,62,61,38,37, 39,36,37,31,66,33,39,61,36,65,35,64,30,33,37,36,37,65,64,36,33,30,61,39,63, 36,66,37,36,30,35,65,32,66,34,66,31,33,63,39,33,63,34,66,62,66,34,66,64,38, 64,65,36,64,35,34,37,33,35,39,35,32,36,63,61,32,36,63,33,32,64,34,36,33,65, 36,39,34,30,65,61,37,64,35,30,61,66,34,64,32,66,38,37,36,30,61,39,64,30,61, 32,36,64,65,66,66,00[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft
SQL
Server$nameMS
SQL
ServerParameters][HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft
SQL
Server$nameMS
SQL
ServerSuperSocketNetLib]"ProtocolList"=hex(7):74,00,63,00,70,00,00,00,6e,00,70,00,00,00,00,00[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft
SQL
Server$nameMS
SQL
ServerSuperSocketNetLibNp]"PipeName"="\.pipeMS
SQL
$$name
sql
query"[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft
SQL
Server$nameMS
SQL
ServerSuperSocketNetLibTcp]"TcpHideFlag"=dword:00000000"TcpDynamicPorts"="$port""TcpPort"="$port"[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft
SQL
Server$nameSetup]"FeatureName"="
Sql
Run""FirstStart"=dword:00000000"ProductCode"="{E09B48B5-E141-427A-AB0C-D3605127224A}""
SQL
DataRoot"="$path""
SQL
Path"="$path"这是注册一个
Sql
Server实例所要使用的注册表,把里面的$name,$path,$port替换成你定义的实例名,当前程序所有路径,监听端口,然后导入注册表就可以了。4. 启动
Sql
Server iPath:=ExtractFilePath(Application.ExeName); CommandLine:=PChar(iPath+'binn
sql
servr.exe -d...datamaster.mdf -l...datamastlog.
ldf
-e...Loglog.txt+Edit1.Text); CreateProcess( nil, CommandLine, nil, nil, true, CREATE_NO_WINDOW, nil, PChar(iPath+'binn'), StartupInfo, ProcessInformation )也可以直接写个.bat运行就ok了.5. 启动日志问题。 这个问题最简单,因为在执行
sql
servr.exe时指定的有log
文件
,你只用用个定时器(50ms)读
文件
,就可以在程序中显示出来启动日志了,呵呵,这只是个思想,具体的自已想办法吧. 6. 停止服务 用CreateProcess可以得到进程ID,TerminateProcess就关了
sql
server进程,服务就停了,简单吧。根据上面的6个步骤,你就可以自已搞定一个绿色的
Sql
Server了.并且你可以根据不同的
sql
server版本,整理出所有版本的绿色
sql
server。绿色
sql
server 企业版绿色
sql
server 个人版绿色 MSDE... ...这样以后遇到什么操作系统都全部搞定。 最后说一句,只要你能把几个
Sql
server版本的数据整理好(主要是系统
数据库
的路径问题(好像现在盒子已经有绿色企业版的
文件
了),DLL全部copy就OK了),都可以使用我的管理工具进行管理,呵呵,当然你也可以作出自已的管理器。我的管理器,主要是为了我自已用,大家如果用着可以,请多提意见。由于
sql
server数据
太大
,并且盒子上已经有了,这次只上传了exe和目录结构。不知道说的是否正确,如果还有什么问题,我们一起交流. Email: 11826088@163.com
应用实例
27,579
社区成员
68,558
社区内容
发帖
与我相关
我的任务
应用实例
MS-SQL Server 应用实例
复制链接
扫一扫
分享
社区描述
MS-SQL Server 应用实例
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章