select from sp who的解決方案

2021-08-23 13:57:48 字數 1132 閱讀 5241

sql server中提供很多有用的系統儲存過程,但是我們都知道,儲存過程的結果集是不能用select來過濾的,也就是說select * from sp_who where [dbname] = '***';這樣的語句是執行不過。下面介紹兩種方法來解決這個問題

方法一:使用臨時表。首先建立乙個與sp_who相同欄位的臨時,然後用insert into 方法賦值,這樣就可以select這個臨時表了。具體**如下:

create table #temptable(spid int,ecid int,status varchar(32),loginname varchar(32),hostname varchar(32),blk int,dbname varchar(32),cmd varchar(32),request_id int);

insert into #temptable

exec sp_who;

select * from #temptable where [dbname] = 'master';

drop table #temptable

方法二:使用openrowset,**如下:

select * from openrowset('sqloledb','servername';'username';'password','sp_who') where [dbname] = 'master';

說明你沒有配置 'ad hoc distributed queries' ,按如下方法配置

啟用ad hoc distributed queries:

exec sp_configure 'show advanced options',1

reconfigure

exec sp_configure 'ad hoc distributed queries',1

reconfigure

然後就可以執行上面的**了。

使用完成後,如果想關閉ad hoc distributed queries,執行如下**:

exec sp_configure 'ad hoc distributed queries',0

reconfigure

exec sp_configure 'show advanced options',0

reconfigure

select from sp who的解決方案

方法一 程式設計客棧使用臨時表。首先建立乙個與sp who相同欄位的臨時,然後用insert into 方法賦值,這樣就可以select這個臨時表了。具體 如下 create table temptable spid int,ecid int,status varchar 32 loginname ...

ADB server didn t ACK解決方法

1 首先通過cmd啟動adb服務。這個時候會提示啟動失敗。adb start server 服務啟動失敗的原因有很多,但一般是埠繫結失敗。我們來檢視一下埠繫結資訊。如圖所示,真的是埠繫結出了問題。adb nodaemon server 3 我們來看看哪個服務占用了這個埠。這裡面有2個程序占用了這個埠...

NoSuchMethodError 解決方法

j a.lang.nosuchmethoderror,想必 j a的開發者都遇到過這個報錯吧,這個錯誤基本上都是由jvm 的 全網負責委託機制 全網負責委託機制是啥?引發的問題,本人在此奉上三種解決方案 步驟一 全域性搜尋該方法是否存在,目前idea可以支援該操作,包括source包均能搜到 如果搜...