理想的には、SQL Serverインスタンス名(たとえば)を渡し、.\SQLEXPRESS
特定のインスタンスが実行されているアカウントの名前(またはSID)を取得したいと思います。このようなもの:
var serviceAccount = SomeClass.GetServiceAccount(".\SQLEXPRESS");
たぶん、この情報はシステムレジストリまたは他のよく知られた場所のどこかに保存されていますか?何か案は?
理想的には、SQL Serverインスタンス名(たとえば)を渡し、.\SQLEXPRESS
特定のインスタンスが実行されているアカウントの名前(またはSID)を取得したいと思います。このようなもの:
var serviceAccount = SomeClass.GetServiceAccount(".\SQLEXPRESS");
たぶん、この情報はシステムレジストリまたは他のよく知られた場所のどこかに保存されていますか?何か案は?
これを試してください:「サービスアカウントの詳細を見つけるためのクエリ」
SQL Server 2008以降、以下のクエリから情報を取得できます。
SELECT value_data
FROM sys.dm_server_registry
WHERE value_name = 'ObjectName'
AND registry_key = 'HKLM\SYSTEM\CurrentControlSet\Services\MSSQLSERVER'
以下のアプローチも使用できます。
SELECT DSS.servicename,
DSS.startup_type_desc,
DSS.status_desc,
DSS.last_startup_time,
DSS.service_account,
DSS.is_clustered,
DSS.cluster_nodename,
DSS.filename,
DSS.startup_type,
DSS.status,
DSS.process_id
FROM sys.dm_server_services AS DSS;