2010-10-21 51 views
1

我不能它運行罰款我所有的SQL Server 2005/2008數據庫Sql Server中的sysprocesses查詢

SELECT sysprocesses.spid 
FROM master.dbo.sysprocesses 

但是我的數據庫之一,它給我的SPID列綁定錯誤以下查詢(綁定多部分標識符)。

我檢查了數據庫的兼容模式,它設置爲2005,所以我確信這不是問題,但不知道還有什麼要檢查。

回答

1

試試這個:

SELECT s.spid 
FROM master.dbo.sysprocesses s 

然而,master.dbo.sysprocesses其兼容性視圖sys.sysprocesses已被棄用,所以用這個來代替:

select session_id from sys.dm_exec_sessions 

見:Mapping System Tables to System Views (Transact-SQL)

0

嘗試使用:

select spid from sys.sysprocesses 

代替。 AFIK已棄用dbo.sysproceses

+0

這確實解決問題這個特定的腳本。不過,我真的很想知道爲什麼它會在某些配置上運行失敗,因爲它似乎也在影響其他腳本。 – 2010-10-21 14:25:31

+0

在我看來,像某個具有系統管理員權限的人以某種方式意外地在您的dbo.sysprocesses視圖的某個點上定義了... – 2010-10-21 16:54:44