sp_addapprole(Transact-SQL)sp_addapprole (Transact-SQL)

이 항목은 다음에 적용됩니다.예SQL Server(2008부터)아니요Azure SQL Database아니요Azure SQL Data Warehouse 아니요병렬 데이터 웨어하우스 THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

현재 데이터베이스에 응용 프로그램 역할을 추가합니다.Adds an application role to the current database.

중요

Microsoft SQL Server의 이후 버전에서는 이 기능이 제거됩니다.This feature will be removed in a future version of Microsoft SQL Server. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 응용 프로그램은 수정하세요.Avoid using this feature in new development work, and plan to modify applications that currently use this feature. 사용 하 여 CREATE APPLICATION ROLE 대신 합니다. Use CREATE APPLICATION ROLE instead.

항목 링크 아이콘 Transact-SQL 구문 규칙Topic link icon Transact-SQL Syntax Conventions

구문Syntax


sp_addapprole [ @rolename = ] 'role' , [ @password = ] 'password'  

인수Arguments

[ @rolename = ] '역할'[ @rolename = ] 'role'
새 응용 프로그램 역할의 이름입니다.Is the name of the new application role. 역할sysname, 기본값은 없습니다.role is sysname, with no default. 역할 유효한 식별자 여야 하며 현재 데이터베이스에 이미 있을 수 없습니다.role must be a valid identifier and cannot already exist in the current database.

응용 프로그램 역할 이름은 문자, 기호 및 숫자를 비롯하여 1자에서 128자까지의 문자를 포함할 수 있습니다.Application role names can contain from 1 up to 128 characters, including letters, symbols, and numbers. 역할 이름은 백슬래시를 포함할 수 없습니다 (\) 없으며 NULL 또는 빈 문자열 (").Role names cannot contain a backslash (\) nor be NULL or an empty string ('').

[ @password = ] '암호'[ @password = ] 'password'
응용 프로그램 역할을 활성화하는 데 필요한 암호입니다.Is the password required to activate the application role. 암호sysname, 기본값은 없습니다.password is sysname, with no default. 암호 NULL 일 수 없습니다.password cannot be NULL.

반환 코드 값Return Code Values

0(성공) 또는 1(실패)0 (success) or 1 (failure)

주의Remarks

이전 버전의 SQL ServerSQL Server에서 사용자 및 역할은 스키마와 완전히 구분되지 않았습니다.In earlier versions of SQL ServerSQL Server, users (and roles) are not fully distinct from schemas. SQL Server 2005SQL Server 2005부터 스키마는 역할과 완전히 구분됩니다.Beginning with SQL Server 2005SQL Server 2005, schemas are fully distinct from roles. 이 새 아키텍처는 CREATE APPLICATION ROLE의 동작에 반영되었습니다.This new architecture is reflected in the behavior of CREATE APPLICATION ROLE. 이 문은 대체 sp_addapprole합니다.This statement supersedes sp_addapprole.

이전 버전의 이전 버전과 호환성을 유지 하기 위해 SQL ServerSQL Server, sp_addapprole 다음을 수행 합니다.To maintain backward compatibility with earlier versions of SQL ServerSQL Server, sp_addapprole will do the following:

  • 응용 프로그램 역할과 이름이 같은 스키마가 아직 없으면 해당 스키마가 생성됩니다.If a schema with the same name as the application role does not already exist, such a schema will be created. 새 스키마는 응용 프로그램 역할이 소유하고 응용 프로그램 역할의 기본 스키마가 됩니다.The new schema will be owned by the application role, and it will be the default schema of the application role.

  • 응용 프로그램 역할과 이름이 같은 스키마가 이미 있으면 프로시저가 실패합니다.If a schema of the same name as the application role already exists, the procedure will fail.

  • 암호 복잡성을 확인 하지 않습니다 sp_addapprole합니다.Password complexity is not checked by sp_addapprole. CREATE APPLICATION ROLE에서 검사합니다.But password complexity is checked by CREATE APPLICATION ROLE.

    매개 변수 암호 는 단방향 해시로 저장 됩니다.The parameter password is stored as a one-way hash.

    sp_addapprole 사용자 정의 트랜잭션 내에서 저장된 프로시저를 실행할 수 없습니다.The sp_addapprole stored procedure cannot be executed from within a user-defined transaction.

중요

Microsoft ODBC 암호화 옵션에서 지원 하지 않는 SqlClient합니다.The Microsoft ODBC encrypt option is not supported by SqlClient. 가능한 경우 런타임 시 사용자에게 응용 프로그램 역할 자격 증명을 입력하라는 메시지를 표시할 수도 있습니다.When you can, prompt users to enter application role credentials at run time. 자격 증명은 파일에 저장하지 않는 것이 좋습니다.Avoid storing credentials in a file. 자격 증명을 유지해야 할 경우에는 CryptoAPI 함수를 사용하여 암호화합니다.If you must persist credentials, encrypt them by using the CryptoAPI functions.

PermissionsPermissions

데이터베이스에 대한 ALTER ANY APPLICATION ROLE 권한이 필요합니다.Requires ALTER ANY APPLICATION ROLE permission on the database. 새 역할과 이름 및 소유자가 같은 스키마가 아직 없으면 데이터베이스에 대한 CREATE SCHEMA 권한도 필요합니다.If a schema with the same name and owner as the new role does not already exist, also requires CREATE SCHEMA permission on the database.

Examples

새 응용 프로그램 역할을 추가 하는 다음 예제에서는 SalesApp 암호로 x97898jLJfcooFUYLKm387gf3 현재 데이터베이스에 있습니다.The following example adds the new application role SalesApp with the password x97898jLJfcooFUYLKm387gf3 to the current database.

EXEC sp_addapprole 'SalesApp', 'x97898jLJfcooFUYLKm387gf3' ;  
GO  

관련 항목:See Also

CREATE APPLICATION ROLE (Transact-SQL)CREATE APPLICATION ROLE (Transact-SQL)