如果认证过期,每月自动发送电子邮件的最佳方式是什么?

时间:2017-06-01 13:35:47

标签: asp.net sql-server reporting-services windows-services

我有一个在asp.net mvc中设计的webapp,通过点击事件通过smtp发送电子邮件没问题。但我需要一种方法来自动检查每个月的认证,如果它已过期并通过电子邮件发送给该用户。我正在阅读sql server或windows服务。你推荐哪一个,你可以提供链接让我阅读它。谢谢。

1 个答案:

答案 0 :(得分:0)

为什么要这么麻烦? Sql Server并不关心到期日期......

开玩笑说,您可能会注意到Sql Server附带的许多内部证书已经过期。 MS并不关心这些,但您应该确保在收到的任何警报中忽略它们。

您可以使用策略(SSMS \ Management \ Policies)提醒您,例如:

Declare @object_set_id Int
Exec msdb.dbo.sp_syspolicy_add_object_set @object_set_name=N'Certs_ObjectSet', @facet=N'Certificate', @object_set_id=@object_set_id Output
Select @object_set_id

Declare @target_set_id Int
Exec msdb.dbo.sp_syspolicy_add_target_set @object_set_name=N'Certs_ObjectSet', @type_skeleton=N'Server/Database/Certificate', @type=N'CERTIFICATE', @enabled=True, @target_set_id=@target_set_id Output
Select @target_set_id

Exec msdb.dbo.sp_syspolicy_add_target_set_level @target_set_id=@target_set_id, @type_skeleton=N'Server/Database/Certificate', @level_name=N'Certificate', @condition_name=N'', @target_set_level_id=0
Exec msdb.dbo.sp_syspolicy_add_target_set_level @target_set_id=@target_set_id, @type_skeleton=N'Server/Database', @level_name=N'Database', @condition_name=N'', @target_set_level_id=0


Go

Declare @policy_id Int
Exec msdb.dbo.sp_syspolicy_add_policy @name=N'Certs', @condition_name=N'Certs', @execution_mode=0, @policy_id=@policy_id Output, @object_set=N'Certs_ObjectSet'
Select @policy_id