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 Identity
verwendet 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.net
zurü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[]