代码之家  ›  专栏  ›  技术社区  ›  chris

数据库邮件的脚本设置

  •  14
  • chris  · 技术社区  · 14 年前

    我已经使用SQL Server 2008 GUI在我的测试服务器上设置了数据库邮件配置文件和帐户,现在我想将它们复制到我们的生产数据库中。

    是否有生成脚本的方法来执行此操作?

    1 回复  |  直到 14 年前
        1
  •  21
  •   Jonathan Kehayias    14 年前

    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@domain.com',  -- 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
    

    另一种选择是通过.NET或PowerShell利用SMO来生成脚本。这方面的SMO参考将是:

    SqlMail Class

    更新:

    下面是使用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();
    
    推荐文章