sql >> データベース >  >> RDS >> Sqlserver

データベースメールのスクリプト設定

    AFAIK、必ずしもSSMSからこれをスクリプト化する方法はありませんが、TSQLでトランスポータブルスクリプトを一度作成して、すべてのサーバーで再利用できます。これを始めるための良い例を次に示します。

    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
    

    もう1つのオプションは、.NETまたはPowerShellを介してSMOを活用してスクリプトを生成することです。このためのSMOリファレンスは次のようになります:

    SqlMailクラス

    更新:

    これは、Powershellと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. ストアドプロシージャSQL実行プラン

    2. DB(特にMySQL)でのメッセージングシステムの作成

    3. mysqlクエリの後に空のタグを返すことでhtmlのサイズが3倍になりました|解決方法-laravel

    4. 自動IncermentIDとデフォルトのUNIX日時のトリガーを作成します