我的 SQL Server 的实例名称是SQLEXPRESS并且 SQL Server 服务名称看起来像MSSQL$SQLEXPRESS。实例名称和服务名称之间有什么关系吗?我正在尝试按名称检查 SQL Server 服务状态,我想知道其他计算机上的 SQL Server 服务名称可以不同吗?
Mar*_*ith 13
是的,服务名称始终MSSQL$<Instance Name>
用于命名实例和MSSQLSERVER
默认实例。我不相信两者都可以被改变或覆盖,我也想不出你想要的任何理由。
您可以通过注册表枚举服务器上已安装的实例,例如使用 Powershell:
Get-ItemProperty 'HKLM:\Software\Microsoft\Microsoft SQL Server\Instance Names\SQL'
Run Code Online (Sandbox Code Playgroud)
Mark 向您展示了一种直接从注册表获取此信息的方法,但另一种方法是通过 WMI,由 PowerShell 使用:
Get-WmiObject -ComputerName "YourDestinationServer" -Namespace "root\microsoft\sqlserver\computermanagement11" -Class "SqlService" |
Where-Object {$_.SQLServiceType -eq 1} |
Select-Object ServiceName, DisplayName,
@{Name = "StateDesc"; Expression = {
switch ($_.State) {
1 { "Stopped" }
2 { "Start Pending" }
3 { "Stop Pending" }
4 { "Running" }
5 { "Continue Pending" }
6 { "Pause Pending" }
7 { "Paused" }
}
}}
Run Code Online (Sandbox Code Playgroud)
上述命令将为您提供特定机器上 SQL Server 引擎服务的状态。
归档时间: |
|
查看次数: |
5500 次 |
最近记录: |