sql >> Databasteknik >  >> RDS >> Sqlserver

PowerShell - Lista alla SQL-instanser på mitt system?

Jag upptäckte att (åtminstone för mig) inget av ovanstående returnerade min SQL Express-instans. Jag har 5 namngivna instanser, 4 full-fat SQL Server, 1 SQL Express. De 4 fullfeta ingår i svaren ovan, SQL Express är det inte. SÅ, jag grävde lite runt på internet och stötte på denna artikel av James Kehr, som listar information om alla SQL Server-instanser på en maskin. Jag använde den här koden som grund för att skriva funktionen nedan.

# get all sql instances, defaults to local machine, '.'
Function Get-SqlInstances {
  Param($ServerName = '.')

  $localInstances = @()
  [array]$captions = gwmi win32_service -computerName $ServerName | ?{$_.Name -match "mssql*" -and $_.PathName -match "sqlservr.exe"} | %{$_.Caption}
  foreach ($caption in $captions) {
    if ($caption -eq "MSSQLSERVER") {
      $localInstances += "MSSQLSERVER"
    } else {
      $temp = $caption | %{$_.split(" ")[-1]} | %{$_.trimStart("(")} | %{$_.trimEnd(")")}
      $localInstances += "$ServerName\$temp"
    }
  }
  $localInstances
}


  1. C# Mysql-anslutning i txt-filkonfiguration

  2. Det gick inte att hämta bilddata från tabell och visningsbild

  3. mysql_escape_string sårbarheter

  4. Hur återställer jag data från MySQL .frm?