Поделиться через


Read-SqlTableData

Считывает данные из таблицы базы данных SQL.

Синтаксис

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

Описание

Командлет Read-SqlTableData считывает данные, хранящиеся в таблице базы данных SQL. Вы можете выбрать столбцы для чтения, ограничить количество строк и сортировать и упорядочивать столбцы.

Этот командлет можно использовать с поставщиком SQL Windows PowerShell. Этот командлет может выводить такие сведения, как сервер, база данных, схема и таблица из текущего пути.

Этот командлет поддерживает следующие форматы выходных данных:

  • Набор данных. Объект типа System.Data.DataSet, содержащий одну таблицу.
  • DataTable. Объект типа System.Data.DataTable. Свойство TableName этого объекта совпадает с таблицей, запрашиваемой этим командлетом.
  • DataRows. Коллекция объектов System.Data.DateRow.

Примеры

Пример 1. Получение трех строк из таблицы

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

Эта команда получает первые три строки из таблицы MyDatabase.dbo.MyTable экземпляра MyServer\MyInstance. Параметр TopN указывает количество строк (3 в данном случае).

Пример 2. Отображение всей таблицы

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

Первая команда изменяет расположение, чтобы быть таблицей в поставщике SQLSERVER. Командная строка отражает новое расположение.

Пример 3. Отображение выбранных отсортированных столбцов

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

Параметры

-AccessToken

Маркер доступа, используемый для проверки подлинности в SQL Server, в качестве альтернативы пользователю или паролю или проверке подлинности Windows.

Это можно использовать, например, для подключения к SQL Azure DB и SQL Azure Managed Instance с помощью Service Principal или Managed Identity.

Используемый параметр может быть строкой, представляющей маркер или объект PSAccessToken, как возвращается при выполнении Get-AzAccessToken -ResourceUrl https://database.windows.net.

Этот параметр является новым в версии 22 модуля.

Тип:PSObject
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ColumnName

Задает массив имен столбцов, возвращаемых этим командлетом.

Тип:String[]
Aliases:ColumnToReturn
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ColumnOrder

Задает массив имен столбцов, по которым этот командлет сортирует возвращаемые столбцы.

Тип:String[]
Aliases:OrderBy
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ColumnOrderType

Задает массив типов порядка для столбцов, возвращаемых этим командлетом. Допустимые значения для этого параметра:

  • ASC. Восходящий.
  • DESC. Спускающийся.

Значения, указанные для этого параметра, соответствуют столбцам, указанным в параметре ColumnOrder. Этот командлет игнорирует дополнительные значения.

Тип:OrderType[]
Допустимые значения:ASC, DESC
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ConnectionTimeout

Указывает количество секунд ожидания подключения к серверу до сбоя времени ожидания. Значение времени ожидания должно быть целым числом от 0 до 65534. Если задано значение 0, попытки подключения не истекает.

Тип:Int32
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Credential

Указывает объект PSCredential для подключения к SQL Server. Чтобы получить объект учетных данных, используйте командлет Get-Credential. Для получения дополнительных сведений введите Get-Help Get-Credential.

Тип:PSCredential
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-DatabaseName

Указывает имя базы данных, содержащей таблицу.

При выполнении этого командлета в контексте базы данных или дочернего элемента базы данных командлет игнорирует это значение параметра. Укажите параметр IgnoreProviderContext для командлета, чтобы использовать значение параметра DatabaseName в любом случае.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Encrypt

Тип шифрования, используемый при подключении к SQL Server.

Это значение сопоставляется со свойством EncryptSqlConnectionEncryptOption в объекте SqlConnection драйвера Microsoft.Data.SqlClient.

В версии 22 модуля по умолчанию используется Optional (для совместимости с версией 21). В версии 23+ модуля значение по умолчанию будет "Обязательный", которое может создать критическое изменение для существующих скриптов.

Этот параметр является новым в версии 22 модуля.

Тип:String
Допустимые значения:Mandatory, Optional, Strict
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-HostNameInCertificate

Имя узла, используемое при проверке TLS/SSL-сертификата SQL Server. Этот параметр необходимо передать, если экземпляр SQL Server включен для принудительного шифрования и требуется подключиться к экземпляру с помощью имени узла или короткого имени. Если этот параметр опущен, передача полного доменного имени (FQDN) в -ServerInstance необходима для подключения к экземпляру SQL Server, включенного для принудительного шифрования.

Этот параметр является новым в версии 22 модуля.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-IgnoreProviderContext

Указывает, что этот командлет не использует текущий контекст для переопределения значений ServerInstance, DatabaseName, SchemaNameи параметров TableName. Если этот параметр не указан, командлет игнорирует значения этих параметров, если это возможно, в пользу контекста, в котором выполняется командлет.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-InputObject

Указывает массив объектов SQL Server Management Objects (SMO), представляющих таблицу, считываемую этим командлетом.

Тип:ScriptSchemaObjectBase[]
Position:1
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-OutputAs

Указывает тип выходных данных.

Тип:OutputTypeSingleTable
Aliases:As
Допустимые значения:DataSet, DataTable, DataRows
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Path

Указывает путь к таблице, которую считывает этот командлет.

Тип:String[]
Position:1
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ProgressAction

Определяет, как PowerShell реагирует на обновления хода выполнения, созданные скриптом, командлетом или поставщиком, например индикаторами хода выполнения, созданными командлетом Write-Progress. Командлет Write-Progress создает индикаторы хода выполнения, показывающие состояние команды.

Тип:ActionPreference
Aliases:proga
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-SchemaName

Указывает имя схемы для таблицы.

При выполнении этого командлета в контексте базы данных или дочернего элемента базы данных командлет игнорирует это значение параметра. Укажите параметр IgnoreProviderContext для командлета, чтобы использовать значение параметра SchemaName в любом случае.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ServerInstance

Указывает имя экземпляра SQL Server. Для экземпляра по умолчанию укажите имя компьютера. Для именованных экземпляров используйте формат ComputerName\InstanceName.

При выполнении этого командлета в контексте базы данных или дочернего элемента базы данных командлет игнорирует это значение параметра. Укажите параметр IgnoreProviderContext, чтобы командлет использовал значение параметра ServerInstance в любом случае.

Тип:String[]
Position:1
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-SuppressProviderContextWarning

Указывает, что этот командлет подавляет предупреждающее сообщение, указывающее, что командлет использует контекст поставщика.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-TableName

Указывает имя таблицы, из которой считывается этот командлет.

При выполнении этого командлета в контексте базы данных или дочернего элемента базы данных командлет игнорирует это значение параметра. Укажите параметр IgnoreProviderContext для командлета, чтобы использовать значение параметра TableName в любом случае.

Тип:String
Aliases:Name
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-TopN

Указывает количество строк данных, возвращаемых этим командлетом. Если этот параметр не указан, командлет возвращает все строки.

Тип:Int64
Aliases:First
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-TrustServerCertificate

Указывает, будет ли канал зашифрован при обходе цепочки сертификатов для проверки доверия.

В версии 22 модуля по умолчанию используется $true (для совместимости с версией 21). В версии 23+ модуля значение по умолчанию будет иметь значение "$false", которое может создать критическое изменение для существующих скриптов.

Этот параметр является новым в версии 22 модуля.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

Входные данные

System.String[]