Сервер SMTP в настоящее время открытое реле

Как упомянуто в комментариях - Вы не копируете/восстанавливаете TEMPDB.

Заставить сценарий продолжаться после sqlservr -m команда, Вам нужна к "фону" команда. Чтобы сделать это, используйте start команда перед ним. Что-то как:

start sqlservr -m

должен работать. После этого, хотя, необходимо будет ожидать SQL Server для фактического запуска прежде, чем дать любые команды. В Windows 2003 можно добраться sleep.exe из Windows 2003 Resource Kit, чтобы сделать это. В Windows 2008 можно использовать timeout.exe команда. Вам будут нужны ко времени несколько стартапов для понимания для точно, сколько времени ожидать прежде, чем делать попытку восстановлений (и добавить немного времени к нему, на всякий случай...),

До восстановления msdb и модели, хотя, это должны быть 2 более простых восстановления sqlcmd точно так же, как то, Вы имеете для ведущего устройства. Также необходимо удостовериться, что Вы останавливаете экземпляр SQL Server прежде, чем перезапустить сервис.

Заключительный сценарий посмотрел бы что-то как:

::set variables
set dbdirectory=C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA
title Restoring system databases
net stop mssqlserver
cd C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn
start sqlservr -m
timeout /t 60
sqlcmd -Slocalhost -E -Q "restore database master from disk='c:\master.bak' WITH REPLACE" 
sqlcmd -Slocalhost -E -Q "restore database msdb from disk='c:\msdb.bak' WITH REPLACE" 
sqlcmd -Slocalhost -E -Q "restore database model from disk='c:\model.bak' WITH REPLACE" 
taskkill /im sqlservr.exe
net start mssqlserver
pause

Обязательно проверьте эту technet статью также.

примечание: Я не протестировал это, я принимаю Ваш sqlcmd операторы корректны здесь...

1
задан 18 January 2012 в 23:10
2 ответа

Попробуйте изменить строку smtpd_recipient_restrictions на это:

smtpd_recipient_restrictions = reject_unauth_destination, permit_sasl_authenticated, permit_mynetworks, check_relay_domains

Я попытался найти синтаксис, но всегда использую, между значениями, если я не помещаю значения в отдельные строки (в этом случае следующие параметры должны начинаться с пробела) например:

smtpd_recipient_restrictions = reject_unauth_destination
                               permit_sasl_authenticated
                               permit_mynetworks
                               check_relay_domains

Edit 1
Хороший инструмент для удаленной проверки того, действительно ли сервер является открытым реле, полезно использовать, просто чтобы избежать ошибок или «ложных срабатываний». Он проверяет около дюжины различных способов ретрансляции и сообщит вам, работает ли какой-либо из них. Просто введите свой IP-адрес в поле и нажмите «Проверить»:
http://www.mailradar.com/openrelay/

1
ответ дан 4 December 2019 в 01:15

Для второго вопроса вы можете проверить, открывается с помощью nmap для сканирования хоста или просто telnet имя хоста 25 .

Если telnet отвечает чем-то на мелодию 220 mailserver_name ESMTP , то порт открыт.

0
ответ дан 4 December 2019 в 01:15

Теги

Похожие вопросы