在 SQL Server 2008 R2 SP1 中,我们有一个新的 dmv -sys.dm_server_services
它非常适合轻松获取与 SQL Server 服务相关的信息。
是否有任何类似的 sys 视图/目录或 tsql hack 可以轻松查询早期版本的 SQL Server,如 SQL Server 2005 或 SQL Server 2008?
非常感谢!
在 SQL Server 2008 R2 SP1 中,我们有一个新的 dmv -sys.dm_server_services
它非常适合轻松获取与 SQL Server 服务相关的信息。
是否有任何类似的 sys 视图/目录或 tsql hack 可以轻松查询早期版本的 SQL Server,如 SQL Server 2005 或 SQL Server 2008?
非常感谢!
您可以使用 CLR 或 PowerShell 执行此操作,但不太可能直接使用 T-SQL。您正在谈论的 DMV 以您无法做到的方式从 SQL Server 进程中提取此信息(TABLE DM_SERVER_SERVICES)
,而不是从您可以以编程方式访问的某个系统表中提取这些信息......
在 PowerShell 中,您可以使用Get-Process
或Get-Service
获取其中的一些信息(并根据当前实例名称进行过滤,或者MSSQLSERVER
如果它是默认实例)。使用 C#,您可以查看此答案,但我不知道任何 SQLCLR 的现成代码。