Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

PowerShell — wyświetlić wszystkie instancje SQL w moim systemie?

Odkryłem, że (przynajmniej dla mnie) żaden z powyższych nie zwrócił mojej instancji SQL Express. Mam 5 nazwanych instancji, 4 pełnowymiarowe SQL Server, 1 SQL Express. 4 pełnotłuste są zawarte w powyższych odpowiedziach, SQL Express nie. WIĘC, trochę pogrzebałem w Internecie i natknąłem się na ten artykuł autorstwa Jamesa Kehra, który zawiera informacje o wszystkich instancjach SQL Server na maszynie. Użyłem tego kodu jako podstawy do napisania poniższej funkcji.

# 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Operacja CRUD z ASP.NET Core MVC, Entity Framework Core i SQL Server

  2. Problem z nowym wierszem podczas kopiowania danych z programu SQL Server 2012 do programu Excel

  3. Zmieniłem nazwę mojej kolumny, aby zawierała nazwę tabeli. Dlaczego nie mogę już zmienić jego nazwy?

  4. Jak porównać dwa znaczniki czasu jako daty w SQL Server?

  5. Pivot przy użyciu SQL Server 2000