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
Powiązana zawartość
- PowerShell programu SQL Server
- polecenia cmdlet SqlServer