| Termin | Definicja |
|---|---|
| PowerShell 7+ a SQL Server | PowerShell 7+ współpracuje z modułem SqlServer, choć część starszych funkcji wymaga jeszcze Windows PowerShell 5.1. PowerShell 7+ i moduł SqlServerPowerShell 7+ jest rozwijany jako wieloplatformowa powłoka i środowisko automatyzacji oparte na nowszym środowisku .NET. Do pracy z Microsoft SQL Server używa się przede wszystkim modułu PowerShell 7+ i Windows PowerShell 5.1 są odrębnymi środowiskami. W systemie Windows mogą być zainstalowane równocześnie, ale korzystają z różnych procesów i mogą ładować moduły w odmienny sposób. Dlatego przed uruchomieniem skryptu należy sprawdzić wersję poleceniem Wykonywanie zapytań przez Invoke-SqlcmdNajczęściej używanym poleceniem modułu Przy połączeniu z użyciem uwierzytelniania SQL Server można użyć obiektu Różnice zgodności między PowerShell 7+ i 5.1Nie każda funkcja związana z SQL Server zachowuje się identycznie w PowerShell 7+ i Windows PowerShell 5.1. Moduł Przed migracją skryptu należy zweryfikować używane polecenia, wersję modułu oraz sposób uwierzytelniania. Pomocne są polecenia Diagnostyka połączenia i błędów skryptuBłąd podczas wykonywania polecenia PowerShell nie musi oznaczać błędu samego zapytania SQL. Przyczyną może być brak modułu, niepoprawna nazwa instancji, niedostępny port, odmowa uwierzytelnienia, brak uprawnień do wskazanej bazy albo niezgodność używanego polecenia z PowerShell 7+. Diagnostykę warto prowadzić etapami: najpierw sprawdzić wersję powłoki i modułu, następnie wykonać proste zapytanie, a dopiero później uruchamiać złożony skrypt. W praktyce serwisowej analizuje się zarówno komunikat PowerShell, jak i szczegóły wyjątku zwrócone przez dostawcę połączenia z SQL Server. Znaczenie ma także kontekst uruchomienia: skrypt uruchomiony ręcznie przez użytkownika może korzystać z innych poświadczeń niż zadanie uruchamiane przez usługę lub harmonogram. W przypadku komputera z systemem Windows można również porównać działanie tego samego skryptu w PowerShell 7+ i Windows PowerShell 5.1, aby ustalić, czy problem wynika z wersji środowiska, modułu |