Read-SqlViewData

從 SQL 資料庫的檢視讀取數據。

Syntax

Read-SqlViewData
    [-TopN <Int64>]
    [-ColumnName <String[]>]
    [-ColumnOrder <String[]>]
    [-ColumnOrderType <OrderType[]>]
    [-OutputAs <OutputTypeSingleTable>]
    [[-Path] <String[]>]
    [-AccessToken <PSObject>]
    [-TrustServerCertificate]
    [-HostNameInCertificate <String>]
    [-Encrypt <String>]
    [<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>]
    [<CommonParameters>]
Read-SqlViewData
    [-TopN <Int64>]
    [-ColumnName <String[]>]
    [-ColumnOrder <String[]>]
    [-ColumnOrderType <OrderType[]>]
    [-OutputAs <OutputTypeSingleTable>]
    [-InputObject] <ScriptSchemaObjectBase[]>
    [-AccessToken <PSObject>]
    [-TrustServerCertificate]
    [-HostNameInCertificate <String>]
    [-Encrypt <String>]
    [<CommonParameters>]

Description

Read-SqlViewData Cmdlet 會讀取儲存在 SQL Database 檢視中的數據。 您可以選取要讀取的數據行、限制資料列數目,以及排序和排序數據行。

您可以將此 Cmdlet 與 Windows PowerShell SQL 提供者搭配使用。 此 Cmdlet 可以從其目前路徑推斷伺服器、資料庫、架構和數據表等資訊。

此 Cmdlet 支援下列輸出格式:

  • 數據。 System.Data.DataSet 類型的物件,其中包含一個數據表。
  • DataTable。 System.Data.DataTable 類型的物件。 這個物件的 TableName 屬性與這個 Cmdlet 查詢的數據表相同。
  • DataRows。 System.Data.DateRow 物件的集合。

範例

範例 1:從檢視取得兩個數據列

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

此命令會從實例上的MyServer\MyInstance資料庫檢視MyDatabase.dbo.MyView取得前兩個數據列。 TopN 參數會指定在此案例) (2 的數據列數目。

範例 2:顯示整個檢視

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

第一個命令會將位置變更為 SQLSERVER 提供者中的檢視。 命令提示字元會反映新的位置。

範例 3:顯示選取的已排序數據行

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

參數

-AccessToken

用來驗證 SQL Server 的存取令牌,作為使用者/密碼或 Windows 驗證的替代方案。

例如,這可用來連線至 SQL Azure DB 或使用 或使用 SQL Azure Managed InstanceService PrincipalManaged Identity

要使用的參數可以是表示令牌的字串,或是 PSAccessToken 執行 Get-AzAccessToken -ResourceUrl https://database.windows.net所傳回的物件。

這個參數是模組 v22 中的新功能。

Type:PSObject
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ColumnName

指定這個 Cmdlet 傳回之資料行名稱的陣列。

Type:String[]
Aliases:ColumnToReturn
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ColumnOrder

指定此 Cmdlet 排序傳回之資料行的資料列名稱陣列。

Type:String[]
Aliases:OrderBy
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ColumnOrderType

指定這個 Cmdlet 傳回之資料行的順序類型數位。 此參數可接受的值為:

  • Asc。 上升。
  • DESC。 降。

您為此參數指定的值符合您在 ColumnOrder 參數中指定的數據行。 此 Cmdlet 會忽略任何額外的值。

Type:OrderType[]
Accepted values:ASC, DESC
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ConnectionTimeout

指定在逾時失敗之前等候伺服器連線的秒數。 逾時值必須是介於 0 到 65534 之間的整數。 如果指定了 0,連線嘗試就不會逾時。

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

指定連接 SQL Server 的 PSCredential 物件。 若要取得認證物件,請使用 Get-Credential Cmdlet。 如需詳細資訊,請輸入 Get-Help Get-Credential。

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DatabaseName

指定包含檢視的資料庫名稱。

如果您在資料庫或資料庫的子項目內容中執行此 Cmdlet,Cmdlet 會忽略此參數值。 請為 Cmdlet 指定 IgnoreProviderContext 參數,以使用 DatabaseName 參數的值。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Encrypt

連接到 SQL Server 時要使用的加密類型。

這個值會對應至 Encrypt Microsoft.Data.SqlClient 驅動程式之 SqlConnection 物件上的 屬性 SqlConnectionEncryptOption

在模組的 v22 中,預設為 Optional (,以便與 v21) 相容。 在模組 v23+ 中,預設值會是「強制」,這可能會為現有的腳本建立重大變更。

這個參數是模組 v22 中的新功能。

Type:String
Accepted values:Mandatory, Optional, Strict
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-HostNameInCertificate

用於驗證 SQL Server TLS/SSL 憑證的主機名稱。 如果您的 SQL Server 實例已啟用強制加密,而且您想要使用主機名/shortname 連線到實例,則必須傳遞此參數。 如果省略此參數,則必須將完整域名 (FQDN) 傳遞至 -ServerInstance,才能連線到啟用強制加密的 SQL Server 實例。

這個參數是模組 v22 中的新功能。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IgnoreProviderContext

表示此 Cmdlet 不會使用目前的內容來覆寫 ServerInstanceDatabaseNameSchemaNameViewName 參數的值。 如果您未指定此參數,Cmdlet 會盡可能忽略這些參數的值,而會優先使用您執行 Cmdlet 的內容。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

指定 SQL Server 管理物件陣列, (SMO) 物件,這些物件代表這個 Cmdlet 所讀取的檢視。

Type:ScriptSchemaObjectBase[]
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-OutputAs

指定輸出的類型。

Type:OutputTypeSingleTable
Aliases:As
Accepted values:DataSet, DataTable, DataRows
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

指定這個 Cmdlet 讀取之檢視的路徑。

Type:String[]
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SchemaName

指定檢視的架構名稱。

如果您在資料庫或資料庫的子項目內容中執行此 Cmdlet,Cmdlet 會忽略此參數值。 請為 Cmdlet 指定 IgnoreProviderContext 參數,以使用 SchemaName 參數的值。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ServerInstance

指定實例的名稱 SQL Server。 針對預設實例,指定計算機名稱。 針對具名實例,請使用 格式 ComputerName\InstanceName

如果您在資料庫或資料庫的子項目內容中執行此 Cmdlet,Cmdlet 會忽略此參數值。 指定 Cmdlet 的 IgnoreProviderContext 參數,以使用 ServerInstance 參數的值。

Type:String[]
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-SuppressProviderContextWarning

指出此 Cmdlet 會隱藏指出 Cmdlet 使用提供者內容的警告訊息。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TopN

指定這個 Cmdlet 傳回的數據列數目。 如果您未指定此參數,Cmdlet 會傳回所有數據列。

Type:Int64
Aliases:First
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TrustServerCertificate

指出通道是否會在略過憑證鏈結以驗證信任時加密。

在模組的 v22 中,預設為 $true (,以便與 v21) 相容。 在模組 v23+ 中,預設值會是 『$false』,這可能會為現有的腳本建立重大變更。

這個參數是模組 v22 中的新功能。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ViewName

指定這個 Cmdlet 從中讀取的檢視名稱。

如果您在資料庫或資料庫的子項目內容中執行此 Cmdlet,Cmdlet 會忽略此參數值。 請為 Cmdlet 指定 IgnoreProviderContext 參數,以使用 ViewName 參數的值。

Type:String
Aliases:Name
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

輸入

System.String[]