다음을 통해 공유


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

Description

Read-SqlTableData cmdlet은 SQL 데이터베이스 테이블에 저장된 데이터를 읽습니다. 읽을 열을 선택하고 행 수를 제한하며 열을 정렬 및 정렬할 수 있습니다.

Windows PowerShell SQL 공급자와 함께 이 cmdlet을 사용할 수 있습니다. 이 cmdlet은 현재 경로에서 서버, 데이터베이스, 스키마 및 테이블과 같은 정보를 유추할 수 있습니다.

이 cmdlet은 다음과 같은 출력 형식을 지원합니다.

  • 데이터 세트. 하나의 테이블을 포함하는 System.Data.DataSet 형식의 개체입니다.
  • DataTable. System.Data.DataTable 형식의 개체입니다. 이 개체의 TableName 속성은 이 cmdlet이 쿼리하는 테이블과 동일합니다.
  • 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 처음 세 개의 행을 가져옵니다. 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
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ColumnName

이 cmdlet이 반환하는 열 이름의 배열을 지정합니다.

형식:String[]
별칭:ColumnToReturn
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ColumnOrder

이 cmdlet이 반환하는 열을 정렬하는 열 이름 배열을 지정합니다.

형식:String[]
별칭:OrderBy
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ColumnOrderType

이 cmdlet이 반환하는 열의 순서 형식 배열을 지정합니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.

  • ASC. 오름차순.
  • DESC. 내림차순.

이 매개 변수에 지정한 값은 ColumnOrder 매개 변수에 지정한 열과 일치합니다. 이 cmdlet은 추가 값을 무시합니다.

형식: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

SQL Server 연결에 대한 PSCredential 개체를 지정합니다. 자격 증명 개체를 가져오려면 Get-Credential cmdlet을 사용합니다. 자세한 내용은 get-credential Get-Help 입력합니다.

형식:PSCredential
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-DatabaseName

테이블을 포함하는 데이터베이스의 이름을 지정합니다.

데이터베이스 또는 데이터베이스의 자식 항목 컨텍스트에서 이 cmdlet을 실행하는 경우 cmdlet은 이 매개 변수 값을 무시합니다. 어쨌든 DatabaseName 매개 변수의 값을 사용하도록 cmdlet에 대한 IgnoreProviderContext 매개 변수를 지정합니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Encrypt

SQL Server에 연결할 때 사용할 암호화 유형입니다.

이 값은 Microsoft.Data.SqlClient 드라이버의 SqlConnection 개체에 있는 Encrypt 속성 SqlConnectionEncryptOption 매핑됩니다.

모듈의 v22에서 기본값은 Optional(v21과의 호환성을 위해)입니다. 모듈의 v23+에서 기본값은 기존 스크립트에 대한 호환성이 손상되는 변경을 만들 수 있는 '필수'입니다.

이 매개 변수는 모듈의 v22에서 새로 생성됩니다.

형식:String
허용되는 값:Mandatory, Optional, Strict
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-HostNameInCertificate

SQL Server TLS/SSL 인증서의 유효성을 검사하는 데 사용할 호스트 이름입니다. SQL Server 인스턴스가 Force Encryption을 사용하도록 설정되어 있고 호스트 이름/짧은 이름을 사용하여 인스턴스에 연결하려는 경우 이 매개 변수를 전달해야 합니다. 이 매개 변수를 생략하면 강제 암호화를 사용하도록 설정된 SQL Server 인스턴스에 연결하려면 FQDN(정규화된 도메인 이름)을 -ServerInstance 전달해야 합니다.

이 매개 변수는 모듈의 v22에서 새로 생성됩니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-IgnoreProviderContext

이 cmdlet은 현재 컨텍스트를 사용하여 ServerInstance, DatabaseName, SchemaName및 tableName 매개 변수 값을 재정의하지 않음을 나타냅니다. 이 매개 변수를 지정하지 않으면 cmdlet은 가능한 경우 cmdlet을 실행하는 컨텍스트에 따라 이러한 매개 변수의 값을 무시합니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-InputObject

이 cmdlet이 읽는 테이블을 나타내는 SMO(SQL Server Management Objects) 개체의 배열을 지정합니다.

형식:ScriptSchemaObjectBase[]
Position:1
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-OutputAs

출력 유형을 지정합니다.

형식:OutputTypeSingleTable
별칭:As
허용되는 값:DataSet, DataTable, DataRows
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Path

이 cmdlet이 읽는 테이블의 경로를 지정합니다.

형식:String[]
Position:1
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ProgressAction

powerShell이 스크립트, cmdlet 또는 공급자(예: Write-Progress cmdlet에서 생성된 진행률 표시줄)에 의해 생성된 진행률 업데이트에 응답하는 방법을 결정합니다. Write-Progress cmdlet은 명령의 상태를 표시하는 진행률 표시줄을 만듭니다.

형식:ActionPreference
별칭:proga
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-SchemaName

테이블의 스키마 이름을 지정합니다.

데이터베이스 또는 데이터베이스의 자식 항목 컨텍스트에서 이 cmdlet을 실행하는 경우 cmdlet은 이 매개 변수 값을 무시합니다. cmdlet의 IgnoreProviderContext 매개 변수를 지정하여 SchemaName 매개 변수의 값을 사용합니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ServerInstance

SQL Server 인스턴스의 이름을 지정합니다. 기본 인스턴스의 경우 컴퓨터 이름을 지정합니다. 명명된 인스턴스의 경우 ComputerName\InstanceName형식을 사용합니다.

데이터베이스 또는 데이터베이스의 자식 항목 컨텍스트에서 이 cmdlet을 실행하는 경우 cmdlet은 이 매개 변수 값을 무시합니다. 어쨌든 ServerInstance 매개 변수의 값을 사용하도록 cmdlet에 대한 IgnoreProviderContext 매개 변수를 지정합니다.

형식:String[]
Position:1
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-SuppressProviderContextWarning

이 cmdlet은 cmdlet이 공급자 컨텍스트를 사용한다는 경고 메시지를 표시하지 않습니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-TableName

이 cmdlet이 읽는 테이블의 이름을 지정합니다.

데이터베이스 또는 데이터베이스의 자식 항목 컨텍스트에서 이 cmdlet을 실행하는 경우 cmdlet은 이 매개 변수 값을 무시합니다. cmdlet에 대한 IgnoreProviderContext 매개 변수를 지정하여 TableName 매개 변수의 값을 사용합니다.

형식:String
별칭:Name
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-TopN

이 cmdlet이 반환하는 데이터 행 수를 지정합니다. 이 매개 변수를 지정하지 않으면 cmdlet은 모든 행을 반환합니다.

형식:Int64
별칭:First
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-TrustServerCertificate

신뢰의 유효성을 검사하기 위해 인증서 체인을 건너뛰는 동안 채널이 암호화되는지 여부를 나타냅니다.

모듈의 v22에서 기본값은 $true(v21과의 호환성을 위해)입니다. 모듈의 v23+에서 기본값은 '$false'이며, 이로 인해 기존 스크립트에 대한 호환성이 손상되는 변경이 발생할 수 있습니다.

이 매개 변수는 모듈의 v22에서 새로 생성됩니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

입력

System.String[]