可以嘗試如下作法:
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