다음을 통해 공유


sysmail_update_account_sp(Transact-SQL)

기존 데이터베이스 메일 계정의 정보를 변경합니다.

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문

sysmail_update_account_sp [ [ @account_id = ] account_id ] [ , ] [ [ @account_name = ] 'account_name' ] ,
    [ @email_address = ] 'email_address' , 
    [ @display_name = ] 'display_name' , 
    [ @replyto_address = ] 'replyto_address' ,
    [ @description = ] 'description' , 
    [ @mailserver_name = ] 'server_name' , 
    [ @mailserver_type = ] 'server_type' , 
    [ @port = ] port_number , 
    [ @username = ] 'username' ,
    [ @password = ] 'password' ,
    [ @use_default_credentials = ] use_default_credentials ,
    [ @no_credential_change = ] changes to username and password ,
    [ @enable_ssl = ] enable_ssl 

인수

  • [ @account_id = ] account_id
    업데이트할 계정 ID입니다. account_id는 int이며 기본값은 NULL입니다. account_id 또는 account_name 중 하나 이상을 지정해야 합니다. 둘 다 지정할 경우 프로시저가 계정 이름을 변경합니다.

  • [ @account_name = ] 'account_name'
    업데이트할 계정의 이름입니다. account_name은 sysname이며 기본값은 NULL입니다. account_id 또는 account_name 중 하나 이상을 지정해야 합니다. 둘 다 지정할 경우 프로시저가 계정 이름을 변경합니다.

  • [ @email_address = ] 'email_address'
    메시지를 보낼 새 전자 메일 주소입니다. 이 주소는 인터넷 전자 메일 주소여야 합니다. 주소의 서버 이름은 데이터베이스 메일이 이 계정에서 메일을 보낼 때 사용하는 서버입니다. email_address는 nvarchar(128)이며 기본값은 NULL입니다.

  • [ @display_name = ] 'display_name'
    이 계정에서 보내는 전자 메일 메시지에 사용할 새 표시 이름입니다. display_name은 nvarchar(128)이며 기본값은 없습니다.

  • [ @replyto_address = ] 'replyto_address'
    이 계정에서 보내는 전자 메일 메시지의 회신 머리글에 사용할 새 주소입니다. replyto_address는 nvarchar(128)이며 기본값은 없습니다.

  • [ @description = ] 'description'
    계정에 대한 새로운 설명입니다. description은 nvarchar(256)이며 기본값은 NULL입니다.

  • [ @mailserver_name = ] 'server_name'
    이 계정에 사용할 SMTP 메일 서버의 새 이름입니다. SQL Server를 실행하는 컴퓨터는 server_name을 IP 주소로 확인할 수 있어야 합니다. server_name은 sysname이며 기본값은 없습니다.

  • [ @mailserver_type = ] 'server_type'
    메일 서버의 새 유형입니다. server_type은 sysname이며 기본값은 없습니다. SQL Server 2005 이상에서는 'SMTP' 값만 지원됩니다.

  • [ @port = ] port_number
    메일 서버의 새 포트 번호입니다. port_number는 int이며 기본값은 없습니다.

  • [ @username = ] 'username'
    메일 서버에 로그온하는 데 사용할 새 사용자 이름입니다. User name은 sysname이며 기본값은 없습니다.

  • [ @password = ] 'password'
    메일 서버에 로그온하는 데 사용할 새 암호입니다. password는 sysname이며 기본값은 없습니다.

  • [ @use_default_credentials = ] use_default_credentials
    SQL Server 데이터베이스 엔진 서비스의 자격 증명을 사용하여 메일을 SMTP 서버로 보낼지 여부를 지정합니다. use_default_credentials는 bit이며 기본값은 없습니다. 이 매개 변수가 1이면 데이터베이스 메일은 데이터베이스 엔진의 자격 증명을 사용합니다. 이 매개 변수가 0이면 데이터베이스 메일은 SMTP 서버 인증을 위해 @username@password를 사용합니다. @username@password가 NULL이면 데이터베이스 메일은 익명 인증을 사용합니다. 이 매개 변수를 지정하기 전에 해당 SMTP 관리자에게 문의하십시오.

  • [ @no_credential_change = ] 사용자 이름과 암호의 변경 내용
    기존 자격 증명(사용자 이름과 암호)이 변경되는지 여부를 지정합니다. 이 매개 변수가 1이면 자격 증명 변경이 없음을 나타내고 @username@password가 필요하지 않습니다. 이 매개 변수가 0이면 자격 증명 변경을 나타내고 @username@password를 제공해야 합니다. 이 매개 변수는 비트이며 기본값은 0입니다.

  • [ @enable_ssl = ] enable_ssl
    데이터베이스 메일에서 SSL(Secure Sockets Layer)을 사용하여 통신을 암호화할지 여부를 지정합니다. SMTP 서버에 SSL이 필요한 경우 이 옵션을 사용합니다. enable_ssl은 bit이며 기본값은 없습니다.

반환 코드 값

0(성공) 또는 1(실패)

주의

계정 이름과 계정 ID가 둘 다 지정되면 저장 프로시저는 계정에 대한 정보를 업데이트할 뿐만 아니라 계정 이름도 변경합니다. 계정 이름을 변경하면 계정 이름의 오류를 수정할 수 있습니다.

@no_credential_change 매개 변수는 메일 송신에 기본 인증을 사용 중인 계정에 대해 사용자 이름과 암호 외의 다른 내용을 변경하는 데 사용할 수 있습니다. 예를 들어 @no_credential_change = 1을 지정하면 사용자 이름과 암호를 제공하지 않고도 SSL을 설정할 수 있습니다.

sysmail_update_account_sp 저장 프로시저는 msdb 데이터베이스에 있으며 dbo 스키마가 소유합니다. 현재 데이터베이스가 msdb가 아닐 경우 이 프로시저를 세 부분으로 구성된 이름으로 실행해야 합니다.

사용 권한

sysadmin 고정 서버 역할의 멤버 자격이 필요합니다.

1. 계정에 대한 정보 변경

다음 예에서는 msdb 데이터베이스에서 AdventureWorks Administrator 계정을 업데이트합니다. 계정에 대한 정보는 제공된 값으로 설정됩니다.

EXECUTE msdb.dbo.sysmail_update_account_sp
    ,@account_name = 'AdventureWorks Administrator'
    ,@description = 'Mail account for administrative e-mail.'
    ,@email_address = 'dba@Adventure-Works.com'
    ,@display_name = 'AdventureWorks Automated Mailer'
    ,@replyto_address = NULL
    ,@mailserver_name = 'smtp.Adventure-Works.com'
    ,@mailserver_type = 'SMTP'
    ,@port = 25
    ,@username = NULL
    ,@password = NULL
    ,@use_default_credentials = 0
    ,@enable_ssl = 0;

2. 계정 이름 및 계정에 대한 정보 변경

다음 예에서는 계정 ID 125에 대한 계정 이름을 변경하고 계정 정보를 업데이트합니다. 계정의 새 이름은 Backup Mail Server입니다.

EXECUTE msdb.dbo.sysmail_update_account_sp
    ,@account_id = 125
    ,@account_name = 'Backup Mail Server'
    ,@description = 'Mail account for administrative e-mail.'
    ,@email_address = 'dba@Adventure-Works.com'
    ,@display_name = 'AdventureWorks Automated Mailer'
    ,@replyto_address = NULL
    ,@mailserver_name = 'smtp-backup.Adventure-Works.com'
    ,@mailserver_type = 'SMTP'
    ,@port = 25,
    ,@username = NULL
    ,@password = NULL
    ,@use_default_credentials = 0
    ,@enable_ssl = 0;

3. @no\_credential\_change를 사용하여 계정의 SSL만 변경

다음 예에서는 계정 ID 125의 SSL 설정을 변경합니다. 다른 모든 계정 정보에는 변동이 없습니다.

EXECUTE msdb.dbo.sysmail_update_account_sp
    ,@account_id = 125
    ,@enable_ssl = 1
    ,@no_credential_change = 1;

@no\_credential\_change=1이 지정되지 않으면, @username@password에 별도의 값을 제공하지 않는 한 NULL 값이 할당됩니다.

변경 내역

업데이트된 내용

새 매개 변수 @no_credential_change에 대한 정보가 구문, 인수 및 주의 섹션에 추가되었습니다.

새 매개 변수 @no_credential_change를 사용한 SSL 설정 변경의 예가 추가되었습니다.