當前位置:首頁 » 編程語言 » 關掉sql的進程怎麼關
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

關掉sql的進程怎麼關

發布時間: 2022-09-07 05:02:49

㈠ linux 如何強制關閉sql developer

強制關閉步驟:
1、用命令ps -ef | grep sql 查找出所有帶sql的進程.
2、在顯示出來的列當中選擇sql developer進程id,也就是pid。
3、然後執行命令:kill all xxx(pid數字)
4、進程已被殺掉,sql developer已經退出。

㈡ 關閉sql服務

在我的電腦圖標上右鍵,管理,服務和應用程序,SQL
Server配置管理器,
SQL
Server
服務,啟動模式,改為手動或禁用,試試看。若不行,這樣試試:在我的電腦圖標上右鍵,管理,服務和應用程序,服務,在右邊列出的服務項里,找到你裝的SQL軟體服務項,禁用掉。

㈢ sql中如何終止正在運行的資料庫進程

mysqlwindows可以這樣操作;不過最好還是寫腳本卻執行吧,這里的文件如果操作過一次後需要手動刪除,不然下次執行會報錯。

SELECTCONCAT('KILL',id,';')FROMinformation_schema.processlistINTOOUTFILE'D:\tmp.txt';
sourceD:\tmp.txt;


php腳本如下:

$result=mysql_query("SHOWFULLPROCESSLIST");
while($row=mysql_fetch_array($result)){
$process_id=$row["Id"];
if($row["Time"]>200){
$sql="KILL$process_id";
mysql_query($sql);
}
}

㈣ 如何查看和關閉異常SQL進程

找出正在執行的JOB編號及其會話編號 SELECT SID,JOB FROM DBA_JOBS_RUNNING; 停止該JOB的執行 SELECT SID,SERIAL# FROM V$SESSION WHERE SID='&SID'; ALTER SYSTEM KILL SESSION '&SID,&SERIAL'; EXEC DBMS_JOB.BROKEN(&JOB,TRUE);實例分析:1,查詢正在運行的Job,通過查詢有兩個,和進程佔用較多的是兩個ORACLE進程符合。SQL> SELECT SID,JOB FROM DBA_JOBS_RUNNING; SID JOB
---------- ----------12 11616 1172,查詢正在運行的job的信息SQL> SELECT SID,SERIAL# FROM V$SESSION WHERE SID='12'; SID SERIAL#
---------- ----------
12 4SQL> SELECT SID,SERIAL# FROM V$SESSION WHERE SID='16'; SID SERIAL#
---------- ----------
16 13,利用查詢出來的job信息將job結束掉SQL> ALTER SYSTEM KILL SESSION '12,4';System altered.SQL> ALTER SYSTEM KILL SESSION '16,1';System altered.
4,如果不希望運行上述job的話,可以將job設置為broken.EXEC DBMS_JOB.BROKEN(116,TRUE);EXEC DBMS_JOB.BROKEN(117,TRUE);

㈤ plsql怎麼快速取消正在運行的sql-CSDN論壇

1、客戶端取消
如果使用sqlplus非後台程序,直接ctrl+c即可取消運行中的sql。
如果是後台程序,殺掉相應進程。
2、伺服器端取消
查到執行sql語句的session,運行
alter system kill session '' ;
或者查到響應的進程id號,在伺服器操作系統層面取消。
kill -9 xxxx

㈥ 資料庫的進程怎麼關掉所有連接

打開就是調用open方法,關閉就是調用close方法,
例如:
(1)首先建立連接:sqlconnectionconn=newsqlconnection()。
(2)然後打開連接:conn.open()。中間就是你處理的事情的代碼,處理完後看。
(3)最後就是關閉連接:conn.close()。

㈦ 開機就啟動SQL進程,怎麼關

在運行中輸入:msconfig---啟動欄里,可以關掉

㈧ 如何終止SQL Server中的用戶進程

首先,我們在主資料庫中創建「KILL2」這個進程,代碼如下所示(參考圖一):

USE [master]
GO
IF EXISTS (SELECT * FROM master.dbo.sysobjects
WHERE id = OBJECT_ID(N'[kill2]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[kill2]
GO
--Usage1: Kill2 '51-57' --> Kills all the session IDs from 51 to 57
--Usage2: Kill2 '58' --> Kills the session IDs 58
--Usage3: Kill2 '51,56,100,58'
--> Kills the session IDs 51,56,100 and 58
--Usage4: Kill2 'DB=MyDatabase'
--> Kills all the session IDs that are connected
to the database "MyDatabase"
use master
go
set concat_null_yields_null off
go
create procere kill2 @param2 varchar(500)
as
--declare @param2 varchar(500)
declare @param varchar(500)
declare @startcount int
declare @killcmd varchar(100)
declare @endcount int
declare @spid int
declare @spid2 int
declare @tempvar varchar(100)
declare @tempvar2 varchar(100)
--set @param2 ='54'
set @param=REPLACE(@param2,' ','')
if CHARINDEX('-',@param) <> 0
begin
select @startcount= convert(int,SUBSTRING(@param,1,charindex('-',@param)-1))
select @endcount=convert(int,SUBSTRING(@param,charindex('-',@param)+1,(LEN(@param)-charindex('-',@param))))
print 'Killing all SPIDs from ' + convert(varchar(100),@startcount)+' to ' +convert(varchar(100),@endcount)
while @startcount <=@endcount
begin
set @spid=(select spid from master.dbo.sysprocesses where spid=@startcount and spid>50)
if @spid = @startcount
begin
print 'Killing '+convert(varchar(100),@startcount)
set @killcmd ='Kill '+convert(varchar(100),@startcount)
exec(@killcmd)
end
else
begin
Print 'Cannot kill the SPID ' +convert(varchar(100),@startcount) + ' because it does not Exist'
end
set @startcount=@startcount + 1
end
end
if CHARINDEX(',',@param) <> 0
begin
set @tempvar =@param
while charindex(',',@tempvar ) <> 0
begin
SET @tempvar2=left(@tempvar,charindex(',',@tempvar)-1)
set @spid=(select spid from master.dbo.sysprocesses where spid=CONVERT(varchar(100),@tempvar2) and spid>50)
if @spid = CONVERT(varchar(100),@tempvar2)
begin
print 'Killing '+CONVERT(varchar(100),@tempvar2)
set @killcmd='Kill '+CONVERT(varchar(100),@tempvar2)
exec (@killcmd)

end
else
begin
Print 'Cannot kill the SPID ' +CONVERT(varchar(100),@tempvar2) + ' because it does not Exist'
end
set @tempvar =REPLACE(@tempvar,left(@tempvar,charindex(',',@tempvar)),'')
end
set @spid=(select spid from master.dbo.sysprocesses where spid=CONVERT(varchar(100),@tempvar) and spid>50)
if @spid = CONVERT(varchar(100),@tempvar)
begin
print 'Killing '+CONVERT(varchar(100),@tempvar)
set @killcmd='Kill '+CONVERT(varchar(100),@tempvar)
exec (@killcmd)

end
else
begin
Print 'Cannot kill the SPID ' +CONVERT(varchar(100),@tempvar) + ' because it does not Exist'
end
end
if CHARINDEX('=',@param2) <>0
begin
print 'Killing all the SPIDs that are connected to the database '+RIGHT(@param2,(len(@param2)-3))
declare dbcursor
cursor forward_only for select SPID from master.dbo.sysprocesses where DB_NAME(dbid) = RIGHT(@param2,(len(@param2)-3))
open dbcursor
fetch dbcursor into @spid
while @@FETCH_STATUS =0
begin
set @spid2=(select spid from master.dbo.sysprocesses where spid=@spid and spid>50)
if @spid = @spid2 begin
print 'Killing '+CONVERT(varchar(100),@spid2)
set @killcmd='Kill '+CONVERT(varchar(100),@spid2)
exec (@killcmd)

end
else
begin
Print 'Cannot kill the SPID ' +CONVERT(varchar(100),@spid2) + ' because it does not Exist'
end
fetch dbcursor into @spid
end
close dbcursor
deallocate dbcursor
end
if CHARINDEX('-',@param)=0 and CHARINDEX(',',@param) = 0 and CHARINDEX('=',@param)=0
begin
set @spid=(select spid from master.dbo.sysprocesses where spid=CONVERT(varchar(100),@param) and spid>50)
if @spid = CONVERT(varchar(100),@param)
begin
print 'Killing '+CONVERT(varchar(100),@param)
set @killcmd='Kill '+CONVERT(varchar(100),@param)
exec (@killcmd)

end
else
begin
Print 'Cannot kill the SPID ' +CONVERT(varchar(100),@param) + ' because it does not Exist'
end
end
go
--kill2 '51'
--go
--kill2 '51-56'
--go
--kill2 '56,57,58,52'
--go
--kill2 'db=AdventureWorks2008'
--kill2 'db=My Database'
--go
--sp_who

圖一
現在,我們假設進程ID(SPID)為51、52、53、54、55、57這幾個進程(見圖二)連接到了SQL Server資料庫,而我們只想把進程ID為54、55和57的進程結束掉。

圖二
執行以下命令。注意,在這個例子當中還在命令中加入了其他幾個SQL Server中不存在的SPID:61和100。

use master
go
kill2 '54,57,55,61,100'
go

運行結果:

Killing 54
Killing 57
Msg 6104, Level 16, State 1, Line 1
Cannot use KILL to kill your own process.
Cannot kill the SPID 55 because it does not Exist
Cannot kill the SPID 61 because it does not Exist
Cannot kill the SPID 100 because it does not Exist

圖三
我們可以從結果(見圖三)看到,執行指令後成功終止了SPID 54。當試圖終止57時失敗了。同時結果也顯示了為什麼沒能終止特定SPID的信息
下面,假設我們有51、52、53、54、55、57、58、59和60這幾個SPID,而我們的目標是結束SPID從25到70的進程。
執行以下命令:

use master
go
kill2 '25-75'
go

運行結果:

Killing all SPIDs from 25 to 75
Cannot kill the SPID 25 because it does not Exist
…..
Cannot kill the SPID 48 because it does not Exist
Cannot kill the SPID 49 because it does not Exist
Cannot kill the SPID 50 because it does not Exist
Killing 51
Killing 52
Killing 53
Killing 54
Killing 55
Cannot kill the SPID 56 because it does not Exist
Killing 57
Msg 6104, Level 16, State 1, Line 1
Cannot use KILL to kill your own process.
Killing 58
Killing 59
Killing 60
Cannot kill the SPID 61 because it does not Exist
.....
Cannot kill the SPID 75 because it does not Exist

圖四
從結果(見圖四)我們可以看到「KILL2」存儲過程忽略了所有SPID小於50的連接,而結束了從51到70的所有進程。

接下來,假設我們要終結掉所有連接到資料庫AdventureWorks2008的會話,同時又假設SPID為53、54、58和60的進程連接到了該資料庫(見圖五)。

圖五
現在,我們執行以下的T-SQL語句結束掉所有這些會話。

Use master
go
kill2 'db=AdventureWorks2008'
go

運行結果:

Killing all the SPIDs that are connected to the database AdventureWorks2008
Killing 53
Killing 54
Killing 58
Killing 60

圖六
從結果(見圖六)我們可以看到「KILL2」存儲過程終止了所有連接到AdventureWorks2008資料庫的會話。
用法四
「KILL2」存儲過程的第四種用法類似於「KILL命令,也就是一次解決一個會話,如下所示:

Use master
go
kill2 '56'
go

㈨ 在sql資料庫中怎樣取消您自己的進程

查看鎖表進程SQL語句1:
select sess.sid,
sess.serial#,
lo.oracle_username,
lo.os_user_name,
ao.object_name,
lo.locked_mode
from v$locked_object lo,
dba_objects ao,
v$session sess
where ao.object_id = lo.object_id and lo.session_id = sess.sid;

查看鎖表進程SQL語句2:
select * from v$session t1, v$locked_object t2 where t1.sid = t2.SESSION_ID;

殺掉鎖表進程:
如有記錄則表示有lock,記錄下SID和serial# ,將記錄的ID替換下面的738,1429,即可解除LOCK
alter system kill session '738,1429';

㈩ 怎樣把SQL 2005的進程結束掉

這些是sql資料庫的服務程序,系統默認是自動啟動的,當然也可以設置為手動啟動,不過,如果設置為手動啟動,那麼每次打開SQL2005的時候都要另外去手動啟動這些服務,否則會連接不上資料庫.
設置為手動啟動的方法:
"開始>>程序>>Microsoft SQL Server 2005>>配置工具>>SQL Server Configuration Manager>>SQL Server 2005服務",在右側的窗口有4個服務項,分別對每項進行"右鍵>>屬性>>服務",在啟動模式一欄選擇"手動"即可.