Compartir a través de


Read-SqlTableData

Lee datos de una tabla de una base de datos SQL.

Sintaxis

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>]

Description

El cmdlet Read-SqlTableData lee los datos almacenados en una tabla de una base de datos SQL. Puede seleccionar las columnas que se van a leer, limitar el número de filas y ordenar y ordenar columnas.

Puede usar este cmdlet con el proveedor de SQL de Windows PowerShell. Este cmdlet puede deducir información como el servidor, la base de datos, el esquema y la tabla desde su ruta de acceso actual.

Este cmdlet admite los siguientes formatos de salida:

  • Conjunto de datos. Objeto de tipo System.Data.DataSet que contiene una tabla.
  • DataTable. Objeto de tipo System.Data.DataTable. La propiedad TableName de este objeto es la misma que la tabla que consulta este cmdlet.
  • DataRows. Colección de objetos System.Data.DateRow.

Ejemplos

Ejemplo 1: Obtener tres filas de una tabla

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

Este comando obtiene las tres primeras filas de la tabla MyDatabase.dbo.MyTable en la instancia de MyServer\MyInstance. El parámetro TopN especifica el número de filas (3 en este caso).

Ejemplo 2: Mostrar una tabla completa

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

El primer comando cambia la ubicación para que sea una tabla en el proveedor SQLSERVER. El símbolo del sistema refleja la nueva ubicación.

Ejemplo 3: Mostrar columnas ordenadas seleccionadas

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

El token de acceso que se usa para autenticarse en SQL Server, como alternativa a la autenticación de usuario o contraseña de Windows.

Esto se puede usar, por ejemplo, para conectarse a SQL Azure DB y SQL Azure Managed Instance mediante un Service Principal o un Managed Identity.

El parámetro que se va a usar puede ser una cadena que representa el token o un objeto PSAccessToken tal como se devuelve mediante la ejecución de Get-AzAccessToken -ResourceUrl https://database.windows.net.

Este parámetro es nuevo en la versión 22 del módulo.

Tipo:PSObject
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ColumnName

Especifica una matriz de nombres de columnas que devuelve este cmdlet.

Tipo:String[]
Alias:ColumnToReturn
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ColumnOrder

Especifica una matriz de nombres de columnas por la que este cmdlet ordena las columnas que devuelve.

Tipo:String[]
Alias:OrderBy
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ColumnOrderType

Especifica una matriz de tipos de orden para las columnas que devuelve este cmdlet. Los valores aceptables para este parámetro son:

  • ASC. Ascendente.
  • DESC. Descendente.

Los valores que especifique para este parámetro coinciden con las columnas que especifique en el parámetro ColumnOrder. Este cmdlet omite los valores adicionales.

Tipo:OrderType[]
Valores aceptados:ASC, DESC
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ConnectionTimeout

Especifica el número de segundos que se deben esperar a una conexión de servidor antes de un error de tiempo de espera. El valor de tiempo de espera debe ser un entero entre 0 y 65534. Si se especifica 0, los intentos de conexión no agoten el tiempo de espera.

Tipo:Int32
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Credential

Especifica un objeto PSCredential para la conexión a SQL Server. Para obtener un objeto de credencial, use el cmdlet Get-Credential. Para obtener más información, escriba Get-Help Get-Credential.

Tipo:PSCredential
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-DatabaseName

Especifica el nombre de la base de datos que contiene la tabla.

Si ejecuta este cmdlet en el contexto de una base de datos o un elemento secundario de una base de datos, el cmdlet omite este valor de parámetro. Especifique el parámetro IgnoreProviderContext para que el cmdlet use el valor del parámetro DatabaseName de todos modos.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Encrypt

Tipo de cifrado que se va a usar al conectarse a SQL Server.

Este valor se asigna a la propiedad EncryptSqlConnectionEncryptOption en el objeto SqlConnection del controlador Microsoft.Data.SqlClient.

En la versión 22 del módulo, el valor predeterminado es Optional (por compatibilidad con v21). En la versión 23+ del módulo, el valor predeterminado será "Obligatorio", que puede crear un cambio importante para los scripts existentes.

Este parámetro es nuevo en la versión 22 del módulo.

Tipo:String
Valores aceptados:Mandatory, Optional, Strict
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-HostNameInCertificate

Nombre de host que se va a usar para validar el certificado TLS/SSL de SQL Server. Debe pasar este parámetro si la instancia de SQL Server está habilitada para Forzar cifrado y desea conectarse a una instancia mediante el nombre de host o el nombre corto. Si se omite este parámetro, es necesario pasar el nombre de dominio completo (FQDN) a -ServerInstance es necesario para conectarse a una instancia de SQL Server habilitada para Forzar cifrado.

Este parámetro es nuevo en la versión 22 del módulo.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-IgnoreProviderContext

Indica que este cmdlet no usa el contexto actual para invalidar los valores de ServerInstance, DatabaseName, SchemaNamey parámetros tableName. Si no especifica este parámetro, el cmdlet omite los valores de estos parámetros, si es posible, en favor del contexto en el que ejecuta el cmdlet.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-InputObject

Especifica una matriz de objetos de objetos de administración de SQL Server (SMO) que representan la tabla que lee este cmdlet.

Tipo:ScriptSchemaObjectBase[]
Posición:1
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-OutputAs

Especifica el tipo de salida.

Tipo:OutputTypeSingleTable
Alias:As
Valores aceptados:DataSet, DataTable, DataRows
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Path

Especifica la ruta de acceso a la tabla que lee este cmdlet.

Tipo:String[]
Posición:1
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ProgressAction

Determina cómo Responde PowerShell a las actualizaciones de progreso generadas por un script, cmdlet o proveedor, como las barras de progreso generadas por el cmdlet Write-Progress. El cmdlet Write-Progress crea barras de progreso que muestran el estado de un comando.

Tipo:ActionPreference
Alias:proga
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-SchemaName

Especifica el nombre del esquema de la tabla.

Si ejecuta este cmdlet en el contexto de una base de datos o un elemento secundario de una base de datos, el cmdlet omite este valor de parámetro. Especifique el parámetro IgnoreProviderContext para que el cmdlet use el valor del parámetro SchemaName de todos modos.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ServerInstance

Especifica el nombre de una instancia de SQL Server. Para la instancia predeterminada, especifique el nombre del equipo. Para las instancias con nombre, use el formato ComputerName\InstanceName.

Si ejecuta este cmdlet en el contexto de una base de datos o un elemento secundario de una base de datos, el cmdlet omite este valor de parámetro. Especifique el parámetro IgnoreProviderContext para que el cmdlet use el valor del parámetro ServerInstance de todos modos.

Tipo:String[]
Posición:1
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-SuppressProviderContextWarning

Indica que este cmdlet suprime el mensaje de advertencia que indica que el cmdlet usa el contexto del proveedor.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-TableName

Especifica el nombre de la tabla de la que lee este cmdlet.

Si ejecuta este cmdlet en el contexto de una base de datos o un elemento secundario de una base de datos, el cmdlet omite este valor de parámetro. Especifique el parámetro ignoreProviderContext para que el cmdlet use el valor del parámetro TableName de todos modos.

Tipo:String
Alias:Name
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-TopN

Especifica el número de filas de datos que devuelve este cmdlet. Si no especifica este parámetro, el cmdlet devuelve todas las filas.

Tipo:Int64
Alias:First
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-TrustServerCertificate

Indica si el canal se cifrará mientras se pasa la cadena de certificados para validar la confianza.

En la versión 22 del módulo, el valor predeterminado es $true (por compatibilidad con v21). En la versión 23+ del módulo, el valor predeterminado será "$false", que puede crear un cambio importante para los scripts existentes.

Este parámetro es nuevo en la versión 22 del módulo.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

Entradas

System.String[]