4

SQLServer2005アクティビティモニターで常に実行されているように見えるプロセスがあります。それをダブルクリックすると、次のクエリが生成されます。

CREATE TABLE #tmpDBCCinputbuffer ([EVENT TYPE] NVARCHAR(512), [PARAMETERS] INT, [EVENT Info] NVARCHAR(512)) INSERT INTO #tmpDBCCinputbuffer EXEC ('DBCC INPUTBUFFER(58)') SELECT [EVENT Info] FROM #tmpDBCCinputbuffer

それが何であるかについて何か考えはありますか?それは危険ですか?

4

3 に答える 3

6

皮肉なことに、接続で実行された最後のクエリを確認するために使用するクエリです。これは、すべての接続の最後のクエリが何であったかを確認するために実行していることです。これらすべての接続を確認するために使用する接続を含みます。

必要なときにめまいがする絵文字はどこにありますか?

于 2009-04-16T17:08:00.000 に答える
0

http://msdn.microsoft.com/en-us/library/ms187730.aspx

SQLServer開発者センターからの引用

「DBCCINPUTBUFFER権限は、デフォルトでsysadmin固定サーバーロールのメンバーのみに設定され、SPIDを表示できます。他のユーザーは自分が所有するSPIDを表示できます。権限は譲渡できません。」(http://msdn.microsoft.com/en-us/library/aa258826(SQL.80).aspx

于 2009-04-16T17:06:01.580 に答える
0

NeilNの答えをさらに説明する別の答えを共有したいと思います。

DBCC INPUTBUFFER(spid)コマンドは、指定されたSPIDに対して実行された最新のバッチのテキストを返します。Activity Monitorで行をダブルクリックする(または右クリックして[詳細]を選択する)と、SQL Serverは、上記の投稿で引用したコマンドを実行します(選択した行のSPIDを置き換えます-61あなたの例)接続に対して発行された最新のバッチを返します。あなたの例では、バッチは実際には、最新のバッチを返すためにActivityMonitorによって発行されたCREATETABLEなどのバッチです。

ChrisHowarthによるhttps://social.msdn.microsoft.com/Forums/sqlserver/en-US/6bbe405b-b7d8-4f97-9150-cf03c59d4fe3/process-wont-die?forum=sqldatabaseengine

58という数字は、プロセスIDであり、最後に実行するプロセスであるため、常に返されるものです。

于 2015-01-20T03:02:41.290 に答える