Megosztás a következőn keresztül:


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.

Az SQL PowerShell legújabb verziójának telepítése Windows rendszeren

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.

Mielőtt hozzákezdene

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

Indítsa el a PowerShellt, és importálja az 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 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

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ó lehetővé teszi, hogy az SQL Server-példányt úgy böngéssze, mint az Object Explorer fastruktúráját, de mindezt 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.

# 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

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. Előfordulhat, hogy a kimenet hasonló ahhoz, amit az SQL Server Management Studio (SSMS) az Adatbázisok csomóponton 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

Az alábbi lépések a Windows PowerShell használatával vizsgálják meg a Linuxon futó SQL Server-példányhoz csatlakozó hibanaplókat. A Out-GridView parancsmaggal is megjelenítjük a hibanaplók adatait egy rácsnézetben.

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 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