Microsoft Office ACCESS作为网站数据库的弊端

现在网上绝大多数网站都是ACCESS+ASP/ASP.NET的形式,因为ACCESS结构简单容易处理,而且也能满足多数的网站程序要求。
ACCESS是小型数据库,既然是小型就有他根本的局限性,以下几种情况下数据库基本上会吃不消:
1 数据库过大,一般ACCESS数据库达到50M左右的时候性能会急剧下降!
2 网站访问频繁,经常达到100人左右的在线。
3 记录数过多,一般记录数达到10万条左右的时候性能就会急剧下降!
(注:以上3条只是我们多年以来的经验结果,并不只绝对值,具体视情况不同浮动较大)

ACCESS论坛(如动网)大了以后就很容易出现数据库方面的问题,当你的论坛数据库在30M以上,帖子5万左右,在线也在100人左右的时候,你的论坛基本上都在处理数据库上花时间,这个时候很可能就会出现数据库吃不消的情况。
一般症状是所有涉及数据库的页面,突然运行都慢的出奇(执行时间达到5秒以上甚至几十秒),涉及HTML和纯ASP运算的页面都正常,等过一段时间(约10分钟或更长)以后又突然恢复。这个时候你可以用一般ASP探针测试一下,如果服务器的运算时间正常,而你的帖字量又比较大,就是数据库方面的问题了。
解决方法:
由于这是ACCESS本身的局限性,所以解决的方法除了减少数据量和更换大型的数据库论坛以外也没什么好办法,也就是现在常说的论坛危机,也是大型的论坛都不是ACCESS的原因。我们推荐以下方法:
1 临时解决办法:定期删除多余的数据、压缩数据库,限制论坛灌水,甚至限制论坛注册。如果是动网论坛,可以使用论坛自带的分表储存功能,会有较好的效果
2 比较长远办法:更换论坛和数据库,一般都采用动网sql商业版本+MS SQL Server 的方案来解决,不过这个需要比较大的投资。因为ms sql server 2000和ACCESS相比需要更多的资源,光是占内存上,就可以达到每一个在线1M以上的程度,如果你的SQL论坛有100人在线就会吃掉服务器至少150M以上内存。(from:

http://hi.baidu.com/sm1860/blog/item/dfcb32c6b6e13c1a9d163d50.html)

 

      Access数据库长时间使用后容易出现数据库过大、数据库损坏等现像,微软的Office软件中Access是带有修复和压缩功能的.

 

Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。(from: http://database.ctocio.com.cn/tips/395/7631395.shtml)

 

微软公司出品的ACCESS数据库是一种小型数据库,其设计之初是定位在数据量很小的应用环境,也就是说大约小于30M的应用环境。

 

第一大类:服务器CPU和内存大量占用问题(from: http://bbs.blueidea.com/thread-2708309-1-1.html)
当您的站点或者论坛数据库使用ACCESS数据库在20M以上、或者数据库数据达到几千条、或者同时访问网站的人数是数十人,ACCESS数据库就常常会出现各类损坏,导致asp等程序无法继续运行,服务器资源被锁死。
相关的微软技术说明链接:
http://www.microsoft.com/china/msdn/library/data/sqlserver/sqlbackend.mspx?mfr=true
其中微软网站网页内的原文:
Access 最多支持 255 个并发用户,这并不适合作为企业级数据存储解决方案。在生产环境中,仅仅20个用户通过网络同时使用 Access 数据库时就常常会遇到严重的性能问题以及数据被损坏的问题。(备注:微软都说不行了,难道还有其他办法?)
相关内容的动易公司的技术表述链接:
http://www.powereasy.net/Products/1984.html
其中动易公司网站网页内的原文:
Microsoft Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。
根据微软的技术描述,我们的解决方案如下:
access换ms sql:
您必须更换ACCESS数据库为 MSSQL数据库,使用MSSQL数据库的站点的稳定性会高于使用ACCESS数据库站点10倍以上。为了帮助您,我司可以提供MSSQL30M一个月的免费使用。例如:动网论坛访问ACCESS数据库变大以后,一般都采用动网sql商业版本+MSSQL 的方案来解决,网上也有access动网论坛转mssql的免费方法,客户可以搜索试验一下。
临时解决方案:
1、定期删除多余的数据;
2、保留千余条数据;
3、压缩数据库;
4、限制论坛灌水;
5、甚至限制论坛注册。
6、如果是动网论坛,可以使用论坛自带的分表储存功能,会有较好的效果。
临时解决方案不能保证网站可以长期稳定运行,即使您的程序没有任何问题。由于access的限制,您的网站还是会不断的出问题。如果access可以替代mssql,微软如何生存?:)
备注:有一个或多个ACCESS数据库在多次读写过程中损坏,微软的MDAC系统在写入这个损坏的ACCESS文件时,ASP线程处于BLOCK状态,结果其他线程只能等待,IIS被死锁了,全部的CPU时间都消耗在DLLHOST(ASP进程)中。
参考解决办法: 压缩和修复您的数据库
下载数据库文件--[如果是.asp的扩展名,请改为.mdb的扩展名]--用ACCESS打开--选择工具--数据库实用工具--压缩和修复数据库--[改回.asp的扩展名]--上传覆盖原来数据库文件。
转自:http://www.sinojet.com/error/webclose/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


本篇内容主要讲解“sqlalchemy的常用数据类型怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“sqlalche...
今天小编给大家分享一下sqlServer实现分页查询的方式有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家
这篇文章主要介绍“sqlmap之osshell怎么使用”,在日常操作中,相信很多人在sqlmap之osshell怎么使用问题上存在疑惑,小编查阅了各式资料,整理出
本篇内容介绍了“SQL注入的知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧...
1. mssql权限sa权限:数据库操作,文件管理,命令执行,注册表读取等system。是mssql的最高权限db权限:文件管理,数据库操作等 users-administratorspublic权限:数据库操作 guest-users2、sql server注入执行命令查
sql执行计划如何查看?在SPL庞大的数据中我们不知道如何查看实际数据库中发生了什么事情,有必要定期进行查询优化和索引否则会影响我们后期的SQL的查询速度。那么针对这样的问题我们必须要知道SQL执行的计划,在本文中winwin7小编给大家分享下SQL执
SQL Server 是Microsoft 公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点应用非常广泛。不过在使用中,我们会遇到非常多的错误,面对这么庞大的数据库环境,当然会有精确的错误代码的对照季,下面小编分享的
SQL Server本地账户无法登陆出现错误提示:error:40-Could not open a connenction to SQL Server的问题很常见,对于初学者来说可能不知道如何解决,一起来看看下面的解决方案。解决步骤如下:1、这种情况需要开启 SQL Server service
微软推出的SQL2008是一款非常好用的数据库软件,它稳定、功能强大,为众多企业提供了最佳的数据库解决方案,那么我们如何在Windows中安装它呢,一些朋友对SQL Server 2008的安装过程还不是很熟悉,下面就一起来看看SQL Server 2008详细安装图解...
本页概要如果您使用的是 SQL Server 2005备份和还原Sp_detach_db 和 Sp_attach_db 存储过程关于排序规则的说明导入和导出数据(在 SQL Server 数据库之间复
DBCC CHECKIDENT 检查指定表的当前标识值,如有必要,还对标识值进行更正。 语法 DBCC CHECKIDENT ( 'table_name' [ , { NORESEED
这里对 SQL Server 字符串函数进行分门别类地列出,便于查阅和记忆,相信大家都在其它方面有高深的编程基础,从字面上来说大家都知道这些函数的意义,就不对这些函数作过多的解释了,主要谈些经验,具体
查询及删除重复记录的方法 1、查找表(people)中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select*frompeoplewherepeopleIdin(selectpe
微软发SQL Server 2008第二个CTP预览版from: http://news.csdn.net/n/20070807/107158.html8月7日消息,微软公司本周发布了SQL Serv
症状当您将数据库备份恢复到另一台服务器时,可能会遇到孤立用户的问题。SQL Server 联机丛书中的孤立用户疑难解答主题中没有讲述解决此问题的具体步骤。本文介绍了如何解决孤立用户问题。更多信息虽然术
当登录SQL Server 2005时可能碰到错误: 'No Process is on the Other End of the Pipe'。解决方法:(1)Open up SQL
概要本文描述如何映射标准登录和集成登录来解决在运行 SQL Server 的服务器之间移动数据库时的权限问题。更多信息当您将数据库从一个运行 SQL Server 的服务器移到另一个运行 SQL Se
----------------------------------------问题:该用户与可信的SQL SERVER 连接无关联使用sa用户或自建用户使用“SQL SERVER 身份认证”连接数据
更新日期: 2007 年 5 月 20 日 使用下表可以确定各种版本的 Microsoft SQL Server 2005 支持哪些功能。有关 SQL Server 2005 Enterprise E
当从Excel导入数据到Sql Sever中,可能会出现以下问题:
对于指定的缓冲区大小而言,源列的数据太大