Read-SqlViewData
从 SQL 数据库的视图读取数据。
语法
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>]
说明
Read-SqlViewData cmdlet 读取存储在 SQL 数据库视图中的数据。 可以选择要读取的列、限制行数以及对列进行排序和排序。
可以将此 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 Instance
Service Principal
或 Managed 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 不使用当前上下文来替代 ServerInstance、 DatabaseName、 SchemaName 和 ViewName 参数的值。 如果未指定此参数,则 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[]