當前位置:首頁 » 編程語言 » sql連接數自動清理
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql連接數自動清理

發布時間: 2022-09-04 00:08:28

sqlserver 怎麼釋放連接數

1、獲取SQL Server允許同時用戶連接的最大數

SELECT @@MAX_CONNECTIONS

2、獲取當前指定資料庫的連接信息

SELECT * FROM master.dbo.sysprocesses WHERE dbid IN
(
SELECT dbid FROM master.dbo.sysdatabases
WHERE NAME='YourDataBaseName'
)

--根據需要更改YourDataBaseName

SELECT * FROM master.dbo.sysprocesses WHERE DB_NAME(dbid) = 'YourDataBaseName'

3、獲取當前SQL伺服器所有的連接詳細信息

SELECT * FROM sysprocesses
以上查詢結果包含了:系統進程和用戶進程。
如果只是想查用戶進程的話則需採用下面的方法

4、獲取自上次啟動 SQL Server服務 以來連接或試圖連接的次數

SELECT @@CONNECTIONS

這個剛開始會有點誤解,認為是當前SQL Server伺服器當前所有的連接數。需要重點注意。

❷ 清理資料庫碎片SQL語句

清除資料庫日誌語句
--清除sqlserver 2000/2005 資料庫日誌
替換下紅字部分資料庫名稱

declare @databasename varchar(15)
select @databasename='hdjjgl_journal'
DUMP TRANSACTION @databasename WITH NO_LOG

BACKUP LOG @databasename WITH NO_LOG

DBCC SHRINKDATABASE(@databasename)

或者
USE 資料庫名
DUMP TRANSACTION 資料庫名 WITH NO_LOG
BACKUP LOG 資料庫名 WITH NO_LOG
DBCC SHRINKFILE(2)

**********************************
--清除sqlserver 2008 資料庫日誌 ,執行兩遍
替換下紅字部分資料庫名稱,建立datalogbak清楚的日誌備份文件夾,注意路徑自定義。

use gdzjg_journal
declare @databasename varchar(100)
declare @databasenamelog varchar(100)
declare @databasenamedir varchar(100)
select @databasename='gdzjg_journal'
select @databasenamelog=@databasename+'_log'
select @databasenamedir='g:\datalogbak\'+@databasename

BACKUP LOG @databasename to disk=@databasenamedir
DBCC SHRINKFILE (@databasenamelog,1)

或者

ALTER DATABASE 資料庫名稱SET RECOVERY SIMPLE
ALTER DATABASE 資料庫名稱SET RECOVERY FULL
DBCC SHRINKDATABASE(資料庫名稱,0)

sqlserver 2000、2008會保存所有的資料庫操作過程,將指令保存在ldf文件中,如果誤刪除數據,想恢復數據的話,可以通過Lumigent Log Explorer For SQLServer 軟體分析ldf文件,可以看到所有執行過的insert、update、delete數據,導出來再逆向執行即可,本人曾經用過一回,確實奏效。

1、sql server 2000清理資料庫日誌

USE 資料庫名

DUMP TRANSACTION 資料庫名 WITH NO_LOG
BACKUP LOG 資料庫名 WITH NO_LOG
DBCC SHRINKFILE(2)

SHRINKFILE(2),後面的2是file_id,可以在當前資料庫用select * from sysfiles看得到,看資料庫的log文件的fileid是多少,正常情況下log的ldf文件是2,mdf文件的fileid是1。
這個查詢語句可以隨時執行,不影響資料庫的運行。

sql server 2005、2008清理資料庫日誌

USE 資料庫名
ALTER DATABASE 資料庫名 SET RECOVERY SIMPLE
ALTER DATABASE 資料庫名 SET RECOVERY FULL
DBCC SHRINKDATABASE(資料庫名,0)

這個查詢語句可以隨時執行,不影響資料庫的運行。

清理ldf的操作可以使用sql server代理,每天自動執行一次,就不怕文件增長撐爆硬碟了。

2、一般mdf用不著收縮,收縮多了容易產生文件碎片,因為delete數據之後,mdf文件中可用頁面空間會保留在那裡,等下次有新數據進來時,會繼續使用。如果實在要清理,可以參考下面的語句:

sql server 2000、2005、2008 收縮mdf文件

DBCC SHRINKDATABASE(資料庫名)
DBCC SHRINKFILE(1,0)
DBCC UPDATEUSAGE(0)

執行上述操作後,你會發現mdf的文件減少了,ldf的文件增大了,再用上面1的日誌清理操作一次即可。

3、最後再附送一個查看數據表的行數、佔用文件空間、存儲情況的查詢語句

-- drop table #test
create table #test(
name varchar(50),
rows int,
reserved varchar(20),
data varchar(20),
index_size varchar(20),
unused varchar(20)
)
set nocount on
insert into #test
EXEC sp_MSforeachtable @command1="sp_spaceused '?'"
select * from #test order by cast(replace(reserved,'KB','') as int) desc

❸ sql連接數很多,有問題嗎大家給看看

沒有關系,SQL的連接數多了一般會造成系統資源的緊張,但通過你描述的情況來看應該是你的系統在進行計算的原因。可以查看你的程序中是不是有問題。
還有你看一下你的程序中是不是有很多查詢後沒有釋放的資源。

❹ sql2008 r2如何設置定時自動清理表內特定數據

通過計劃作業實現,可以設置在指定的時間對指定的資料庫執行指定的語句
delete from tbXXX where fld='B'

❺ sqlserver2008 怎麼定時清理索引碎片

索引碎片判斷及整理、自動維護清理索引碎片
http://blog.csdn.net/zhaowenzhong/article/details/6980894

❻ 如何自動清理SQL資料庫在內存中的緩存

加大內存吧!360沒有這個自動清理內存的功能吧!

❼ 如何降低資料庫的連接數

每次用戶操作,就連資料庫取數或操作,執行完就斷開資料庫連接

❽ SQLServer 如何自動清理日誌文件

資料庫日誌文件是隨著時間增長而增長的,如果長時間不清理,文件會變得特別大,因此需要定期清空,但是日至文件是恢復資料庫的重要依據,不用日誌文件也是不明智的。手工清除單個資料庫的還好說,但資料庫多了,或者臨時沒有來得及清理,可能硬碟空間就會占滿了,影響訪問。因此設置自動清理資料庫日誌文件還是比較實用的。

手動清理方法:右鍵單擊需要清理的資料庫,選擇「屬性」,在「選項」卡上,把故障還原模型設定為簡單,確定後關閉;再右鍵單擊該資料庫,「所有任務」-「收縮資料庫」,確認後即可清除日誌文件,最後記得重新選擇「屬性」,將故障還原模型設置為完全。

自動清理方法:利用sql server代理服務,執行自動作業。

打開企業管理器,進入「管理」-「sql server代理服務」-「作業」,在右側窗口點擊右鍵,選擇「新建作業」。「常規」選項卡中,填寫作業名稱,具體

上邊的資料庫名稱填寫需要維護的資料庫名稱,資料庫日誌文件名填寫其對應的日誌文件名,注意,不是資源管理器里看到的帶後綴名的那個名字,而是企業管理器里,資料庫屬性里日誌選項卡中日誌的名字(通常也只是差一個後綴名……),確定後添加一個作業步驟。 如果需要維護多個資料庫,用上述方法重復添加作業步驟,注意每個步驟成功或失敗後的動作即可,最後選擇一下開始的步驟。

在「調度」選項卡中,類似備份的維護計劃,填寫調度周期,即定期清理的周期,不再細述。如果需要,可以在最後的「通知」選項卡上設置作業完成後的通知項,需要設置操作員,以及設置相應的服務,這里也不具體說明了,通常不用……

❾ 怎麼減少sql的活動連接數

SQL的連接數無非就是訪問資料庫的次數,即請求的次數,而SQL連接數的減少或者是優化,主要是從你的代碼的邏輯上來做處理的,就像一個流水線的工作一樣,到最後一步才返回結果,程序中有很多的人喜歡將一個值取出來之後,然後再將這個值作為條件去查資料庫,這個完全沒有必要,直接在資料庫中將改值作為條件再判斷,然後將結果返回到頁面上即可,這樣連接數就達到了減少了

❿ SQL Server2000的問題!!高手請進!!!!

打補丁是一方面,也許是win2K3或SQL的連接數的問題。換個盜版的看看?