Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Skryptowanie konfiguracji poczty bazy danych

AFAIK, nie ma sposobu na wykonanie tego skryptu z SSMS, ale możesz raz utworzyć przenośny skrypt w TSQL i użyć go ponownie na wszystkich serwerach. Oto dobry przykład, od którego możesz zacząć:

USE [master]
GO
sp_configure 'show advanced options',1
GO
RECONFIGURE WITH OVERRIDE
GO
sp_configure 'Database Mail XPs',1
GO
RECONFIGURE 
GO
-- Create a New Mail Profile for Notifications
EXECUTE msdb.dbo.sysmail_add_profile_sp
       @profile_name = 'DBA_Notifications',
       @description = 'Profile for sending Automated DBA Notifications'
GO
-- Set the New Profile as the Default
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
    @profile_name = 'DBA_Notifications',
    @principal_name = 'public',
    @is_default = 1 ;
GO
-- Create an Account for the Notifications
EXECUTE msdb.dbo.sysmail_add_account_sp
    @account_name = 'SQLMonitor',
    @description = 'Account for Automated DBA Notifications',
    @email_address = '[email protected]',  -- Change This
    @display_name = 'SQL Monitor',
    @mailserver_name = 'smtp.domain.com'  -- Change This
GO
-- Add the Account to the Profile
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
    @profile_name = 'DBA_Notifications',
    @account_name = 'SQLMonitor',
    @sequence_number = 1
GO

Inną opcją byłoby wykorzystanie SMO za pośrednictwem platformy .NET lub powershell do generowania skryptów. Odniesienie do SMO to:

Klasa SqlMail

AKTUALIZACJA:

Oto jak łatwe okazało się napisanie tego skryptu za pomocą Powershell i SMO:

[void][reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo");

#Set the server to script from
$ServerName = "ServerName";

#Get a server object which corresponds to the default instance
$srv = New-Object -TypeName Microsoft.SqlServer.Management.SMO.Server $ServerName

#Script Database Mail configuration from the server
$srv.Mail.Script();



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. TYP zdefiniowany przez użytkownika w różnych bazach danych

  2. Czy można zmodyfikować systemową procedurę składowaną?

  3. Porównanie ciągów SQL, większe niż i mniejsze niż operatory

  4. Jak wymusić wykonanie podzapytania równie dobrze jak tabela #temp?

  5. Filtrowanie duplikatów w tabeli bez klucza podstawowego