可以尝试如下作法:
1. 自定义一个类,ADOConnection、ADOQUERY为其成员域成员动态创建;
2. 启动线程去执行连接操作;此线程有一标志,当连接有结果(成功或失败)后置TRUE;
3. 界面单元调用此线程,WHILE判断线程标志为TRUE时,说明连接有结果。
while not customerThread.flag do begin
application.ProcessMessages.
end;
⑵ SQL数据库总是假死或死锁。
建议:
1、使用事件探查器,跟踪一下SQL在死锁之前执行了哪些SQL语句
2、多数死锁是因为程序没有经过严格的测试造成的
3、少部分原因是因为触发器嵌套造成的,SQL有内部机制,当嵌套到一定的层级,就自动终止掉相关的进程
愿早日解决问题
⑶ sql sever2000数据库操作卡的问题
1看你运行SQL server 2000 服务器的配置 如果是单机的,就要看你电脑的配置了。
2.配置没问题的话,是远程访问数据库服务器要看下 网速如何
3.查询操作的时候 一定要优化SQL 语句,例如查询一个表,一般会select * from table 但是为了节省资源,建议查询 select column1,column2,columnN from table 能够快些
⑷ plsql 远程连接数据库,查询数据就卡死
在改字段上添加索引就是了,一下是Oracle索引创建规则:
1、表的主键、外键必须有索引;
2、数据量超过300的表应该有索引;
3、经常与其他表进行连接的表,在连接字段上应该建立索引;
4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;
5、索引应该建在选择性高的字段上;
6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;
7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:
A、正确选择复合索引中的主列字段,一般是选择性较好的字段;
B、复合索引的几个字段是否经常同时以AND方式出现在Where子句中?单字段查询是否极少甚至没有?如果是,则可以建立复合索引;否则考虑单字段索引;
C、如果复合索引中包含的字段经常单独出现在Where子句中,则分解为多个单字段索引;
D、如果复合索引所包含的字段超过3个,那么仔细考虑其必要性,考虑减少复合的字段;
E、如果既有单字段索引,又有这几个字段上的复合索引,一般可以删除复合索引;
8、频繁进行数据操作的表,不要建立太多的索引;
9、删除无用的索引,避免对执行计划造成负面影响;
以上是一些普遍的建立索引时的判断依据。一言以蔽之,索引的建立必须慎重,对每个索引的必要性都应该经过仔细分析,要有建立的依据。因为太多的索引与不充分、不正确的索引对性能都毫无益处:在表上建立的每个索引都会增加存储开销,索引对于插入、删除、更新操作也会增加处理上的开销。另外,过多的复合索引,在有单字段索引的情况下,一般都是没有存在价值的;相反,还会降低数据增加删除时的性能,特别是对频繁更新的表来说,负面影响更大。
⑸ 为啥sql数据库总是运行一段时间意外停止
情况说明:
1、出现此现象时,数据库是正常的(做过一个实验:新建了一个网站,程序与运行网站相
同,连接的数据库也与运行网站连接的数据库相同。当运行网站出现连不上数据库现象时,
运行这个新网站,结果正常);
2、出现此现象时,IIS也是正常的,因为网站其他不调用数据库的页面是可以打开的。
3、当出现此现象时,查看数据库里的连接,只有2到3个连接。
4、网站服务器和数据库服务器放在同一台机器上。
5、与服务器同在一个局域网中的其他PC机,不能通过域名来访问该服务器上的网站,只能
通过输入内部IP来访问。局域网中的PC可以访问INTERNET上的其他网站。
6、服务器使用的网卡只分配一个内部IP,同时绑定了一个外部IP.
7、曾经服务器托管在IDC那里,运行半年正常,后来把服务器移到了自建的机房里,运行2
个多月后出现这个问题,之后就不断地出现此问题。
8、采用.NET/C#开发,并且程序中使用了关闭连接的命令。
⑹ SQL数据库总是安装不成功,卡在那里不动
首先检查 是否 是管理员 用户 Administrator
如果不是 启用 管理员 用户
或者 修改文件夹权限 完全控制 在进行 安装
C:\ProgramData\Microsoft\Windows\Start Menu\Programs
方法如图
右击-属性-安全-高级-所有者-编辑-改为ADMINISTROTER-确定;第三步,高级-权限-更改权限-编辑-在“完全控制”处打钩-确定;第四步,直接删就可以了。
⑺ MSSQL数据库占用内存过大造成服务器死机问题的解决方法
使用MSSQL的站长朋友都会被MSSQL数据库吃内存的能力佩服得五体投地 一个小小的网站 运行若干天之后 MSSQL就会把服务器上所有的内存都吃光 此时你不得不重新启动一下服务器或MSSQL来释放内存 有人认为是MSSQL有内存泄露问题 其实不然 微软给我们了明确说明:
在您启动 SQL Server 之后 SQL Server 内存使用量将会持续稳定上升 即使当服务器上活动很少时也不会下降 另外 任务管理器和性能监视器将显示计算机上可用的物理内存稳定下降 直到可用内存降到 至 MB 为止
仅仅出现这种状态不表示内存泄漏 此行为是正常的 并且是 SQL Server 缓冲池的预期行为
默认情况下 SQL Server 根据操作系统报告的物理内存加载动态增大和收缩其缓冲池(缓存)的大小 只要有足够的内存可用于防止内存页面交换(在 至 MB 之间) SQL Server 缓冲池就会继续增大 像在与 SQL Server 分配内存位于相同计算机上的其他进程一样 SQL Server 缓冲区管理器将在需要的时候释放内存 SQL Server 每秒可以释放和获取几兆字节的内存 从而使它可以快速适应内存分配变化
更多信息
您可以通过服务器内存最小值和服务器内存最大值配置选项设置 SQL Server 数据库引擎使用的内存(缓冲池)量的上下限 在设置服务器内存最小值和服务器内存最大值选项之前 请查阅以下 Microsoft 知识库文章中标题为"内存"一节中的参考信息
HOW TO Determine Proper SQL Server Configuration Settings(确定正确的 SQL Server 配置设置)
请注意 服务器内存最大值选项只限制 SQL Server 缓冲池的大小 服务器内存最大值选项不限制剩余的未保留内存区域 SQL Server 准备将该区域分配给其他组件 例如扩展存储过程 对象 以及非共享 DLL EXE 和 MAPI 组件 由于前面的分配 SQL Server 专用字节超过服务器内存最大值配置是很正常的 有关此未保留内存区域中分配的其他信息 请单击下面的文章编号 以查看 Microsoft 知识库中相应的文章
PRB 在使用大量数据库时可能没有足够的虚拟内存
参考
SQL Server 联机图书;主题 "服务器内存最小值和最大值的影响";"内存体系结构";"服务器内存选项";"SQL Server 内存池"
下面我们就来实战如何限制MSSQL内存使用:
第一步:打开企业管理双击进入要修改的MSSQL
第二步:在左侧MSSQL上点击右键 选择属性 弹出SQL Server属性(配置)对话框
第三步:点击内存选项卡
在这里 你会看到MSSQL默认设置为使用最大内存 也就是你所有的内存 根据你的需要 设置它的最大值吧
lishixin/Article/program/MySQL/201311/29533