sql >> Database >  >> RDS >> Sqlserver

PowerShell - Een lijst van alle SQL-instanties op mijn systeem?

Ik ontdekte dat (voor mij althans) geen van de bovenstaande mijn SQL Express-instantie retourneerde. Ik heb 5 benoemde instanties, 4 full-fat SQL Server, 1 SQL Express. De 4 volvette zijn opgenomen in de bovenstaande antwoorden, de SQL Express niet. DUS, ik heb wat rondgekeken op internet en kwam dit artikel door James Kehr, waarin informatie wordt weergegeven over alle SQL Server-instanties op een machine. Ik heb deze code gebruikt als basis voor het schrijven van de onderstaande functie.

# 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. Is de CURRENT_TIMESTAMP-functie van Oracle echt een functie?

  2. Rijen samenvoegen als array uit een andere tabel voor elke rij

  3. MySQL-tijdwaarde in query 838:59:59?

  4. Meest populaire databasebeheersystemen ter wereld