Freigeben über


Read-SqlTableData

Liest Daten aus einer Tabelle einer SQL-Datenbank.

Syntax

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

Beschreibung

Das cmdlet Read-SqlTableData liest Daten, die in einer Tabelle einer SQL-Datenbank gespeichert sind. Sie können auswählen, welche Spalten gelesen werden sollen, die Anzahl der Zeilen einschränken und Spalten sortieren und sortieren und sortieren.

Sie können dieses Cmdlet mit dem Windows PowerShell SQL-Anbieter verwenden. Dieses Cmdlet kann Informationen wie Server, Datenbank, Schema und Tabelle aus dem aktuellen Pfad ableiten.

Dieses Cmdlet unterstützt die folgenden Ausgabeformate:

  • Dataset. Ein Objekt vom Typ System.Data.DataSet, das eine Tabelle enthält.
  • DataTable. Ein Objekt vom Typ System.Data.DataTable. Die TableName-Eigenschaft dieses Objekts ist identisch mit der Tabelle, die dieses Cmdlet abfragt.
  • DataRows. Eine Auflistung von System.Data.DateRow-Objekten.

Beispiele

Beispiel 1: Abrufen von drei Zeilen aus einer Tabelle

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

Dieser Befehl ruft die ersten drei Zeilen aus der Tabelle MyDatabase.dbo.MyTable in der MyServer\MyInstance Instanz ab. Der parameter TopN gibt die Anzahl der Zeilen an (3 in diesem Fall).

Beispiel 2: Anzeigen einer ganzen Tabelle

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

Der erste Befehl ändert den Speicherort in einer Tabelle im SQLSERVER-Anbieter. Die Eingabeaufforderung gibt den neuen Speicherort wieder.

Beispiel 3: Ausgewählte sortierte Spalten anzeigen

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

Parameter

-AccessToken

Das Zugriffstoken, das zur Authentifizierung bei SQL Server verwendet wird, als Alternative zur Benutzer-/Kennwort- oder Windows-Authentifizierung.

Dies kann z. B. zum Herstellen einer Verbindung mit SQL Azure DB und SQL Azure Managed Instance mithilfe eines Service Principal oder einer Managed Identityverwendet werden.

Der zu verwendende Parameter kann entweder eine Zeichenfolge sein, die das Token darstellt, oder ein PSAccessToken-Objekt, wie durch Ausführen von Get-AzAccessToken -ResourceUrl https://database.windows.netzurückgegeben wird.

Dieser Parameter ist neu in v22 des Moduls.

Typ:PSObject
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ColumnName

Gibt ein Array von Namen von Spalten an, die dieses Cmdlet zurückgibt.

Typ:String[]
Aliase:ColumnToReturn
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ColumnOrder

Gibt ein Array von Namen von Spalten an, nach dem dieses Cmdlet die zurückgegebenen Spalten sortiert.

Typ:String[]
Aliase:OrderBy
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ColumnOrderType

Gibt ein Array von Bestelltypen für Spalten an, die dieses Cmdlet zurückgibt. Die zulässigen Werte für diesen Parameter sind:

  • ASC. Aufsteigend.
  • DESC. Absteigend.

Die werte, die Sie für diesen Parameter angeben, stimmen mit den Spalten überein, die Sie im ColumnOrder-Parameter angeben. Dieses Cmdlet ignoriert alle zusätzlichen Werte.

Typ:OrderType[]
Zulässige Werte:ASC, DESC
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ConnectionTimeout

Gibt die Anzahl der Sekunden an, die auf eine Serververbindung warten sollen, bevor ein Timeoutfehler auftritt. Der Timeoutwert muss eine ganze Zahl zwischen 0 und 65534 sein. Wenn 0 angegeben ist, werden Verbindungsversuche nicht unterbrochen.

Typ:Int32
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Credential

Gibt ein PSCredential -Objekt für die Verbindung mit SQL Server an. Verwenden Sie das Cmdlet Get-Credential, um ein Anmeldeinformationsobjekt abzurufen. Geben Sie Get-Help Get-Credential ein, um weitere Informationen zu erhalten.

Typ:PSCredential
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-DatabaseName

Gibt den Namen der Datenbank an, die die Tabelle enthält.

Wenn Sie dieses Cmdlet im Kontext einer Datenbank oder eines untergeordneten Elements einer Datenbank ausführen, ignoriert das Cmdlet diesen Parameterwert. Geben Sie den parameter IgnoreProviderContext für das Cmdlet an, um den Wert des parameters DatabaseName zu verwenden.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Encrypt

Der Verschlüsselungstyp, der beim Herstellen einer Verbindung mit SQL Server verwendet werden soll.

Dieser Wert ist der Encrypt Eigenschaft SqlConnectionEncryptOption für das SqlConnection-Objekt des Microsoft.Data.SqlClient-Treibers zugeordnet.

In v22 des Moduls ist die Standardeinstellung Optional (aus Kompatibilität mit v21). In v23+ des Moduls lautet der Standardwert "Verpflichtend", wodurch für vorhandene Skripts eine bahnbrechende Änderung erstellt werden kann.

Dieser Parameter ist neu in v22 des Moduls.

Typ:String
Zulässige Werte:Mandatory, Optional, Strict
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-HostNameInCertificate

Der Hostname, der beim Überprüfen des SQL Server TLS/SSL-Zertifikats verwendet werden soll. Sie müssen diesen Parameter übergeben, wenn Ihre SQL Server-Instanz für die Erzwingungsverschlüsselung aktiviert ist und Sie eine Verbindung mit einer Instanz mit hostname/shortname herstellen möchten. Wenn dieser Parameter nicht angegeben wird, ist das Übergeben des vollqualifizierten Domänennamens (Fully Qualified Domain Name, FQDN) an -ServerInstance erforderlich, um eine Verbindung mit einer SQL Server-Instanz herzustellen, die für die Erzwingungsverschlüsselung aktiviert ist.

Dieser Parameter ist neu in v22 des Moduls.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-IgnoreProviderContext

Gibt an, dass dieses Cmdlet nicht den aktuellen Kontext verwendet, um die Werte der ServerInstance-, DatabaseName-, SchemaName-und TableName- Parameter außer Kraft zu setzen. Wenn Sie diesen Parameter nicht angeben, ignoriert das Cmdlet die Werte dieser Parameter, falls möglich, zugunsten des Kontexts, in dem Sie das Cmdlet ausführen.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-InputObject

Gibt ein Array von SQL Server Management Objects (SMO)-Objekten an, die die Tabelle darstellen, die dieses Cmdlet liest.

Typ:ScriptSchemaObjectBase[]
Position:1
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-OutputAs

Gibt den Ausgabetyp an.

Typ:OutputTypeSingleTable
Aliase:As
Zulässige Werte:DataSet, DataTable, DataRows
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Path

Gibt den Pfad zur Tabelle an, die dieses Cmdlet liest.

Typ:String[]
Position:1
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ProgressAction

Bestimmt, wie PowerShell auf Statusaktualisierungen reagiert, die von einem Skript, Cmdlet oder Anbieter generiert werden, z. B. auf die Statusanzeigen, die vom Cmdlet Write-Progress generiert werden. Das Cmdlet Write-Progress erstellt Statusanzeigen, die den Status eines Befehls anzeigen.

Typ:ActionPreference
Aliase:proga
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-SchemaName

Gibt den Namen des Schemas für die Tabelle an.

Wenn Sie dieses Cmdlet im Kontext einer Datenbank oder eines untergeordneten Elements einer Datenbank ausführen, ignoriert das Cmdlet diesen Parameterwert. Geben Sie den parameter IgnoreProviderContext für das Cmdlet an, um trotzdem den Wert des SchemaName Parameter zu verwenden.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ServerInstance

Gibt den Namen einer Instanz von SQL Server an. Geben Sie für die Standardinstanz den Computernamen an. Verwenden Sie für benannte Instanzen das Format ComputerName\InstanceName.

Wenn Sie dieses Cmdlet im Kontext einer Datenbank oder eines untergeordneten Elements einer Datenbank ausführen, ignoriert das Cmdlet diesen Parameterwert. Geben Sie den IgnoreProviderContext- Parameter für das Cmdlet an, um den Wert des ServerInstance- Parameters trotzdem zu verwenden.

Typ:String[]
Position:1
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-SuppressProviderContextWarning

Gibt an, dass dieses Cmdlet die Warnmeldung unterdrückt, die besagt, dass das Cmdlet den Anbieterkontext verwendet.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-TableName

Gibt den Namen der Tabelle an, aus der dieses Cmdlet liest.

Wenn Sie dieses Cmdlet im Kontext einer Datenbank oder eines untergeordneten Elements einer Datenbank ausführen, ignoriert das Cmdlet diesen Parameterwert. Geben Sie den IgnoreProviderContext- Parameter für das Cmdlet an, um den Wert des TableName Parameter trotzdem zu verwenden.

Typ:String
Aliase:Name
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-TopN

Gibt die Anzahl der Datenzeilen an, die dieses Cmdlet zurückgibt. Wenn Sie diesen Parameter nicht angeben, gibt das Cmdlet alle Zeilen zurück.

Typ:Int64
Aliase:First
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-TrustServerCertificate

Gibt an, ob der Kanal verschlüsselt wird, während die Zertifikatkette umgangen wird, um die Vertrauensstellung zu überprüfen.

In v22 des Moduls ist die Standardeinstellung $true (aus Kompatibilität mit v21). In v23+ des Moduls lautet der Standardwert "$false", wodurch möglicherweise eine änderung für vorhandene Skripts geändert wird.

Dieser Parameter ist neu in v22 des Moduls.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

System.String[]