Compartilhar via


Read-SqlTableData

Lê dados de uma tabela de um banco de dados SQL.

Syntax

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

Description

O cmdlet Read-SqlTableData lê dados armazenados em uma tabela de um banco de dados SQL. Você pode selecionar quais colunas ler, limitar o número de linhas e classificar e ordenar colunas.

Você pode usar esse cmdlet com o provedor sql Windows PowerShell. Esse cmdlet pode inferir informações como servidor, banco de dados, esquema e tabela de seu caminho atual.

Esse cmdlet dá suporte aos seguintes formatos de saída:

  • Dataset. Um objeto do tipo System.Data.DataSet que contém uma tabela.
  • Datatable. Um objeto do tipo System.Data.DataTable. A propriedade TableName desse objeto é a mesma que a tabela que esse cmdlet consulta.
  • Datarows. Uma coleção de objetos System.Data.DateRow.

Exemplos

Exemplo 1: Obter três linhas de uma tabela

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

Esse comando obtém as três primeiras linhas da tabela MyDatabase.dbo.MyTable na MyServer\MyInstance instância . O parâmetro TopN especifica o número de linhas (3 nesse caso).

Exemplo 2: exibir uma tabela inteira

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

O primeiro comando altera o local para ser uma tabela no provedor SQLSERVER. O prompt de comando reflete o novo local.

Exemplo 3: exibir colunas classificadas selecionadas

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

Parâmetros

-AccessToken

O token de acesso usado para autenticar em SQL Server, como uma alternativa ao usuário/senha ou à Autenticação do Windows.

Isso pode ser usado, por exemplo, para se conectar e SQL Azure DBSQL Azure Managed Instance usar um Service Principal ou um Managed Identity.

O parâmetro a ser usado pode ser uma cadeia de caracteres que representa o token ou um PSAccessToken objeto conforme retornado executando Get-AzAccessToken -ResourceUrl https://database.windows.net.

Esse parâmetro é novo na v22 do módulo.

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

-ColumnName

Especifica uma matriz de nomes de colunas que este cmdlet retorna.

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

-ColumnOrder

Especifica uma matriz de nomes de colunas pela qual esse cmdlet classifica as colunas retornadas.

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

-ColumnOrderType

Especifica uma matriz de tipos de pedido para colunas retornadas por este cmdlet. Os valores aceitáveis para esse parâmetro são:

  • ASC. Crescente.
  • DESC. Descendente.

Os valores especificados para esse parâmetro correspondem às colunas especificadas no parâmetro ColumnOrder. Esse cmdlet ignora todos os valores extras.

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

-ConnectionTimeout

Especifica o número de segundos a aguardar uma conexão de servidor antes de uma falha de tempo limite. O valor do tempo limite deve ser um inteiro entre 0 e 65534. Se 0 for especificado, as tentativas de conexão não atingirão o tempo limite.

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

-Credential

Especifica um objeto PSCredential para a conexão com SQL Server. Para obter um objeto de credencial, use o cmdlet Get-Credential. Para obter mais informações, digite Get-Help Get-Credential.

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

-DatabaseName

Especifica o nome do banco de dados que contém a tabela.

Se você executar esse cmdlet no contexto de um banco de dados ou um item filho de um banco de dados, o cmdlet ignorará esse valor de parâmetro. Especifique o parâmetro IgnoreProviderContext para o cmdlet usar o valor do parâmetro DatabaseName de qualquer maneira.

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

-Encrypt

O tipo de criptografia a ser usado ao se conectar a SQL Server.

Esse valor é mapeado para a Encrypt propriedade SqlConnectionEncryptOption no objeto SqlConnection do driver Microsoft.Data.SqlClient.

Na v22 do módulo, o padrão é Optional (para compatibilidade com v21). Na v23+ do módulo, o valor padrão será 'Obrigatório', o que pode criar uma alteração interruptiva para scripts existentes.

Esse parâmetro é novo na v22 do módulo.

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

-HostNameInCertificate

O nome do host a ser usado na validação do certificado TLS/SSL do SQL Server. Você deve passar esse parâmetro se a instância de SQL Server estiver habilitada para Forçar Criptografia e quiser se conectar a uma instância usando nome do host/nome curto. Se esse parâmetro for omitido, será necessário passar o FQDN (Nome de Domínio Totalmente Qualificado) para -ServerInstance para se conectar a uma instância de SQL Server habilitada para Forçar Criptografia.

Esse parâmetro é novo na v22 do módulo.

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

-IgnoreProviderContext

Indica que esse cmdlet não usa o contexto atual para substituir os valores dos parâmetros ServerInstance, DatabaseName, SchemaName e TableName . Se você não especificar esse parâmetro, o cmdlet ignorará os valores desses parâmetros, se possível, em favor do contexto no qual você executa o cmdlet.

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

-InputObject

Especifica uma matriz de objetos SMO (SQL Server Management Objects) que representam a tabela que este cmdlet lê.

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

-OutputAs

Especifica o tipo de saída.

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

Especifica o caminho para a tabela que este cmdlet lê.

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

-SchemaName

Especifica o nome do esquema para a tabela.

Se você executar esse cmdlet no contexto de um banco de dados ou um item filho de um banco de dados, o cmdlet ignorará esse valor de parâmetro. Especifique o parâmetro IgnoreProviderContext para que o cmdlet use o valor do parâmetro SchemaName de qualquer maneira.

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

-ServerInstance

Especifica o nome de uma instância do SQL Server. Para a instância padrão, especifique o nome do computador. Para instâncias nomeadas, use o formato ComputerName\InstanceName.

Se você executar esse cmdlet no contexto de um banco de dados ou um item filho de um banco de dados, o cmdlet ignorará esse valor de parâmetro. Especifique o parâmetro IgnoreProviderContext para que o cmdlet use o valor do parâmetro ServerInstance de qualquer maneira.

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

-SuppressProviderContextWarning

Indica que esse cmdlet suprime a mensagem de aviso informando que o cmdlet usa o contexto do provedor.

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

-TableName

Especifica o nome da tabela da qual este cmdlet lê.

Se você executar esse cmdlet no contexto de um banco de dados ou um item filho de um banco de dados, o cmdlet ignorará esse valor de parâmetro. Especifique o parâmetro IgnoreProviderContext para o cmdlet usar o valor do parâmetro TableName de qualquer maneira.

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

-TopN

Especifica o número de linhas de dados que este cmdlet retorna. Se você não especificar esse parâmetro, o cmdlet retornará todas as linhas.

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

-TrustServerCertificate

Indica se o canal será criptografado ao ignorar a movimentação da cadeia de certificados para validar a confiança.

Na v22 do módulo, o padrão é $true (para compatibilidade com v21). Na v23+ do módulo, o valor padrão será "$false", o que pode criar uma alteração interruptiva para scripts existentes.

Esse parâmetro é novo na v22 do módulo.

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

Entradas

System.String[]