Read-SqlTableData
Считывает данные из таблицы базы данных SQL.
Синтаксис
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>]
Описание
Командлет 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 модуля.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ColumnName
Задает массив имен столбцов, возвращаемых этим командлетом.
Type: | String[] |
Aliases: | ColumnToReturn |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ColumnOrder
Задает массив имен столбцов, по которым этот командлет сортирует возвращаемые столбцы.
Type: | String[] |
Aliases: | OrderBy |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ColumnOrderType
Задает массив типов порядка для столбцов, возвращаемых этим командлетом. Допустимые значения для этого параметра:
- ASC. По возрастанию.
- DESC. По убыванию.
Значения, указанные для этого параметра, соответствуют столбцам, указанным в параметре ColumnOrder. Этот командлет игнорирует любые дополнительные значения.
Type: | OrderType[] |
Accepted values: | ASC, DESC |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ConnectionTimeout
Указывает время ожидания подключения к серверу в секундах до истечения времени ожидания. Значение времени ожидания должно быть целым числом от 0 до 65 534. Если указано значение 0, попытки соединения не прекращаются.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Указывает объект PSCredential для подключения к SQL Server. Чтобы получить объект учетных данных, используйте командлет Get-Credential. Для получения дополнительных сведений введите Get-Help Get-Credential.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DatabaseName
Указывает имя базы данных, содержащей таблицу.
Если этот командлет выполняется в контексте базы данных или дочернего элемента базы данных, командлет игнорирует значение этого параметра. Укажите параметр IgnoreProviderContext для командлета, чтобы использовать значение параметра DatabaseName .
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Encrypt
Тип шифрования, используемый при подключении к SQL Server.
Это значение сопоставляется со свойством Encrypt
SqlConnectionEncryptOption
объекта SqlConnection драйвера Microsoft.Data.SqlClient.
В модуле версии 22 значение по умолчанию — Optional
(для совместимости с версией 21). В версии 23 и более поздних версий модуля значением по умолчанию будет "Обязательно", что может привести к критическому изменению для существующих скриптов.
Этот параметр является новым в версии 22 модуля.
Type: | String |
Accepted values: | Mandatory, Optional, Strict |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-HostNameInCertificate
Имя узла используется для проверки TLS/SSL-сертификата SQL Server. Этот параметр необходимо передать, если экземпляр SQL Server включен для принудительного шифрования и вы хотите подключиться к экземпляру с помощью имени узла или shortname. Если этот параметр опущен, необходимо передать полное доменное имя (FQDN) в -ServerInstance для подключения к экземпляру SQL Server, включенного для принудительного шифрования.
Этот параметр является новым в версии 22 модуля.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-IgnoreProviderContext
Указывает, что этот командлет не использует текущий контекст для переопределения значений параметров ServerInstance, DatabaseName, SchemaName и TableName . Если этот параметр не указан, командлет игнорирует значения этих параметров, если это возможно, в пользу контекста, в котором выполняется командлет.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Задает массив объектов SQL Server Management Objects (SMO), представляющих таблицу, считываемую этим командлетом.
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
Указывает путь к таблице, которую считывает этот командлет.
Type: | String[] |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SchemaName
Указывает имя схемы для таблицы.
Если этот командлет выполняется в контексте базы данных или дочернего элемента базы данных, командлет игнорирует значение этого параметра. Укажите параметр IgnoreProviderContext для командлета, чтобы использовать значение параметра SchemaName в любом случае.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ServerInstance
Указывает имя экземпляра SQL Server.
Для экземпляра по умолчанию укажите имя компьютера.
Для именованных экземпляров используйте формат ComputerName\InstanceName
.
Если этот командлет выполняется в контексте базы данных или дочернего элемента базы данных, командлет игнорирует значение этого параметра. Укажите параметр IgnoreProviderContext для командлета, чтобы использовать значение параметра ServerInstance в любом случае.
Type: | String[] |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-SuppressProviderContextWarning
Указывает, что этот командлет подавляет предупреждающее сообщение о том, что командлет использует контекст поставщика.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TableName
Указывает имя таблицы, из которой считывается этот командлет.
Если этот командлет выполняется в контексте базы данных или дочернего элемента базы данных, командлет игнорирует значение этого параметра. Укажите параметр IgnoreProviderContext для командлета, чтобы использовать значение параметра TableName в любом случае.
Type: | String |
Aliases: | Name |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TopN
Указывает количество строк данных, возвращаемых этим командлетом. Если этот параметр не указан, командлет возвращает все строки.
Type: | Int64 |
Aliases: | First |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TrustServerCertificate
Указывает, будет ли канал зашифрован при обходе цепочки сертификатов для проверки доверия.
В модуле версии 22 значение по умолчанию — $true
(для совместимости с версией 21). В модуле версии 23+ значение по умолчанию будет "$false", что может привести к критическому изменению для существующих скриптов.
Этот параметр является новым в версии 22 модуля.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Входные данные
System.String[]