sql >> Databáze >  >> RDS >> Sqlserver

PowerShell – Vypsat všechny instance SQL v mém systému?

Zjistil jsem, že (alespoň pro mě) nic z výše uvedeného nevrátilo mou instanci SQL Express. Mám 5 pojmenovaných instancí, 4 plnohodnotné SQL Server, 1 SQL Express. 4 plnotučné jsou zahrnuty ve výše uvedených odpovědích, SQL Express nikoli. Tak jsem trochu prohledal internet a narazil na tento článek od Jamese Kehra, který uvádí informace o všech instancích SQL Server na počítači. Tento kód jsem použil jako základ pro napsání funkce níže.

# 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. Jak používat dj-database-url při připojení k postgresql v heroku pomocí pythonu

  2. Jak přidat nový sloupec do tabulky MYSQL?

  3. SQL:Řízení počtu vrácených záznamů

  4. Vytvoření složeného primárního klíče v SQL Server