A PowerShell használata Windows rendszeren az SQL Server linuxos kezeléséhez

A következőkre vonatkozik:SQL Server Linux rendszeren

Ez a cikk bemutatja SQL Server PowerShell-, és bemutat néhány példát arra, hogyan használható linuxos SQL Serverrel. Az SQL Server PowerShell-támogatása jelenleg Windows, macOS és Linux rendszeren érhető el. Ez a cikk bemutatja, hogy windowsos géppel csatlakozhat egy távoli SQL Server-példányhoz Linuxon.

Telepítse az SQL Server PowerShell legújabb verzióját Windows-ra

A Windows SQL Server PowerShell-modulja a PowerShell-gyűjteményben található. Az SQL Server használatakor mindig az SqlServer PowerShell modul legújabb verzióját kell használnia.

Prerequisites

Olvassa el a linuxos SQL Server ismert problémáit.

Indítsd el a PowerShell-t, és importáld a SqlServer modult

Kezdjük a PowerShell windowsos elindításával. Indítson el egy új Windows PowerShell-munkamenetet a következő módon: használja a Win+Rbillentyűkombinációt a Windows-számítógépén, és írja be a PowerShell parancsot.

Az SQL Server egy SqlServernevű PowerShell-modult biztosít. A SqlServer modullal importálhatja az SQL Server-összetevőket (SQL Server-szolgáltató és parancsmagok) Egy PowerShell-környezetbe vagy -szkriptbe.

Másolja és illessze be a következő parancsot a PowerShell-parancssorba a SqlServer modul importálásához az aktuális PowerShell-munkamenetbe:

Import-Module SqlServer

Írja be a következő parancsot a PowerShell-parancssorba annak ellenőrzéséhez, hogy a SqlServer modul megfelelően lett-e importálva:

Get-Module -Name SqlServer

A PowerShellnek az alábbi kimenethez hasonló információkat kell megjelenítenie:

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

Csatlakozás az SQL Serverhez és a kiszolgáló adatainak lekérése

Windowson a PowerShell használatával kapcsolódjunk az SQL Server-példányhoz Linuxon, és jelenítsünk meg néhány kiszolgálótulajdonságt.

Másolja és illessze be a következő parancsokat a PowerShell-parancssorba. A parancsok futtatásakor a PowerShell a következőt fogja:

  • Példányhoz tartozó állomásnév vagy IP-cím megadását kérő párbeszédpanel megjelenítése.
  • A Windows PowerShell hitelesítőadat-kérés párbeszédpanel megjelenítése, amely a hitelesítő adatok megadását kéri. A SQL-felhasználónév és SQL-jelszó használatával csatlakozhat a Linuxon futó SQL Server-példányhoz
  • A Get-SqlInstance parancsmaggal csatlakozhat a kiszolgálói, és megjeleníthet néhány tulajdonságot

Igény szerint egyszerűen lecserélheti a $serverInstance változót az SQL Server-példány IP-címére vagy állomásnevére.

# 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

A PowerShellnek az alábbi kimenethez hasonló információkat kell megjelenítenie:

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

Jegyzet

Ha ezekhez az értékekhez semmi sem jelenik meg, a cél SQL Server-példányhoz való kapcsolódás valószínűleg meghiúsult. Győződjön meg arról, hogy ugyanazokat a kapcsolati információkat használhatja az SQL Server Management Studióból való csatlakozáshoz. Ezután tekintse át a kapcsolat hibaelhárítási javaslatait.

Az SQL Server PowerShell-szolgáltató használata

Az SQL Server-példányhoz való csatlakozás másik lehetősége az SQL Server PowerShell-szolgáltatóhasználata. Ez a szolgáltatómodul lehetővé teszi, hogy úgy navigáljon egy SQL Server-példányban, mintha az Object Explorer fastruktúrájában navigálna, de a parancssorban. Ez a szolgáltató alapértelmezés szerint egy SQLSERVER:\nevű PSDrive-ként jelenik meg, amellyel csatlakozhat és navigálhat azon SQL Server-példányok között, amelyekhez a tartományfiókja rendelkezik hozzáféréssel. Az Active Directory-hitelesítésnek a Linuxon futó SQL Serverhez való beállításáról további információkért tekintse meg a konfigurációs lépéseket.

SQL-hitelesítést az SQL Server PowerShell-szolgáltatóval is használhat. Ehhez a New-PSDrive parancsmaggal hozzon létre egy új PSDrive-t, és adja meg a megfelelő hitelesítő adatokat a csatlakozáshoz.

Az alábbi példában egy példát láthat arra, hogyan hozhat létre új PSDrive-t SQL-hitelesítéssel.

# 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

A Get-PSDrive parancsmag futtatásával ellenőrizheti, hogy a meghajtó létrejött-e.

Get-PSDrive

Miután létrehozta az új PSDrive-ot, megkezdheti a navigálást.

dir SQLonDocker:\Databases

Így nézhet ki a kimenet. Észreveheted, hogy a kimenet hasonló ahhoz, amit az SQL Server Management Studio az adatbázisok csomópontján jelenít meg. Megjeleníti a felhasználói adatbázisokat, a rendszeradatbázisokat azonban nem.

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

Ha az összes adatbázist látnia kell a szerveren futó példányon, az egyik lehetőség a Get-SqlDatabase parancsmag használata.

AZ SQL Server hibanaplóinak vizsgálata

A következő lépések a PowerShell segítségével vizsgálják a Windows-os hibanaplókat az SQL Server példányodon Linuxon. Az Out-GridView parancsnokat is használod, hogy a hibanaplók adatait megjelenítsd a rácsnézet kijelzőjén.

Másolja és illessze be a következő parancsokat a PowerShell-parancssorba. A futtatás eltarthat néhány percig. Ezek a parancsok a következőket hajtják végre:

  • Példányhoz tartozó állomásnév vagy IP-cím megadását kérő párbeszédpanel megjelenítése.
  • A Windows PowerShell hitelesítőadat-kérés párbeszédpanel megjelenítése, amely a hitelesítő adatok megadását kéri. A SQL-felhasználónév és SQL-jelszó használatával csatlakozhat a Linuxon futó SQL Server-példányhoz
  • A Get-SqlErrorLog parancsmaggal csatlakozhat a Linuxon futó SQL Server-példányhoz, és lekérheti a hibanaplókat a Tegnap óta
  • A kimenet átirányítása a Out-GridView parancsmagra

Igény szerint lecserélheti a $serverInstance változót az SQL Server-példány IP-címére vagy állomásnevére.

# 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