sql時間限制
1. sql超過伺服器連接限制時間
為應用程序池 『DefaultAppPool』 提供服務的進程關閉時間超過了限制
伺服器經常產生「應用程序池 『DefaultAppPool』 提供服務的進程關閉時間超過了限制。進程 ID 是 『2068′。」的錯誤,導致iis處於假死狀態,經了解是IIS應用程序池的設置問題。解決方法如下:
Internet 信息服務(IIS)管理器->應用程序池->DefaultAppPool->右擊屬性
一、回收
1、回收工作進程(分鍾):選中,值為1740
2、回收工作進程(請求數目):不選(原先設置為35000)
3、在下列時間回收工作進程:不填
4、消耗太多內存時回收工作進程:全不選。(2、3、4項可能避免了在訪問量高的時候強制回收進程可能引發的伺服器響應問題,導致iis假死不響應)
二、性能
只選中空閑超時20分鍾。其他都不選。WEB園最大工作進程數為1(默認)。注意web園這里一定要保持默認,如果填寫其他超過1的數字就會導致一些網站程序的後台程序打不開或者刷新不停。
原來的請求隊列限制為4000,現在無限制。
三、運行狀況
前兩項都起用,是原來的默認設置。啟動時間限制90秒,關閉時間限制180秒。
啟動快速失敗保護的鉤去掉!
為了避免真的遇到很多錯誤時沒有提示,可以不關閉,只是把快速保護的保護范圍加大些,例如失敗數50次 時間段5分鍾 則關閉對應的程序。
「關閉時間限制180秒」是必須的,因為進程關閉的時間,原來為90秒限制,是默認值,如果進程關閉時間超過90秒,則認為超時,從而出現:進程關閉時間超過了限制 日誌,所以,適當延長這個時間,可以避免這種錯誤
第2種方法:
原因:獨立進程的 內存堆戔消耗完了,IIS不能創建更多的進程工作空間來處理
解決方法:
1. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC
2. 在Parameters鍵下新建一個DWORD項,名字為:UseSharedWPDesktop 值為1 重啟IIS
第3種
問題已解決,發現是資料庫連接無法釋放,不知道是什麼原因,同樣的代碼在本地就是好的,在伺服器端就有問題,最後在連接串里加入以下語句解決問題.
Pooling=true; MAX Pool Size=512;Min Pool Size=50;Connection Lifetime=30
第4種
新建應用程序池,不同的網站引用不同程序池。
為應用程序池 『AppPool #1′ 提供服務的進程關閉時間超過了限制。進程 ID 是 『3000′。
出現上面情況後,該應用程序池對應的網站就訪問的非常慢,幾乎是打不開。
這種現象是不是iis假死?
重啟下該站點,問題可以得到解決。
可能是應用程序池設置問題,不知道具體應該怎麼設置!
請高手指點。
程序代碼解決辦法:
1 設置進程池回收時間.在進程池屬性里.
2 如果你的程序是使用 asp + acc 資料庫.且acc資料庫大於30m.建議更換sql資料庫. acc資料庫大於這個值.2003系統下會造成iis6的頻繁假死.2000下會造成dllhost.exe佔用大量cpu及內存資源.都會嚴重影響 web訪問速度.
3 asp程序存在死循環.
4 可使用 microsoft office 壓縮修復acc資料庫,須先備份.
引用內容2003應用程序池假死常見問題及解決方法
2006-10-09 09:48
經常見到大家談起,2003應用程序池自動死了,不能恢復了,一直出現 Service Unavailable 常見方法如下。
1:以前沒有SP1打補丁的時候會出現這個IIS6。0假死問題,但現在微軟都在自動更新裡面出補丁了,一般你打好最新補丁後是不會出現此問題了。(所以現在的IIS假死與這個關系不是很大)
2:從IIS6.0開始CPU資源都在應用池裡面限制了,不象以前的IIS。5。所以假死的池的緣故就是池被拉死,你在網站打不開的時候可以看到你的某個應用池是禁用的,上面出現一個紅叉。你滑鼠右鍵啟動網站又會自動恢復。 這個原因:大概是以下幾個因數造成的。
(1):你限制了應用池的資源限制,限製得太小 比如:50這樣或更少更多一點,這個時候如果你這個池下面的網站佔用CPU太高,比如超過50% 那麼5分鍾後他就自動死了,手工默認建立的應用池默認是超過資源不操作。
出現上面這個情況解決方法:1:不限制CPU資源,(這個是不可取的,不限制資源,有的程序有BUG佔用資源厲害了的,伺服器都會被拉死,你可能都無法操作伺服器。)2:在超過資源那裡選擇關閉,這個關閉默認是失敗5次,90秒內恢復,一般默認就可。網站能自動恢復,這個關閉:不是永久關閉,意思是超過資源關閉,然後在某時間內自動恢復池。不操作就是不恢復,這個是很多人的誤區。上次我寫過相關的這個講解了。
(2):內存限制 在IIS6。0應用池上面有虛擬內存和最大內存限制,如果你設置了這個。那麼網站訪問量大了 也會出現假死,所以不建議設置這里。默認就可。
3:就是伺服器自身內存太小,網站運行當然需要使用到內存了,當內存不夠的時候應用池也會死掉變成禁用。那麼只有等內存全部釋放出來才能恢復應用池了。出現這個情況:那麼你就要考慮加內存或者檢查到底是什麼程序佔用了內存了。比如MSSQL資料庫,這個可是吃內存得大戶啊,最好別和WEB伺服器同時一個伺服器上。很多人用1G內存做 2003系統,2003NET結構是很佔用內存的,所以做伺服器選2003還得把內存加到2G或更高才好。內存不夠上面 2點講到的,是沒辦法操作了,也無法自動恢復。
4:就是ACCESS資料庫太大或查詢太多,這個也會出現把IIS拉死,解決方法;修復ACCESS資料庫,或盡量少用ACCESS資料庫。
5:不同網站用不同應用池:根據你自己實際情況而定,站點大的最好獨立一個應用池,限制他的資源超過了自動回收,看上面(1)講到的,這樣就不影響其他站點。中型站點:多個網站共用一個應用池,比如5個站點用一個池,設置他資源時間等等。這樣他們就算超資源了也不影響其他應用池的網站。
6:設置回收時間:很多人以為設置回收池越短越好,其實是錯誤的,每次回收當然是把內存回收回來了,但加重了一次伺服器的負擔,當伺服器比較繁忙的時候,有可能導致其他應用池死。所以建議設置共1000就行了。其他獨立池按照他網站流量而設置 可以設置600 也行,共用的不建議設置太短。
7:網站後台過不了多久自動退出又要重新登陸:這個情況就是你設置回收時間太短了,按照 6點設置吧。 不要設置什麼20分、30分這樣的,這樣不好的。
2. 如何設置遠程查詢的時間限制 (SQL Server Management Studio)
選項可指定在 Microsoft SQL Server 超時之前遠程操作可以持續的時間(秒)。默認值為 600,表示允許等待 10 分鍾。
3. SQL Server資料庫中限制某一個用戶在指定時間段內登錄的SQL語句
select
*
from
學生表
select
學號,姓名,年齡
from
學生表
select
學號,姓名,年齡,系名
from
學生表
where
年齡>=18
&&
年齡<=20
如果系名在別的表裡,關聯下.
select
學號,姓名,年齡,系信息表.系名
from
學生表,系信息表
where
年齡>=18
&&
年齡<=20
sql挺簡單的看看例題都一個樣模仿的寫就行了
4. 關於SQL時間條件
你確認下查出來的數據是否是有時分秒的
從你sql看,就是大於5.29號凌晨0點0分0秒
wheregt.getdate>'2018-05-29'
是等同於
wheregt.getdate>'2018-05-2900:00:00'
如果你一定要查大於今天的。應該寫成
wheregt.getdate>'2018-05-2923:59:59'
或者
wheregt.getdate>='2018-05-30'
5. SQL 插入時間限制格式問題
正確的時間格式,插入後都會被轉成yyyy-mm-dd hh:mm:ss,使用的時候再進行轉換吧。
真要用yyyy-mm-dd的話,把欄位數據類型改成 varchar.
6. sql資料庫中能否控制時間
delete
from
表
where
datediff(day,刪除時間欄位,getdate())=0
以上命令可以實現刪除你在數據中加的「到指定日期刪除」的數據。
如果需要可以把day改成week,month,year,hour等等對應你要在那一周,月,年,時刪數據。
把它存為存儲過程起名為1
執行命令是exec
1
剩下就是計劃它什麼時候執行。這就需要sql代理。用代理的方式就看樓上吧。。太長了
7. 關於日期和時間為限制的sql語句怎麼寫
sql="select * from 表 where 日期=#"& text1.text&"# and 時間=#"&text2.text&"#"
8. SQLserver中時間約束
--建表
CREATE TABLE ko
(BeginTime SMALLDATETIME,
endTime SMALLDATETIME ,
CONSTRAINT ck CHECK(endTime>=beginTime))
--如果表已經建好了 可以這樣:
alter table ko
add constraint ck CHECK(endTime>=beginTime)
9. SQL如何為列增加日期約束
可按如下語句加約束:
altertable表名addconstraintCK_Datecheck(日期欄位betweencast('1900-1-1'asdatetime)andcast('2990-1-1'asdatetime))
check約束簡介:
在資料庫中,CHECK 約束是指約束表中某一個或者某些列中可接受的數據值或者數據格式。例如,可以要求 authors 表的 postcode 列只允許輸入六位數字的郵政編碼。
CHECK 約束可以應用於一個或者多個列,也可以將多個CHECK 約束應用於一個列。
當除去某個表時,對這個表的CHECK 約束也將同時被去除。
10. 關於查詢時間條件限制的SQL怎麼寫
1.
SELECT *
FROM 表
WHERE ordertime BETWEEN CDATE(CStr(Date()) & " 08:00:00") AND CDATE(CStr(Date()) & " 20:00:00");
2.
SELECT *
FROM 表
WHERE ordertime BETWEEN CDATE(CStr(Date()) & " 20:00:00") AND CDATE(CStr(Date() + 1) & " 08:00:00");