Partager via


Read-SqlTableData

Lit les données d’une table d’une base de données SQL.

Syntaxe

Read-SqlTableData
    [-TopN <Int64>]
    [-ColumnName <String[]>]
    [-ColumnOrder <String[]>]
    [-ColumnOrderType <OrderType[]>]
    [-OutputAs <OutputTypeSingleTable>]
    [[-Path] <String[]>]
    [-AccessToken <PSObject>]
    [-TrustServerCertificate]
    [-HostNameInCertificate <String>]
    [-Encrypt <String>]
    [-ProgressAction <ActionPreference>]
    [<CommonParameters>]
Read-SqlTableData
    [-TableName <String>]
    [-TopN <Int64>]
    [-ColumnName <String[]>]
    [-ColumnOrder <String[]>]
    [-ColumnOrderType <OrderType[]>]
    [-OutputAs <OutputTypeSingleTable>]
    [-DatabaseName <String>]
    [-SchemaName <String>]
    [-IgnoreProviderContext]
    [-SuppressProviderContextWarning]
    [[-ServerInstance] <String[]>]
    [-Credential <PSCredential>]
    [-ConnectionTimeout <Int32>]
    [-AccessToken <PSObject>]
    [-TrustServerCertificate]
    [-HostNameInCertificate <String>]
    [-Encrypt <String>]
    [-ProgressAction <ActionPreference>]
    [<CommonParameters>]
Read-SqlTableData
    [-TopN <Int64>]
    [-ColumnName <String[]>]
    [-ColumnOrder <String[]>]
    [-ColumnOrderType <OrderType[]>]
    [-OutputAs <OutputTypeSingleTable>]
    [-InputObject] <ScriptSchemaObjectBase[]>
    [-AccessToken <PSObject>]
    [-TrustServerCertificate]
    [-HostNameInCertificate <String>]
    [-Encrypt <String>]
    [-ProgressAction <ActionPreference>]
    [<CommonParameters>]

Description

L’applet de commande Read-SqlTableData lit les données stockées dans une table d’une base de données SQL. Vous pouvez sélectionner les colonnes à lire, limiter le nombre de lignes et trier et classer les colonnes.

Vous pouvez utiliser cette applet de commande avec le fournisseur SQL Windows PowerShell. Cette applet de commande peut déduire des informations telles que le serveur, la base de données, le schéma et la table à partir de son chemin d’accès actuel.

Cette applet de commande prend en charge les formats de sortie suivants :

  • Jeu de données. Objet de type System.Data.DataSet qui contient une table.
  • DataTable. Objet de type System.Data.DataTable. La propriété TableName de cet objet est identique à la table que cette applet de commande interroge.
  • DataRows. Collection d’objets System.Data.DateRow.

Exemples

Exemple 1 : Obtenir trois lignes d’une table

PS C:\> Read-SqlTableData -ServerInstance "MyServer\MyInstance" -DatabaseName "MyDatabase" -SchemaName "dbo" -TableName "MyTable" -TopN 3

Id Name   Amount
-- ----   ------
10 AAAAA  -1.2
11 BBBBB  1.2
12 CCCCC  -1.0

Cette commande obtient les trois premières lignes de la table MyDatabase.dbo.MyTable sur l’instance de MyServer\MyInstance. Le paramètre TopN spécifie le nombre de lignes (3 dans ce cas).

Exemple 2 : Afficher une table entière

PS C:\> cd SQLSERVER:\sql\MyServer\MyInstance\Databases\MyDatabase\Tables\dbo.CSVTable
PS SQLSERVER:\sql\MyServer\MyInstance\Databases\MyDatabase\Tables\dbo.CSVTable> Read-SqlTableData

Id Name Amount
-- ---- ------
10 AAAA -1.2
11 BBBB 1.2
12 CCCC -1.0
13 DDDD -2.0

La première commande modifie l’emplacement pour qu’il s’agit d’une table dans le fournisseur SQLSERVER. L’invite de commandes reflète le nouvel emplacement.

Exemple 3 : Afficher les colonnes triées sélectionnées

PS C:\> cd SQLSERVER:\sql\MyServer\MyInstance\Databases\MyDatabase\Tables\dbo.CSVTable
PS SQLSERVER:\sql\MyServer\MyInstance\Databases\MyDatabase\Tables\dbo.CSVTable> Read-SqlTableData -TopN 3 -ColumnName "Id","Name" -ColumnOrder "Id","Name" -ColumnOrderType DESC,ASC

Id Name
-- ----
12 CCCC
11 BBBB
10 AAAA

Paramètres

-AccessToken

Jeton d’accès utilisé pour s’authentifier auprès de SQL Server, comme alternative à l’authentification utilisateur/mot de passe ou Windows.

Cela peut être utilisé, par exemple, pour se connecter à SQL Azure DB et SQL Azure Managed Instance à l’aide d’un Service Principal ou d’un Managed Identity.

Le paramètre à utiliser peut être une chaîne représentant le jeton ou un objet PSAccessToken tel qu’il est retourné en exécutant Get-AzAccessToken -ResourceUrl https://database.windows.net.

Ce paramètre est nouveau dans v22 du module.

Type:PSObject
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ColumnName

Spécifie un tableau de noms de colonnes que cette applet de commande retourne.

Type:String[]
Alias:ColumnToReturn
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ColumnOrder

Spécifie un tableau de noms de colonnes par lequel cette applet de commande trie les colonnes qu’elle retourne.

Type:String[]
Alias:OrderBy
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ColumnOrderType

Spécifie un tableau de types d’ordre pour les colonnes retournées par cette applet de commande. Les valeurs acceptables pour ce paramètre sont les suivantes :

  • ASC. Ascendant.
  • DESC. Descendant.

Les valeurs que vous spécifiez pour ce paramètre correspondent aux colonnes que vous spécifiez dans le paramètre ColumnOrder. Cette applet de commande ignore toutes les valeurs supplémentaires.

Type:OrderType[]
Valeurs acceptées:ASC, DESC
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ConnectionTimeout

Spécifie le nombre de secondes à attendre pour une connexion serveur avant une défaillance de délai d’attente. La valeur de délai d’attente doit être un entier compris entre 0 et 65534. Si 0 est spécifié, les tentatives de connexion n’expirent pas.

Type:Int32
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Credential

Spécifie un objet PSCredential pour la connexion à SQL Server. Pour obtenir un objet d’informations d’identification, utilisez l’applet de commande Get-Credential. Pour plus d’informations, tapez Get-Help Obtenir des informations d’identification.

Type:PSCredential
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-DatabaseName

Spécifie le nom de la base de données qui contient la table.

Si vous exécutez cette applet de commande dans le contexte d’une base de données ou d’un élément enfant d’une base de données, l’applet de commande ignore cette valeur de paramètre. Spécifiez le paramètre IgnoreProviderContext pour l’applet de commande afin d’utiliser la valeur du paramètre DatabaseName de toute façon.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Encrypt

Type de chiffrement à utiliser lors de la connexion à SQL Server.

Cette valeur est mappée à la propriété EncryptSqlConnectionEncryptOption sur l’objet SqlConnection du pilote Microsoft.Data.SqlClient.

Dans la version 22 du module, la valeur par défaut est Optional (pour la compatibilité avec v21). Dans la version 23+ du module, la valeur par défaut est « Obligatoire », ce qui peut créer une modification cassant pour les scripts existants.

Ce paramètre est nouveau dans v22 du module.

Type:String
Valeurs acceptées:Mandatory, Optional, Strict
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-HostNameInCertificate

Nom d’hôte à utiliser pour valider le certificat TLS/SSL SQL Server. Vous devez passer ce paramètre si votre instance SQL Server est activée pour Forcer le chiffrement et que vous souhaitez vous connecter à une instance à l’aide du nom d’hôte/shortname. Si ce paramètre est omis, le passage du nom de domaine complet (FQDN) à -ServerInstance est nécessaire pour se connecter à une instance SQL Server activée pour Forcer le chiffrement.

Ce paramètre est nouveau dans v22 du module.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-IgnoreProviderContext

Indique que cette applet de commande n’utilise pas le contexte actuel pour remplacer les valeurs de l'ServerInstance , DatabaseName, SchemaNameet paramètres tableName. Si vous ne spécifiez pas ce paramètre, l’applet de commande ignore les valeurs de ces paramètres, si possible, en faveur du contexte dans lequel vous exécutez l’applet de commande.

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-InputObject

Spécifie un tableau d’objets SMO (SQL Server Management Objects) qui représentent la table que cette applet de commande lit.

Type:ScriptSchemaObjectBase[]
Position:1
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-OutputAs

Spécifie le type de sortie.

Type:OutputTypeSingleTable
Alias:As
Valeurs acceptées:DataSet, DataTable, DataRows
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Path

Spécifie le chemin d’accès à la table que cette applet de commande lit.

Type:String[]
Position:1
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ProgressAction

Détermine comment PowerShell répond aux mises à jour de progression générées par un script, une applet de commande ou un fournisseur, telles que les barres de progression générées par l’applet de commande Write-Progress. L’applet de commande Write-Progress crée des barres de progression qui affichent l’état d’une commande.

Type:ActionPreference
Alias:proga
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-SchemaName

Spécifie le nom du schéma de la table.

Si vous exécutez cette applet de commande dans le contexte d’une base de données ou d’un élément enfant d’une base de données, l’applet de commande ignore cette valeur de paramètre. Spécifiez le paramètre IgnoreProviderContext pour l’applet de commande afin d’utiliser la valeur du paramètre SchemaName de toute façon.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ServerInstance

Spécifie le nom d’une instance de SQL Server. Pour l’instance par défaut, spécifiez le nom de l’ordinateur. Pour les instances nommées, utilisez le format ComputerName\InstanceName.

Si vous exécutez cette applet de commande dans le contexte d’une base de données ou d’un élément enfant d’une base de données, l’applet de commande ignore cette valeur de paramètre. Spécifiez le paramètre IgnoreProviderContext pour l’applet de commande afin d’utiliser la valeur du paramètre ServerInstance de toute façon.

Type:String[]
Position:1
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-SuppressProviderContextWarning

Indique que cette applet de commande supprime le message d’avertissement qui indique que l’applet de commande utilise le contexte du fournisseur.

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-TableName

Spécifie le nom de la table à partir de laquelle cette applet de commande lit.

Si vous exécutez cette applet de commande dans le contexte d’une base de données ou d’un élément enfant d’une base de données, l’applet de commande ignore cette valeur de paramètre. Spécifiez le paramètre IgnoreProviderContext pour l’applet de commande afin d’utiliser la valeur du paramètre TableName de toute façon.

Type:String
Alias:Name
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-TopN

Spécifie le nombre de lignes de données retournées par cette applet de commande. Si vous ne spécifiez pas ce paramètre, l’applet de commande retourne toutes les lignes.

Type:Int64
Alias:First
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-TrustServerCertificate

Indique si le canal sera chiffré lors du contournement de la marche à pied de la chaîne de certificats pour valider l’approbation.

Dans la version 22 du module, la valeur par défaut est $true (pour la compatibilité avec v21). Dans v23+ du module, la valeur par défaut est « $false », ce qui peut créer une modification cassant pour les scripts existants.

Ce paramètre est nouveau dans v22 du module.

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

Entrées

System.String[]