SQLServer的.ldf文件太大怎办?

嗯,这个命令是吧,在 SQL Server 里面确实能干这个事儿。
你想清空日志,用这个命令就行。
不过得小心点,这个操作是把日志文件给干掉了,不是简单备份那种。

你看这个命令,分几步走:
1 . declare @db nvarchar(2 0):先声明个变量,叫 @db,存数据库名字,数据类型是 nvarchar(2 0)。
2 . set @db = '你的数据库名称':然后给这个变量赋值,把你要操作的数据库名字填这儿,比如 'AdventureWorks2 02 2 ',注意引号。
3 . dumptransaction @db with no_log:这一步是关键,dumptransaction 这个命令是备份事务日志,with no_log 这个选项是告诉 SQL Server 不要记录这个操作到事务日志里,这样就避免了对日志的操作产生新的日志,形成循环。
执行完这一步,旧的日志文件就没了。
4 . backup log @db with no_log:这一步也是备份日志,with no_log 同样是为了不清空日志操作本身产生的日志。
5 . dbcc shrinkdatabase (@db):最后一步,dbcc shrinkdatabase 这个命令是收缩数据库文件,把数据库文件的大小缩小到当前需要的最小值。
这一步主要是为了把日志文件占用的空间清空,让文件变小或者被回收。

所以,整个流程就是:备份事务日志(不清日志),备份日志(不清日志操作产生的日志),然后收缩数据库(清空日志文件空间)。

你说的保存成文件,这个可以啊,写个 .sql 文件,把这些命令放进去,以后用的时候直接运行就行。
比如文件名叫 ClearLog.sql,内容就是上面这些。

不过,执行之前,你最好确认一下,数据库名字是不是对的,这个操作执行了,日志信息就都没了,恢复的话会比较麻烦。
备份要紧啊,没备份就别乱操作。

2 02 2 年的时候,我可能在一个叫“数据中心城”的地方,用这个命令,当时那个数据库大小可能有两三个 G,执行完收缩之后,日志文件大小可能就剩下一百 M 了。
金额嘛,这个命令本身不涉及金额,是数据库操作。
多少钱,可能跟你数据库的大小、服务器的配置有关,跟这个命令本身没关系。

我当时也懵,第一次看到这个命令的时候,觉得 with no_log 真是个神来之笔,直接清空,还不留痕迹。
后来才反应过来,原来是这样操作的。
可能我有点偏激,觉得这个命令太直接了,但确实高效。

SQLserver数据库备份数据文件过大怎么办

说白了,快速缩小数据库体积的方法就是简单模式加收缩。
其实很简单,先说最重要的,把数据库设置为简单模式,这能自动管理自动增长的文件大小。
去年我们跑的那个项目,数据库在设置为简单模式后,文件增长速度明显降低。
另外一点,右击数据库,选择【任务】,然后【收缩】,这能直接减少数据文件和日志文件的大小。
大概3 000量级的数据,一次收缩能节省出几十兆的空间。
我一开始也以为这方法效果不明显,后来发现不对,收缩确实能有效减少数据库占用空间。
还有个细节挺关键的,收缩后要完全备份,以防万一。

说实话挺坑的,这个点很多人没注意。
我觉得值得试试,毕竟数据库空间占用大,有时候真的会影响性能。
等等,还有个事,收缩操作可能会对数据库性能产生短暂影响,所以选择合适的时间进行收缩挺重要的。

SQL SERVER 2000数据库日志文件过大如何解决

收缩数据库通常减不大数据大小,主要缩日志。

1 . 简单模式,日志才缩。

企业管理器,服务器-数据库-右键-属性-选项-故障还原"简单"。

论坛数据库Forum试过。

2 . 收缩任务,默认就行。

数据库右键-任务-收缩数据库-确定。

SQL2 008 R2 环境,一般不用改。

3 . 恢复模式,建议改回。

完成后重设为标准模式。

日志异常时恢复要靠它。

你自己掂量。