判斷遠端伺服器是否執行的SQL Server函式

2021-03-31 15:02:05 字數 1694 閱讀 7531

if exists(select 1 from sysobjects where id=object_id('fgetsstatus') and objectproperty(id,'isinlinefunction')=0)

drop function fgetsstatus

gocreate function fgetsstatus(

@servername varchar(50)     --伺服器名

,@userid varchar(50)='sa'    --使用者名稱,如果為nt驗證方式,則為空

,@password varchar(50)=''    --密碼

) returns varchar(20)

asbegin

declare @re varchar(20),@ire int      --返回狀態

declare @srvid int          --定義伺服器、資料庫集id

declare @err int,@src varchar(255), @desc varchar(255) --錯誤處理變數

--建立sqldmo物件

exec @err=sp_oacreate 'sqldmo.sqlserver',@srvid output

if @err<>0 goto lberr

--連線伺服器

if isnull(@userid,'')='' --如果是 nt驗證方式

begin

exec @err=sp_oasetproperty @srvid,'loginsecure',1

if @err<>0 goto lberr

exec @err=sp_oamethod @srvid,'connect',null,@servername

endelse

exec @err=sp_oamethod @srvid,'connect',null,@servername,@userid,@password

if @err<>0 goto lberr

--獲取伺服器狀態

exec @err=sp_oagetproperty @srvid,'status',@ire output

if @err<>0 goto lberr

set @re=case @ire when 0 then '未知'

when 1 then '執行...'

when 2 then '暫停'

when 3 then '停止...'

when 4 then '正在啟動...'

when 5 then '正在啟動停止...'

when 6 then '連線...'

when 7 then '正在暫停...' end

return(@re)

lberr:

exec sp_oageterrorinfo null, @src out, @desc out

declare @errb varbinary(4)

set @errb=cast(@err as varbinary(4))

exec master..xp_varbintohexstr @errb,@re out

set @re='錯誤號: '+@re

+char(13)+'錯誤源: '+@src

+char(13)+'錯誤描述: '+@desc

return(@re)

endgo

伺服器判斷http是否中斷

一般來說,只需要send或者recv一下,如果結果為零,則為掉線。1.當recv返回值為0是表示對方已經正常 msdn說是完美的 的斷開連線.2.當recv返回socket error時,說明對方已經斷開連線,但是可能是非正常斷開 斷網或者客戶端程序結束 如果你擔心在讀的時候被阻塞,使用select...

本地Python執行遠端伺服器Python指令碼

情景 區域網內一臺pc或伺服器 windows或linux 上有一python指令碼,如何執行它?常用的兩種 遠端桌面和xshell遠端連線 那假如想要不通過以上兩種方式的前提下執行它,可行麼?怎麼辦?答案是肯定的 coding utf 8 author lihaizhen date descrip...

shell登入遠端伺服器執行命令

參考 大概如下 sshpass p password ssh o stricthostkeychecking no root h tt dev null 2 1 remotessh echo i am in h cd dir echo h tests exit remotessh其中 sshpass...

js 判斷伺服器檔案是否存在問題

昨天做專案,在網上搜尋js判讀檔案是否存在問題,有許多答案几乎都是一樣的 實際上,執行一下檔案就會知道,當js執行到new activexobject microsoft.xmlhttp 是,在某些瀏覽器上就會停止執行下一步。在我們使用的瀏覽器有ie核心和非ie核心,這可能就是原因。翻閱以前的aja...

LoadRunner判斷是否伺服器連線池瓶頸

分析web resources中的connections per second可以判斷是否伺服器連線池瓶頸。connections per second會給出兩種不同狀態的連線數 中斷的連線和新建的連線。分析 1 通常,我們可以把connections per second 和 running vu...