모든 서버의dbmail 설정 대량 수정 (추천)
SSMS 클라이언트의 UI 인터페이스를 사용하여 수정하면 많은 서버가 한 대씩 수정하는데 시간이 걸릴 뿐만 아니라 무미건조하다.스크립트만 사용할 수 있습니다. 스크립트를 한 번 작성한 후에 Multiple Server Query Execution(이 관리, 데이터베이스 유지 보수를 적극 추천합니다)을 사용하여 스크립트를 한 번 실행하면 모두 처리됩니다.남은 시간에 차를 마시고 새로운 지식을 배울 수 있습니다!
DECLARE @EmailAccount sysname;
DECLARE @SmtpServer sysname;
DECLARE @EmailAddress NVARCHAR(120);
DECLARE @EmailSuffix NVARCHAR(32);
DECLARE @NewEamilAddress NVARCHAR(120);
--DECLARE @ActualEmailSuffix NVARCHAR(32)='xxxx.com'; SQL Server 2005 , Cannot assign a default value to a local variable.
DECLARE @ActualEmailSuffix NVARCHAR(32);
DECLARE @ActualSmtpServer sysname;
SET @ActualEmailSuffix='xxx.com';
SET @ActualSmtpServer='192.168.xxx.xxx';
DECLARE EmailAccount_Cursor CURSOR FAST_FORWARD
FOR
SELECT sa.[name]
,ss.[servername]
,sa.email_address
FROM [msdb].[dbo].[sysmail_server] ss
INNER JOIN [msdb].[dbo].[sysmail_account] sa
ON ss.[account_id]=sa.[account_id];
OPEN EmailAccount_Cursor;
FETCH NEXT FROM EmailAccount_Cursor INTO @EmailAccount, @SmtpServer,@EmailAddress;
WHILE @@FETCH_STATUS = 0
BEGIN
IF LTRIM(RTRIM(@SmtpServer))!=@ActualSmtpServer
BEGIN
EXECUTE msdb.dbo.sysmail_update_account_sp
@account_name = @EmailAccount
,@mailserver_name=@ActualSmtpServer;
PRINT @SmtpServer;
PRINT @EmailAccount;
END;
SET @EmailSuffix=SUBSTRING(@EmailAddress,CHARINDEX('@',@EmailAddress)+1, LEN(@EmailAddress) -CHARINDEX('@',@EmailAddress))
IF @EmailSuffix!=@ActualEmailSuffix
BEGIN
SET @NewEamilAddress= REPLACE(@EmailAddress,@EmailSuffix,@ActualEmailSuffix);
EXECUTE msdb.dbo.sysmail_update_account_sp
@account_name = @EmailAccount
,@email_address=@NewEamilAddress
,@mailserver_name=@SmtpServer;
PRINT @EmailAccount;
PRINT @NewEamilAddress;
END;
FETCH NEXT FROM EmailAccount_Cursor INTO @EmailAccount, @SmtpServer,@EmailAddress;
END
CLOSE EmailAccount_Cursor;
DEALLOCATE EmailAccount_Cursor;
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.