次の方法で共有


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

このコマンドレットは、現在のコンテキストを使用して、ServerInstanceDatabaseNameSchemaName、および TableName パラメーターの値 オーバーライドしないことを示します。 このパラメーターを指定しない場合、コマンドレットは、コマンドレットを実行するコンテキストを優先して、可能であれば、これらのパラメーターの値を無視します。

型: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[]