연결 문자열 및 사용 권한 개요

SQL Server 단위 테스트를 실행하려면 한 개 또는 두 개의 특정 연결 문자열을 사용하여 데이터베이스 서버에 연결해야 합니다. 각 연결 문자열은 테스트의 일부로 특정 스크립트에서 작업 또는 작업 세트를 수행해야 하는 특정 권한이 있는 계정을 나타냅니다. SQL Server 테스트 구성 대화 상자에서 또는 테스트 프로젝트의 app.config 파일을 수동으로 편집하여 이러한 문자열을 지정할 수 있습니다.

연결 문자열

SQL Server 테스트 구성 대화 상자에서 다음 각 계정에 대한 연결 문자열을 지정할 수 있습니다.

참고 항목

실행 컨텍스트 및 권한 있는 컨텍스트는 SQL Server 인증을 사용하는 경우에만 다릅니다. Windows 인증을 사용하는 경우 두 연결 문자열에 대해 동일한 자격 증명이 사용됩니다.

  • 실행 컨텍스트(필수) - 테스트 스크립트를 실행하기 위한 사용자 계정. 이 연결 문자열에는 사용자에게 예상한 것과 동일한 자격 증명이 있어야 합니다. 이는 데이터베이스에 적절한 권한이 적용되었는지 확인하므로 중요합니다. 자세한 내용은 방법: SQL Server 단위 테스트 실행 구성을 참조하세요.

    테스트 프로젝트의 app.config 파일에서 이것이 ExecutionContext 요소입니다.

  • 권한 있는 컨텍스트(선택 사항) - 테스트 전 작업, 테스트 후 작업, TestInitialize 및 TestCleanup 스크립트를 실행하기 위해 더 높은 권한이 있는 동일한 데이터베이스의 계정. 이러한 스크립트는 데이터베이스 상태를 설정하고 사후 테스트 작업에 대해 데이터베이스의 개체의 유효성을 검사하는 데 사용할 수 있습니다. 이 연결 문자열 데이터베이스 변경 내용을 배포하고 데이터를 생성하는 데도 사용됩니다.

    테스트 프로젝트의 app.config 파일에서 이것이 PrivilegedContext 요소입니다. SQL Server 단위 테스트가 테스트 스크립트만 실행하는 경우 권한 있는 컨텍스트를 지정할 필요가 없습니다.

프로젝트 구성 대화 상자에서 지정한 문자열은 테스트 프로젝트의 app.config 파일에 저장됩니다. 해당 파일을 직접 편집하고 프로젝트를 다시 빌드할 수도 있으며, 그런 다음에는 새 값이 대화 상자에 나타납니다.

Windows 인증 대 SQL Server 인증

연결 문자열을 지정할 때는 Windows 인증과 SQL 인증 사용 중에서 선택해야 합니다. Windows 인증을 선택하는 한 가지 이유는 SQL Server 인증보다 팀의 테스트 사용을 잘 지원하기 때문입니다. SQL Server 인증을 선택하면 사용자 자격 증명을 기준으로 DPAPI(데이터 보호 API)를 사용하여 연결 문자열이 암호화됩니다. 즉, 이 테스트 프로젝트의 테스트는 사용자가 테스트를 체크 인한 후 소스 제어 시스템을 통해 테스트를 가져오는 팀 멤버를 위해서가 아니라 해당 사용자를 위해서만 실행됩니다. 이 테스트 프로젝트에서 테스트를 실행하려면 팀의 다른 사용자가 자신의 자격 증명을 사용하여 테스트 프로젝트를 재구성해야 합니다. 이렇게 하려면 app.config 파일의 복사본을 편집하거나 프로젝트 구성 대화 상자를 사용합니다.

사용 권한

테스트 스크립트는 실행 컨텍스트 권한 수준에서 실행되며, 이는 일반적으로 사용될 때 데이터베이스에서 실행되는 사용자 명령에 유효한 권한 수준과 동일합니다. 테스트 전 작업, 테스트 후, TestInitialize 및 TestCleanup 스크립트는 권한 있는 컨텍스트 권한 수준에서 실행됩니다.

테스트 후 작업 스크립트에 사용되는 높은 권한 연결로 인해 해당 스크립트 내에서 유효성 검사를 수행할 수 있습니다. 이 스크립트에서는 사용 권한을 테스트하는 스크립트 명령을 실행할 수도 있습니다. 사용 권한에 대한 자세한 내용은 SQL Server Data Tools에 필요한 사용 권한의 SQL Server 단위 테스트 구역을 참조하세요.

참고 항목

SQL Server 단위 테스트 만들기 및 정의
SQL Server 단위 테스트의 스크립트
SQL Server 단위 테스트 파일