Freigeben über


Read-SqlViewData

Liest Daten aus einer Ansicht einer SQL-Datenbank.

Syntax

Read-SqlViewData
    [-TopN <Int64>]
    [-ColumnName <String[]>]
    [-ColumnOrder <String[]>]
    [-ColumnOrderType <OrderType[]>]
    [-OutputAs <OutputTypeSingleTable>]
    [[-Path] <String[]>]
    [-AccessToken <PSObject>]
    [-TrustServerCertificate]
    [-HostNameInCertificate <String>]
    [-Encrypt <String>]
    [-ProgressAction <ActionPreference>]
    [<CommonParameters>]
Read-SqlViewData
    [-ViewName <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-SqlViewData
    [-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-SqlViewData liest Daten, die in einer Ansicht 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 zwei Zeilen aus einer Ansicht

PS C:\> Read-SqlViewData -ServerInstance "MyServer\MyInstance" -DatabaseName "MyDatabase" -SchemaName "dbo" -ViewName "MyView" -TopN 2

Id Name   Amount
-- ----   ------
10 AAAAA  -1.2
11 BBBBB  1.2

Dieser Befehl ruft die ersten beiden Zeilen aus der Datenbankansicht MyDatabase.dbo.MyView in der MyServer\MyInstance Instanz ab. Der parameter TopN gibt die Anzahl der Zeilen an (in diesem Fall 2).

Beispiel 2: Anzeigen einer ganzen Ansicht

PS C:\> cd SQLSERVER:\sql\MyServer\MyInstance\Databases\MyDatabase\Views\dbo.MyView
PS SQLSERVER:\sql\MyServer\MyInstance\Databases\MyDatabase\Views\dbo.MyView> Read-SqlViewData

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 Ansicht 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\Views\dbo.MyView
PS SQLSERVER:\sql\MyServer\MyInstance\Databases\MyDatabase\Views\dbo.MyView> Read-SqlViewData -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, entsprechen den Spalten, 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 zum Abrufen eines Anmeldeinformationsobjekts das cmdlet Get-Credential. 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 Ansicht 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, SchemaNameund ViewName 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 Ansicht 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 der Ansicht 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 Ansicht 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

-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

-ViewName

Gibt den Namen der Ansicht 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 parameter IgnoreProviderContext für das Cmdlet an, um trotzdem den Wert des ViewName Parameter zu verwenden.

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

Eingaben

System.String[]