내보내기(0) 인쇄
모두 확장
이 문서는 수동으로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오. 추가 정보
번역
원본

데이터베이스 엔진 PowerShell에서 인증 관리

기본적으로 SQL Server PowerShell 구성 요소는 Windows 인증을 사용하여 데이터베이스 엔진 인스턴스에 연결합니다. PowerShell 가상 드라이브를 정의하거나 Invoke-Sqlcmd에 대한 –Username–Password 매개 변수를 지정하여 SQL Server 인증을 사용할 수 있습니다.

  1. 시작하기 전에: 사용 권한

  2. 인증을 설정하려면 다음을 사용합니다. 가상 드라이브, Invoke-Sqlcmd

데이터베이스 엔진의 인스턴스에서 수행할 수 있는 모든 동작은 인스턴스에 연결하는 데 사용되는 인증 자격 증명에 부여된 사용 권한에 의해 제어됩니다. 기본적으로 SQL Server 공급자 및 cmdlet은 데이터베이스 엔진에 대한 Windows 인증 연결을 만들기 위해 실행하는 Windows 계정을 사용합니다.

SQL Server 인증 연결을 만들려면 SQL Server 인증 로그인 ID 및 암호를 제공해야 합니다. SQL Server 공급자를 사용하는 경우 SQL Server 로그인 자격 증명을 가상 드라이브에 연결한 다음 디렉터리 변경 명령(cd)을 사용하여 해당 드라이브에 연결해야 합니다. Windows PowerShell에서는 보안 자격 증명만 가상 드라이브에 연결할 수 있습니다.

[맨 위]

SQL Server 인증 로그인과 연관된 가상 드라이브를 만들려면

  1. 다음 함수를 만듭니다.

    1. 가상 드라이브에 제공할 이름, 로그인 ID 및 가상 드라이브에 연결할 공급자 경로에 대한 매개 변수를 포함하는 함수

    2. read-host 를 사용하여 사용자에게 암호를 묻는 함수

    3. new-object 를 사용하여 자격 증명 개체를 만드는 함수

    4. new-psdrive 를 사용하여 제공된 자격 증명으로 가상 드라이브를 만드는 함수

  2. 함수를 호출하여 제공된 자격 증명으로 가상 드라이브를 만드는 함수

[맨 위]

예제(가상 드라이브)

이 예에서는 지정된 SQL Server 인증 로그인 및 인스턴스에 연결된 가상 드라이브를 만드는 데 사용할 수 있는 sqldrive라는 함수를 만듭니다.

sqldrive 함수는 로그인에 대한 암호를 입력하라는 메시지를 표시하고 사용자가 입력하는 암호를 마스킹합니다. 이렇게 하면 가상 드라이브 이름을 사용하여 경로에 연결하기 위해 디렉터리 변경 명령(cd)을 사용할 때마다 드라이브를 만들었을 때 제공한 SQL Server 인증 로그인 자격 증명을 사용하여 모든 작업이 수행됩니다.

## Create a function that specifies the login and prompts for the password.

function sqldrive
{
    param( [string]$name, [string]$login = "MyLogin", [string]$root = "SQLSERVER:\SQL\MyComputer\MyInstance" )
    $pwd = read-host -AsSecureString -Prompt "Password"
    $cred = new-object System.Management.Automation.PSCredential -argumentlist $login,$pwd
    New-PSDrive $name -PSProvider SqlServer -Root $root -Credential $cred -Scope 1
}

## Use the sqldrive function to create a SQLAuth virtual drive.
sqldrive SQLAuth

## CD to the virtual drive, which invokes the supplied authentication credentials.
cd SQLAuth

[맨 위]

Invoke-Sqlcmd를 사용하여 SQL Server를 인증하려면

  1. –Username 매개 변수를 사용하여 로그인 ID를 지정하고 –Password 매개 변수를 사용하여 연결된 암호를 지정합니다.

예제(Invoke-Sqlcmd)

이 예에서는 read-host cmdlet을 사용하여 사용자에게 암호를 물은 다음 SQL Server 인증을 사용하여 연결합니다.

## Prompt the user for their password.
$pwd = read-host -AsSecureString -Prompt "Password"

Invoke-Sqlcmd -Query "SELECT GETDATE() AS TimeOfQuery;" -ServerInstance "MyComputer\MyInstance" –Username “MyLogin” –Password $pwd

[맨 위]

커뮤니티 추가 항목

추가
표시:
© 2014 Microsoft