老尸 发表于 2015-1-16 22:38:37

MSSQL网站制作之--紧缩日记及数据库文件巨细

我们分析上面的两个操作,都有一个“删除数据”的过程。数据|数据库|紧缩
--紧缩日记及数据库文件巨细

/*--出格注重
请按步骤举行,未举行后面的步骤,请不要做前面的步骤
不然大概破坏你的数据库.
--*/

1.清空日记
DUMPTRANSACTION库名WITHNO_LOG

2.截断事件日记:
BACKUPLOG数据库名WITHNO_LOG

3.压缩数据库文件(假如不紧缩,数据库的文件不会减小
企业办理器--右键你要紧缩的数据库--一切义务--压缩数据库--压缩文件
--选择日记文件--在压缩体例里选择压缩至XXM,这里会给出一个同意压缩到的最小M数,间接输出这个数,断定就能够了
--选择数据文件--在压缩体例里选择压缩至XXM,这里会给出一个同意压缩到的最小M数,间接输出这个数,断定就能够了

也能够用SQL语句来完成
--压缩数据库
DBCCSHRINKDATABASE(客户材料)

--压缩指定命据文件,1是文件号,能够经由过程这个语句查询到:select*fromsysfiles
DBCCSHRINKFILE(1)

4.为了最年夜化的减少日记文件(假如是sql7.0,这步只能在查询剖析器中举行)
a.分别数据库:
企业办理器--服务器--数据库--右键--分别数据库

b.在我的电脑中删除LOG文件

c.附加数据库:
企业办理器--服务器--数据库--右键--附加数据库

此法将天生新的LOG,巨细只要500多K

或用代码:
上面的示例分别pubs,然后将pubs中的一个文件附加到以后服务器。

a.分别
EXECsp_detach_db@dbname=pubs

b.删除日记文件

c.再附加
EXECsp_attach_single_file_db@dbname=pubs,
@physname=c:ProgramFilesMicrosoftSQLServerMSSQLDatapubs.mdf

5.为了今后能主动压缩,做以下设置:
企业办理器--服务器--右键数据库--属性--选项--选择"主动压缩"

--SQL语句设置体例:
EXECsp_dboption数据库名,autoshrink,TRUE

6.假如想今后不让它日记增加得太年夜
企业办理器--服务器--右键数据库--属性--事件日记
--将文件增加限定为xM(x是你同意的最年夜数据文件巨细)

--SQL语句的设置体例:
alterdatabase数据库名modifyfile(name=逻辑文件名,maxsize=20)
mysql的prepare其实是本地PHP客户端模拟的,并没有根据你mysql的设置做字符集的调整。应该交与mysqlserver端做prepare,同时得调用mysql_set_character_set去操作,server才会按照字符集去做转义。

灵魂腐蚀 发表于 2015-1-19 20:08:53

还不是性能有问题!否则面向对象的数据库早就实现了!建议使用CLR的地方一般是和应用的复杂程度或操作系统环境有很高的耦合度的场景。如你想构建复杂的算法,并且用到了大量的指针和高级数据模型。

分手快乐 发表于 2015-1-25 22:05:35

是否碎片会引发效率问题?这都是需要进一步探讨的东西。varbinary(max)代替image也让SQLServer的字段类型更加简洁统一。

仓酷云 发表于 2015-2-4 06:12:18

作了些试验,发现使用CLR的存储过程或函数在达到一定的阀值的时候,系统性能会呈指数级下滑!这是非常危险的!只使用几个可能没有问题,当一旦大规模使用会造成严重的系统性能问题!

山那边是海 发表于 2015-2-9 17:19:29

财务软件要用SQL也只是后台的数据库而已,软件都是成品的,当然多学东西肯定是有好处的..

精灵巫婆 发表于 2015-2-27 12:40:58

至于淘汰的问题,只能说在你的项目周期之内,微软应该都不会倒闭。

蒙在股里 发表于 2015-3-9 03:53:36

如安全管理、备份恢复、性能监控和调优等,SQL只要熟悉基本操作就可以,只要程序设计部分只要稍加了解即可(如存储过程、触发器等)。

若相依 发表于 2015-3-23 00:58:33

可以动态传入参数,省却了动态SQL的拼写。
页: [1]
查看完整版本: MSSQL网站制作之--紧缩日记及数据库文件巨细