Utiliser PowerShell sur Windows pour gérer SQL Server sur LinuxUse PowerShell on Windows to Manage SQL Server on Linux

CETTE RUBRIQUE S’APPLIQUE À :nonSQL Server sur WindowsouiSQL Server sur LinuxnonAzure SQL DatabasenonAzure SQL Data Warehouse nonParallel Data Warehouse THIS TOPIC APPLIES TO: noSQL Server on WindowsyesSQL Server on LinuxnoAzure SQL DatabasenoAzure SQL Data WarehousenoParallel Data Warehouse

Cette rubrique présente les SQL Server PowerShell et présente quelques exemples sur la façon de l’utiliser avec SQL Server 2017 RC2 sur Linux.This topic introduces SQL Server PowerShell and walks you through a couple of examples on how to use it with SQL Server 2017 RC2 on Linux. Prise en charge de PowerShell pour SQL Server est actuellement disponible sur Windows, vous pouvez l’utiliser lorsque vous disposez d’un ordinateur Windows qui peut se connecter à une instance distante de SQL Server sur Linux.PowerShell support for SQL Server is currently available on Windows, so you can use it when you have a Windows machine that can connect to a remote SQL Server instance on Linux.

Installer la version la plus récente de SQL PowerShell sur WindowsInstall the newest version of SQL PowerShell on Windows

SQL PowerShell sur Windows est inclus avec SQL Server Management Studio (SSMS).SQL PowerShell on Windows is included with SQL Server Management Studio (SSMS). Lorsque vous travaillez avec SQL Server, vous devez toujours utiliser la version la plus récente de SSMS et SQL PowerShell.When working with SQL Server, you should always use the most recent version of SSMS and SQL PowerShell. La dernière version de SSMS est continuellement mis à jour et optimisées et est actuellement compatible avec SQL Server RC2 2017 sur Linux.The latest version of SSMS is continually updated and optimized and currently works with SQL Server 2017 RC2 on Linux. Pour télécharger et installer la version la plus récente, consultez télécharger SQL Server Management Studio.To download and install the latest version, see Download SQL Server Management Studio. Pour rester à jour, la dernière version de SSMS vous invite lorsqu’il existe une nouvelle version disponible en téléchargement.To stay up-to-date, the latest version of SSMS prompts you when there is a new version available to download.

Avant de commencerBefore you begin

Lecture la problèmes connus pour SQL Server 2017 RC2 sur Linux.Read the Known Issues for SQL Server 2017 RC2 on Linux.

Lancez PowerShell et importer le sqlserver moduleLaunch PowerShell and import the sqlserver module

Nous pouvons commencer en lançant PowerShell sur Windows.Let's start by launching PowerShell on Windows. Ouvrir un invite de commandes sur votre ordinateur Windows et le type PowerShell pour lancer une nouvelle session Windows PowerShell.Open a command prompt on your Windows computer, and type PowerShell to launch a new Windows PowerShell session.

PowerShell

SQL Server fournit un module Windows PowerShell nommé SqlServer que vous pouvez utiliser pour importer les composants de SQL Server (fournisseur SQL Server et applets de commande) dans un environnement PowerShell ou un script.SQL Server provides a Windows PowerShell module named SqlServer that you can use to import the SQL Server components (SQL Server provider and cmdlets) into a PowerShell environment or script.

Copiez et collez la commande ci-dessous à l’invite de PowerShell pour importer le SqlServer module dans votre session PowerShell actuelle :Copy and paste the command below at the PowerShell prompt to import the SqlServer module into your current PowerShell session:

Import-Module SqlServer

Tapez la commande ci-dessous à l’invite de PowerShell pour vérifier que le SqlServer module a été importé correctement :Type the command below at the PowerShell prompt to verify that the SqlServer module was imported correctly:

Get-Module -Name SqlServer

PowerShell doit afficher des informations similaires à celles ci-dessous :PowerShell should display information similar to what's below:

ModuleType Version    Name          ExportedCommands
---------- -------    ----          ----------------
Script     0.0        SqlServer
Manifest   20.0       SqlServer     {Add-SqlAvailabilityDatabase, Add-SqlAvailabilityGroupList...

Se connecter à SQL Server et obtenir des informations sur le serveurConnect to SQL Server and get server information

Nous allons utiliser PowerShell sur Windows pour vous connecter à votre instance de SQL Server 2017 sur Linux et afficher plusieurs propriétés du serveur.Let's use PowerShell on Windows to connect to your SQL Server 2017 instance on Linux and display a couple of server properties.

Copiez et collez les commandes ci-dessous à l’invite de PowerShell.Copy and paste the commands below at the PowerShell prompt. Lorsque vous exécutez ces commandes, PowerShell va :When you run these commands, PowerShell will:

  • Afficher le demande des informations d’identification Windows PowerShell boîte de dialogue qui vous demande les informations d’identification (nom d’utilisateur SQL et mot de passe SQL) pour se connecter à votre instance de SQL Server 2017 RC2 sur LinuxDisplay the Windows PowerShell credential request dialog that prompts you for the credentials (SQL username and SQL password) to connect to your SQL Server 2017 RC2 instance on Linux
  • Charger l’assembly de la gestion des objets SMO (SQL Server)Load the SQL Server Management Objects (SMO) assembly
  • Créez une instance de la Server objetCreate an instance of the Server object
  • Se connecter à la Server et quelques propriétés d’affichageConnect to the Server and display a few properties

N’oubliez pas de remplacer <your_server_instance> avec l’adresse IP ou le nom d’hôte de votre instance de SQL Server 2017 RC2 sur Linux.Remember to replace <your_server_instance> with the IP address or the hostname of your SQL Server 2017 RC2 instance on Linux.

# Prompt for credentials to login into SQL Server
$serverInstance = "<your_server_instance>"
$credential = Get-Credential

# Load the SMO assembly and create a Server object
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO') | out-null
$server = New-Object ('Microsoft.SqlServer.Management.Smo.Server') $serverInstance

# Set credentials
$server.ConnectionContext.LoginSecure=$false
$server.ConnectionContext.set_Login($credential.UserName)
$server.ConnectionContext.set_SecurePassword($credential.Password)

# Connect to the Server and get a few properties
$server.Information | Select-Object Edition, HostPlatform, HostDistribution | Format-List
# done

PowerShell doit afficher des informations similaires à ce qui est indiqué ci-dessous :PowerShell should display information similar to what's shown below:

Edition          : Developer Edition (64-bit)
HostPlatform     : Linux
HostDistribution : Ubuntu
Note

Si rien n’est affiché pour ces valeurs, la connexion à l’instance de SQL Server cible est plus probablement échoué.If nothing is displayed for these values, the connection to the target SQL Server instance most likely failed. Assurez-vous que vous pouvez utiliser les mêmes informations de connexion pour se connecter à partir de SQL Server Management Studio.Make sure that you can use the same connection information to connect from SQL Server Management Studio. Examinez ensuite les recommandations en matière de résolution des problèmes de connexion.Then review the connection troubleshooting recommendations.

Examinez les journaux d’erreurs SQL ServerExamine SQL Server error logs

Nous allons utiliser PowerShell sur Windows pour examiner les journaux d’erreurs connect sur votre instance de SQL Server 2017 sur Linux.Let's use PowerShell on Windows to examine error logs connect on your SQL Server 2017 instance on Linux. Nous utiliserons le Out-GridView ouvre une applet de commande pour afficher des informations à partir de l’erreur dans un affichage de la vue grille.We will also use the Out-GridView cmdlet to show information from the error logs in a grid view display.

Copiez et collez les commandes ci-dessous à l’invite de PowerShell.Copy and paste the commands below at the PowerShell prompt. Il peuvent prendre quelques minutes pour s’exécuter.They might take a few minutes to run. Ces commandes comme suit :These commands do the following:

  • Afficher le demande des informations d’identification Windows PowerShell boîte de dialogue qui vous demande les informations d’identification (nom d’utilisateur SQL et mot de passe SQL) pour se connecter à votre instance de SQL Server 2017 RC2 sur LinuxDisplay the Windows PowerShell credential request dialog that prompts you for the credentials (SQL username and SQL password) to connect to your SQL Server 2017 RC2 instance on Linux
  • Utilisez le Get-SqlErrorLog ouvre une applet de commande pour vous connecter à l’instance de SQL Server 2017 sur Linux et récupérer l’erreur depuis hierUse the Get-SqlErrorLog cmdlet to connect to the SQL Server 2017 instance on Linux and retrieve error logs since Yesterday
  • Dirigez la sortie vers le Out-GridView applet de commandePipe the output to the Out-GridView cmdlet

N’oubliez pas de remplacer <your_server_instance> avec l’adresse IP ou le nom d’hôte de votre instance de SQL Server 2017 RC2 sur Linux.Remember to replace <your_server_instance> with the IP address or the hostname of your SQL Server 2017 RC2 instance on Linux.

# Prompt for credentials to login into SQL Server
$serverInstance = "<your_server_instance>"
$credential = Get-Credential

# Retrieve error logs since yesterday
Get-SqlErrorLog -ServerInstance $serverInstance -Credential $credential -Since Yesterday | Out-GridView
# done

Voir aussiSee also