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 データベースのテーブルに格納されているデータを読み取ります。 読み取る列を選択し、行数を制限し、列の並べ替えと並べ替えを行うことができます。
このコマンドレットは、Windows PowerShell SQL プロバイダーで使用できます。 このコマンドレットは、サーバー、データベース、スキーマ、テーブルなどの情報を現在のパスから推論できます。
このコマンドレットは、次の出力形式をサポートしています。
- データセット。 1 つのテーブルを含む System.Data.DataSet 型のオブジェクト。
- DataTable。 System.Data.DataTable 型のオブジェクト。 このオブジェクトの TableName プロパティは、このコマンドレットがクエリを実行するテーブルと同じです。
- DataRows。 System.Data.DateRow オブジェクトのコレクション。
例
例 1: テーブルから 3 つの行を取得する
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
このコマンドは、MyServer\MyInstance
インスタンスのテーブル MyDatabase.dbo.MyTable
から最初の 3 行を取得します。
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
ユーザー/パスワードまたは Windows 認証の代わりに、SQL Server に対する認証に使用されるアクセス トークン。
これは、たとえば、Service Principal
または Managed Identity
を使用して SQL Azure DB
と SQL Azure Managed Instance
に接続するために使用できます。
使用するパラメーターには、トークンを表す文字列、または Get-AzAccessToken -ResourceUrl https://database.windows.net
を実行して返される PSAccessToken
オブジェクトを指定できます。
このパラメーターは、モジュールの v22 の新機能です。
型: | PSObject |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ColumnName
このコマンドレットが返す列の名前の配列を指定します。
型: | String[] |
Aliases: | ColumnToReturn |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ColumnOrder
このコマンドレットが返す列を並べ替える列の名前の配列を指定します。
型: | String[] |
Aliases: | OrderBy |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ColumnOrderType
このコマンドレットが返す列の順序の種類の配列を指定します。 このパラメーターに使用できる値は次のとおりです。
- ASC。 昇順。
- DESC。 下行。
このパラメーターに指定する値は、ColumnOrder パラメーターで指定した列と一致します。 このコマンドレットは、余分な値を無視します。
型: | OrderType[] |
指定可能な値: | ASC, DESC |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ConnectionTimeout
タイムアウトエラーが発生するまでのサーバー接続を待機する秒数を指定します。 タイムアウト値は、0 から 65534 までの整数である必要があります。 0 を指定した場合、接続試行はタイムアウトになりません。
型: | Int32 |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Credential
SQL Server への接続の PSCredential オブジェクトを指定します。 資格情報オブジェクトを取得するには、Get-Credential コマンドレットを使用します。 詳細については、「Get-Credential」Get-Help 入力します。
型: | PSCredential |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-DatabaseName
テーブルを含むデータベースの名前を指定します。
データベースまたはデータベースの子項目のコンテキストでこのコマンドレットを実行すると、このパラメーター値は無視されます。 コマンドレットの IgnoreProviderContext パラメーターを指定して、DatabaseName パラメーターの値を使用します。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Encrypt
SQL Server に接続するときに使用する暗号化の種類。
この値は、Microsoft.Data.SqlClient ドライバーの SqlConnection オブジェクトの Encrypt
プロパティ SqlConnectionEncryptOption
にマップされます。
モジュールの v22 では、既定値は Optional
です (v21 との互換性のため)。 モジュールの v23 以降では、既定値は "必須" になり、既存のスクリプトに重大な変更が生じる可能性があります。
このパラメーターは、モジュールの v22 の新機能です。
型: | String |
指定可能な値: | Mandatory, Optional, Strict |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-HostNameInCertificate
SQL Server TLS/SSL 証明書の検証に使用するホスト名。 SQL Server インスタンスで Force Encryption が有効になっていて、ホスト名/短縮名を使用してインスタンスに接続する場合は、このパラメーターを渡す必要があります。 このパラメーターを省略した場合、強制暗号化が有効になっている SQL Server インスタンスに接続するには、完全修飾ドメイン名 (FQDN) を -ServerInstance に渡す必要があります。
このパラメーターは、モジュールの v22 の新機能です。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-IgnoreProviderContext
このコマンドレットは、現在のコンテキストを使用して、
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-InputObject
このコマンドレットが読み取るテーブルを表す SQL Server 管理オブジェクト (SMO) オブジェクトの配列を指定します。
型: | ScriptSchemaObjectBase[] |
配置: | 1 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-OutputAs
出力の種類を指定します。
型: | OutputTypeSingleTable |
Aliases: | As |
指定可能な値: | DataSet, DataTable, DataRows |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Path
このコマンドレットが読み取るテーブルへのパスを指定します。
型: | String[] |
配置: | 1 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ProgressAction
スクリプト、コマンドレット、またはプロバイダーによって生成された進行状況の更新 (Write-Progress コマンドレットによって生成された進行状況バーなど) に対する PowerShell の応答方法を決定します。 Write-Progress コマンドレットは、コマンドの状態を示す進行状況バーを作成します。
型: | ActionPreference |
Aliases: | proga |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-SchemaName
テーブルのスキーマの名前を指定します。
データベースまたはデータベースの子項目のコンテキストでこのコマンドレットを実行すると、このパラメーター値は無視されます。 コマンドレットの IgnoreProviderContext パラメーターを指定して、SchemaName パラメーターの値を使用します。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ServerInstance
SQL Server のインスタンスの名前を指定します。
既定のインスタンスには、コンピューター名を指定します。
名前付きインスタンスの場合は、ComputerName\InstanceName
形式を使用します。
データベースまたはデータベースの子項目のコンテキストでこのコマンドレットを実行すると、このパラメーター値は無視されます。 コマンドレットの IgnoreProviderContext パラメーターを指定して、ServerInstance パラメーターの値を使用します。
型: | String[] |
配置: | 1 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-SuppressProviderContextWarning
このコマンドレットが、プロバイダー コンテキストを使用することを示す警告メッセージを抑制することを示します。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-TableName
このコマンドレットが読み取るテーブルの名前を指定します。
データベースまたはデータベースの子項目のコンテキストでこのコマンドレットを実行すると、このパラメーター値は無視されます。 コマンドレットの IgnoreProviderContext パラメーターを指定して、TableName パラメーターの値を使用します。
型: | String |
Aliases: | Name |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-TopN
このコマンドレットが返すデータの行数を指定します。 このパラメーターを指定しない場合、コマンドレットはすべての行を返します。
型: | Int64 |
Aliases: | First |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-TrustServerCertificate
信頼を検証するために証明書チェーンのウォークをバイパスしながらチャネルを暗号化するかどうかを示します。
モジュールの v22 では、既定値は $true
です (v21 との互換性のため)。 モジュールの v23 以降では、既定値は "$false" になり、既存のスクリプトに重大な変更が生じる可能性があります。
このパラメーターは、モジュールの v22 の新機能です。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
System.String[]