| Termin | Definicja |
|---|---|
| Kompatybilność z wersjami PowerShell | Kompatybilność z wersjami PowerShell określa, które wydania tej powłoki obsługują moduły do zarządzania SQL Server. Od Windows PowerShell 5.1 do PowerShell 7Kompatybilność z wersjami PowerShell określa, czy dana wersja powłoki może załadować moduł SQL Server, odnaleźć jego zależności i poprawnie wykonać dostępne polecenia. W środowisku Windows występuje przede wszystkim Windows PowerShell 5.1, oparty na .NET Framework. Nowszy PowerShell 7 jest odrębną linią rozwojową, używającą platformy .NET i dostępną także poza systemem Windows. Sama obecność programu PowerShell na komputerze nie oznacza więc, że każdy moduł administracyjny będzie działał w każdej jego wersji. Moduł SqlServer jest współczesnym modułem PowerShell przeznaczonym do pracy z SQL Server. Udostępnia między innymi polecenia Moduł SqlServer a środowisko uruchomienioweW praktyce trzeba rozróżnić wersję samego PowerShell od wersji modułu SqlServer. Polecenie Wersje modułu instalowane z PowerShell Gallery mogą zawierać różne zależności, w tym biblioteki klienta SQL Server i składniki używane przez narzędzia SMO, czyli SQL Server Management Objects. Z tego powodu aktualizacja modułu może zmienić wymagania dotyczące wersji PowerShell albo platformy .NET. Instalowanie modułu bezpośrednio do środowiska produkcyjnego bez sprawdzenia wersji może doprowadzić do sytuacji, w której skrypt działa w jednej sesji, ale nie uruchamia się w innej. Różnice między SQLPS i SqlServerStarsze skrypty administracyjne często rozpoczynają pracę od załadowania modułu SQLPS albo korzystają z automatycznego importu zapewnianego przez starsze narzędzia SQL Server. Nowsze skrypty powinny jawnie używać modułu SqlServer, jeżeli jego polecenia i wersja są dostępne w danym środowisku. Sprawdzenie załadowanego modułu wykonuje się poleceniem Nie każda różnica objawia się komunikatem o braku modułu. Problemy mogą dotyczyć również niezaładowanej biblioteki .NET, konfliktu kilku wersji SMO, innej polityki wykonywania skryptów albo uruchomienia powłoki 32-bitowej zamiast 64-bitowej. Znaczenie ma także sposób instalacji: moduł zainstalowany dla bieżącego użytkownika może być niewidoczny dla innego konta, usługi lub zadania Harmonogramu zadań. Dlatego diagnostyka powinna obejmować ścieżkę modułów zwracaną przez Sprawdzanie zgodności przed uruchomieniem skryptuBezpieczna weryfikacja zaczyna się od ustalenia wersji PowerShell, systemu operacyjnego, platformy .NET oraz modułu SqlServer. Przydatne są polecenia Jeżeli moduł wymaga składników dostępnych wyłącznie w Windows PowerShell, PowerShell 7 w systemie Windows może użyć mechanizmu zgodności z Windows PowerShell, uruchamianego parametrem |