Назад | Перейти на главную страницу

SQL Server 2012 и SQLMail - все равно будет работать?

Мы рассматриваем возможность обновления нашего SQL Server, который в настоящее время работает под управлением 2005 года. Мы активно используем SQLMail в организации, как для отправки электронной почты, так и для импорта некоторых из них в базу данных.

Я читал в разных местах, что SQLMail устарел и заменен «Database Mail».

Я смущен, потому что эта страница MS: http://msdn.microsoft.com/en-us/library/bb402904.aspx кажется, подразумевает, что это все равно будет работать?

Я понимаю опасность SQLMail, но у нас нет ресурсов, чтобы переписать скрипты прямо сейчас, и мы предпочли бы сделать это позже.

Будет ли SQLMail работать в 2012 году, а если нет, то насколько легко заменить его на Database Mail как для чтения, так и для отправки электронной почты?

SQL Mail больше нет - больше нет хранимых процедур.

Насколько легко будет заменить Database Mail, во многом зависит от того, сколько разных мест в коде вы вызываете xp_sendmail и т. Д.

Если ответ «один», вы можете выполнить следующие шаги для преобразования:

http://technet.microsoft.com/en-us/library/ms187891(v=sql.105).aspx

Сама по себе настройка Database Mail не представляет особой сложности.

Если ваше использование SQLMail не особенно привлекательно (просто выполнение запросов и отправка на адреса электронной почты), вы можете написать процедуру совместимости, которая выглядит как SQLMail для вызывающих абонентов, но по сути просто передает параметры в Database Mail. Я возился с чем-то подобным несколько лет назад, но в итоге мы перекусили и фактически изменили код приложения. Таким образом, ваш существующий код, вероятно, останется нетронутым, он будет вызывать только что написанный код "SQLMail", этот код вызывает Database Mail, и люди должны получать электронную почту. Это позволит вам начать переработку кода SQLMail-> Database Mail на досуге.

Согласно следующей ссылке, похоже, он все еще существует в версии 2012:

http://msdn.microsoft.com/en-us/library/microsoft.sqlserver.management.smo.mail.sqlmail.aspx

[EDIT] Извините, это относится не к хранимой процедуре sqlmail, а к самому объекту