Zarządzanie programem SQL Server w systemie Linux przy użyciu programu PowerShell w systemie Windows

Dotyczy:Program SQL Server w systemie Linux

W tym artykule przedstawiono SQL Server PowerShell i omówiono kilka przykładów dotyczących używania go z programem SQL Server w systemie Linux. Obsługa programu PowerShell dla programu SQL Server jest obecnie dostępna w systemach Windows, macOS i Linux. W tym artykule przedstawiono sposób używania maszyny z systemem Windows do nawiązywania połączenia z zdalnym wystąpieniem programu SQL Server w systemie Linux.

Zainstaluj najnowszą wersję SQL Server PowerShell na Windows

Moduł programu PowerShell programu SQL Server w systemie Windows jest utrzymywany w galerii programu PowerShell. Podczas pracy z programem SQL Server zawsze należy używać najnowszej wersji modułu SqlServer PowerShell.

Wymagania wstępne

Przeczytaj Znane problemy dla programu SQL Server w systemie Linux.

Uruchom PowerShell i zaimportuj moduł SqlServer

Zacznijmy od uruchomienia programu PowerShell w systemie Windows. Użyj Win+Rna komputerze z systemem Windows i wpisz powerShell, aby uruchomić nową sesję programu Windows PowerShell.

Program SQL Server udostępnia moduł programu PowerShell o nazwie SqlServer. Możesz użyć modułu SqlServer w celu zaimportowania składników programu SQL Server (dostawcy i poleceń cmdlet programu SQL Server) do środowiska lub skryptu programu PowerShell.

Skopiuj i wklej następujące polecenie w wierszu polecenia programu PowerShell, aby zaimportować moduł SqlServer do bieżącej sesji programu PowerShell:

Import-Module SqlServer

Wpisz następujące polecenie w wierszu polecenia programu PowerShell, aby sprawdzić, czy moduł SqlServer został zaimportowany poprawnie:

Get-Module -Name SqlServer

Program PowerShell powinien wyświetlać informacje podobne do następujących danych wyjściowych:

ModuleType Version    Name          ExportedCommands
---------- -------    ----          ----------------
Script     21.1.18102 SqlServer     {Add-SqlAvailabilityDatabase, Add-SqlAvailabilityGroupList...

Nawiązywanie połączenia z programem SQL Server i uzyskiwanie informacji o serwerze

Użyjmy programu PowerShell w systemie Windows, aby nawiązać połączenie z wystąpieniem programu SQL Server w systemie Linux i wyświetlić kilka właściwości serwera.

Skopiuj i wklej następujące polecenia w wierszu polecenia programu PowerShell. Po uruchomieniu tych poleceń program PowerShell wykona następujące czynności:

  • Wyświetlanie okna dialogowego z monitem o podanie nazwy hosta lub adresu IP wystąpienia
  • Wyświetl okno dialogowe żądanie poświadczeń programu Windows PowerShell z monitem o podanie poświadczeń. Aby nawiązać połączenie z wystąpieniem programu SQL Server w systemie Linux, możesz użyć nazwy użytkownika SQL i hasła SQL .
  • Użyj polecenia cmdlet Get-SqlInstance, aby nawiązać połączenie z Server i wyświetlić kilka właściwości

Opcjonalnie możesz zastąpić zmienną $serverInstance adresem IP lub nazwą hosta wystąpienia programu SQL Server.

# Prompt for instance & credentials to connect to SQL Server
$serverInstance = Read-Host "Enter the name of your instance"
$credential = Get-Credential

# Connect to the Server and get a few properties
Get-SqlInstance -ServerInstance $serverInstance -Credential $credential
# done

Program PowerShell powinien wyświetlać informacje podobne do następujących danych wyjściowych:

Instance Name                   Version    ProductLevel UpdateLevel  HostPlatform HostDistribution
-------------                   -------    ------------ -----------  ------------ ----------------
your_server_instance            14.0.3048  RTM          CU13         Linux        Ubuntu

Notatka

Jeśli nic nie jest wyświetlane dla podanych wartości, połączenie z docelowym serwerem SQL Server najprawdopodobniej nie powiodło się. Upewnij się, że do nawiązania połączenia z programu SQL Server Management Studio możesz użyć tych samych informacji o połączeniu. Następnie zapoznaj się z zaleceniami dotyczącymi rozwiązywania problemów z połączeniem .

Użyj dostawcy PowerShell programu SQL Server

Inną opcją nawiązywania połączenia z wystąpieniem programu SQL Server jest użycie dostawcy programu SQL Server PowerShell. Ten dostawca umożliwia nawigowanie po instancji programu SQL Server tak, jak po strukturze drzewa w narzędziu Eksplorator obiektów, ale z poziomu wiersza polecenia. Domyślnie ten dostawca jest przedstawiany jako usługa PSDrive o nazwie SQLSERVER:\, której można użyć do nawiązywania połączenia i nawigowania po wystąpieniach programu SQL Server, do których twoje konto domeny ma dostęp. Aby uzyskać więcej informacji na temat konfigurowania uwierzytelniania usługi Active Directory dla programu SQL Server w systemie Linux, zobacz Kroki konfiguracji.

Możesz także używać uwierzytelniania SQL z dostawcą PowerShell dla SQL Server. W tym celu użyj polecenia cmdlet New-PSDrive, aby utworzyć nową usługę PSDrive i podać odpowiednie poświadczenia w celu nawiązania połączenia.

W tym przykładzie poniżej przedstawiono jeden przykład tworzenia nowego programu PSDrive przy użyciu uwierzytelniania SQL.

# Reuse the values saved in the $credential variable from the previous example.
New-PSDrive -Name SQLonDocker -PSProvider SqlServer -Root 'SQLSERVER:\SQL\localhost,10002\Default\' -Credential $credential

Możesz potwierdzić, że dysk został utworzony, uruchamiając cmdlet Get-PSDrive.

Get-PSDrive

Po utworzeniu nowej usługi PSDrive możesz rozpocząć nawigowanie po niej.

dir SQLonDocker:\Databases

Oto jak mogą wyglądać dane wyjściowe. Możesz zauważyć, że wyjście jest podobne do tego, co SQL Server Management Studio wyświetla w węźle Databases. Wyświetla on bazy danych użytkowników, ale nie systemowe bazy danych.

Name                 Status           Size     Space  Recovery Compat. Owner
                                            Available  Model     Level
----                 ------           ---- ---------- -------- ------- -----
AdventureWorks2022   Normal      209.63 MB    1.31 MB Simple       130 sa
AdventureWorksDW2022 Normal      167.00 MB   32.47 MB Simple       110 sa
AdventureWorksDW2022 Normal      188.00 MB   78.10 MB Simple       120 sa
AdventureWorksDW2022 Normal      172.00 MB   74.76 MB Simple       130 sa
AdventureWorksDW2022 Normal      208.00 MB   40.57 MB Simple       140 sa

Jeśli potrzebujesz wyświetlić wszystkie bazy danych w wystąpieniu, jedną z opcji jest użycie polecenia cmdlet Get-SqlDatabase.

Sprawdzanie dzienników błędów programu SQL Server

Następujące kroki wykonują za pomocą PowerShell na Windows, aby sprawdzić logi błędów w instancji SQL Server na Linuksie. Używasz także cmdletu Out-GridView , aby wyświetlić informacje z logów błędów w widoku siatki.

Skopiuj i wklej następujące polecenia w wierszu polecenia programu PowerShell. Uruchomienie może potrwać kilka minut. Te polecenia wykonują następujące czynności:

  • Wyświetlanie okna dialogowego z monitem o podanie nazwy hosta lub adresu IP wystąpienia
  • Wyświetl okno dialogowe żądanie poświadczeń programu Windows PowerShell z monitem o podanie poświadczeń. Aby nawiązać połączenie z wystąpieniem programu SQL Server w systemie Linux, możesz użyć nazwy użytkownika SQL i hasła SQL .
  • Użyj polecenia cmdlet Get-SqlErrorLog, aby nawiązać połączenie z wystąpieniem programu SQL Server w systemie Linux i pobrać dzienniki błędów od wczoraj
  • Przekieruj dane wyjściowe do polecenia cmdlet Out-GridView

Opcjonalnie możesz zastąpić zmienną $serverInstance adresem IP lub nazwą hosta wystąpienia programu SQL Server.

# Prompt for instance & credentials to connect to SQL Server
$serverInstance = Read-Host "Enter the name of your instance"
$credential = Get-Credential

# Retrieve error logs since yesterday
Get-SqlErrorLog -ServerInstance $serverInstance -Credential $credential -Since Yesterday | Out-GridView
# done