1

私のWindows Server 2008には、SQL Server 2008(または2012年以降)のローカルインスタンスがあります。サーバーには、そのSQLサーバーに接続して基本的なSELECT、INSERT、UPDATE、DELETE操作を実行するASP.NET Webアプリケーションを実行するように構成されたIISもあります。

同じサーバー上で実行される C# で記述した Windows サービス アプリケーションもあります。SQL Server プロセスの CPU 使用率をチェックする関数を追加したいと考えています。そのPIDを知っているので、そうすることができます。

私の質問は、SQL Server プロセスのプロセス ID を取得する方法です。

4

4 に答える 4

5

これを試して

select SERVERPROPERTY('processid'),SERVERPROPERTY('productversion')

次のようにタスクマネージャーで確認できます

ここに画像の説明を入力

于 2013-05-24T04:13:15.353 に答える
2

PID の代わりにProcess.GetProcessesByName Methodを使用してください。

于 2013-05-24T04:12:44.350 に答える
0
using System.Diagnostics;   //at the top of your class


Process[] processlist = Process.GetProcesses();
foreach(Process theprocess in processlist){
Console.WriteLine(“Process: {0} ID: {1}”, theprocess.ProcessName, theprocess.Id);
}

うまくいけば、それで始められます。

于 2013-05-24T04:11:42.720 に答える
0

C# で SQL Server インスタンスのプロセス ID を取得するには

var ProcessId = Process.GetProcesses()
                        .Where(P => P.ProcessName == "sqlservr")
                        .Select(P => P.Id);
于 2013-05-24T04:14:39.763 に答える