方法一:程式設計客棧使用臨時表。
首先建立乙個與sp_who相同欄位的臨時,然後用insert into 方法賦值,這樣就可以select這個臨時表了。具體**如下:
create table #temptable(spid int,ecid int,status varchar(32),loginname varchar(32),hostname varchar(32),blk int,tqfikzdbname 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';
執行上面這個語句,如果提示:sql sewww.cppcns.comrver 阻止了對元件 'ad hoc distributed queries' 的 statement'openrowset/opendatasource' 的訪問,因為此元件已作為此伺服器安全程式設計客棧配置的一部分而被關閉。系統管理員可以通過使用 sp_configure 啟用 'ad hoc distributed queries'。有關啟用 'ad hoc distributed queries' 的詳細資訊。
說明你沒有配置 '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 quwww.cppcns.comeries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure
本文標題: select * from sp_who的解決方案
本文位址:
select from sp who的解決方案
sql server中提供很多有用的系統儲存過程,但是我們都知道,儲存過程的結果集是不能用select來過濾的,也就是說select from sp who where dbname 這樣的語句是執行不過。下面介紹兩種方法來解決這個問題 方法一 使用臨時表。首先建立乙個與sp who相同欄位的臨時,...
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包均能搜到 如果搜...