다음을 통해 공유


ALTER DATABASE SCOPED CREDENTIAL(Transact-SQL)

적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)

데이터베이스 범위 자격 증명의 속성을 변경합니다.

Transact-SQL 구문 표기 규칙

구문

ALTER DATABASE SCOPED CREDENTIAL credential_name WITH IDENTITY = 'identity_name'
    [ , SECRET = 'secret' ]

인수

credential_name

변경할 데이터베이스 범위 자격 증명의 이름을 지정합니다.

IDENTITY ='identity_name'

서버 외부에 연결할 때 사용할 계정의 이름을 지정합니다. Azure Blob 스토리지에서 파일을 가져오려면 ID 이름이 SHARED ACCESS SIGNATURE여야 합니다. 공유 액세스 서명에 대한 자세한 내용은 SAS(공유 액세스 서명) 사용을 참조하세요.

SECRET ='secret'

나가는 인증에 필요한 암호를 지정합니다. secret은 Azure Blob 스토리지에서 파일을 가져오는 데 필요합니다. secret은 다른 용도에 대해서는 선택 사항이 될 수 있습니다.

경고

SAS 키 값은 '?'(물음표)로 시작될 수 있습니다. SAS 키를 사용할 때는 앞의 '?'를 제거해야 합니다. 그렇지 않으면 작업이 차단될 수 있습니다.

설명

데이터베이스 범위 자격 증명이 변경되면 identity_namesecret의 값이 모두 다시 설정됩니다. 옵션인 SECRET 인수를 지정하지 않으면 저장된 암호 값이 NULL로 설정됩니다.

암호는 서비스 마스터 키를 사용하여 암호화됩니다. 서비스 마스터 키가 다시 생성되면 암호가 새 서비스 마스터 키를 사용하여 다시 암호화됩니다.

데이터베이스 범위 자격 증명에 대한 내용은 sys.database_scoped_credentials 카탈로그 뷰를 참조하세요.

PolyBase 외부 테이블과 함께 사용할 SAS(공유 액세스 서명)에 권한을 부여하는 경우, 허용되는 리소스 종류로 컨테이너개체를 모두 선택합니다. 부여하지 않으면 외부 테이블에 액세스하려고 할 때 오류 16535 또는 16561이 나타날 수 있습니다.

사용 권한

자격 증명에 대한 ALTER 권한이 필요합니다.

예제

A. 데이터베이스 범위 자격 증명의 암호 변경

다음 예에서는 Saddles라는 데이터베이스 범위 자격 증명에 저장된 암호를 변경합니다. 데이터베이스 범위 자격 증명에는 RettigB Windows 로그인과 해당 암호가 들어 있습니다. 새 암호는 SECRET 절을 사용하여 데이터베이스 범위 자격 증명에 추가됩니다.

ALTER DATABASE SCOPED CREDENTIAL AppCred WITH IDENTITY = 'RettigB',
    SECRET = 'sdrlk8$40-dksli87nNN8';
GO

B. 자격 증명에서 암호 제거

다음 예에서는 Frames라는 데이터베이스 범위 자격 증명에서 암호를 제거합니다. 데이터베이스 범위 자격 증명에는 Aboulrus8 Windows 로그인과 해당 암호가 들어 있습니다. SECRET 옵션이 지정되지 않았기 때문에 문이 실행된 후에는 데이터베이스 범위 자격 증명 암호가 NULL이 됩니다.

ALTER DATABASE SCOPED CREDENTIAL Frames WITH IDENTITY = 'Aboulrus8';
GO

다음 단계