Udostępnij za pośrednictwem


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

Dotyczy:programu SQL Server — 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, & 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.

Instalowanie najnowszej wersji programu SQL PowerShell w systemie 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.

Przed rozpoczęciem

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 login into 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 wystąpieniu programu SQL Server podobnym do tego, jak w przypadku nawigowania po strukturze drzewa w Eksploratorze obiektów, ale w wierszu 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.

# NOTE: We are reusing the values saved in the $credential variable from the above 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 dane wyjściowe są podobne do tych, które program SQL Server Management Studio (SSMS) wyświetli w węźle Bazy danych. 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

W poniższych krokach użyj programu PowerShell w systemie Windows, aby przejrzeć dzienniki błędów na instancji SQL Server na systemie Linux. Użyjemy również polecenia cmdlet Out-GridView, aby wyświetlić informacje z dziennikó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 login into 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