sql >> Database teknologi >  >> RDS >> Sqlserver

PowerShell - Liste over alle SQL-instanser på mit system?

Jeg fandt ud af, at (i hvert fald for mig) ingen af ​​ovenstående returnerede min SQL Express-instans. Jeg har 5 navngivne instanser, 4 fuldfed SQL Server, 1 SQL Express. De 4 fuldfede er inkluderet i svarene ovenfor, SQL Express er det ikke. SÅ, jeg gravede lidt rundt på internettet og stødte på denne artikel af James Kehr, som viser oplysninger om alle SQL Server-instanser på en maskine. Jeg brugte denne kode som grundlag for at skrive nedenstående funktion.

# 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. LIKE vs CONTAINS på SQL Server

  2. Udforskning af SQL Server 2016 Query Store GUI

  3. Enkel CRUD-tutorial om Play Framework og MySQL ved hjælp af Ebean?

  4. Laravel - Hvordan skriver man to indre joinforbindelser med en tællesætning i Laravel-syntaks?