четверг, 28 октября 2010 г.

отправка почты из SQL запросами

Для этих целей в MS SQL Server есть два механизма, оба механизма - это хранимые процедуры:
xp_send_mail
sp_send_dbmail

2-й вариант предпочтительнее, поскольку он не требует установки Outlook на сервер и создание почтового профиля.

достаточно включить возможность отправки почты:

Через "Microsoft SQL Server Management Studio" -> раскрываем сервер, к которому подключились ->
1.Останавливаем SQL Server Agent (если ранее не настраивали отправку почтовых сообщений) -> "Management" -> правой кнопкой "Database Mail" -> "Configure Database Mail" ->

может выскочить ошибка вида(Cannot enable the Service Broker in databse "msdb" ...):



решается:

ALTER DATABASE MSDB SET NEW_BROKER

Далее здесь же вводим имя профиля 'Email_sender_MyServer' и запоминаем - в дальнейшем пригодиться.

Пример скрипта отправки почтовых сообщений:

DECLARE @Select1 NVARCHAR(MAX);

SET @Select1 = (SELECT * FROM MyDatabase.dbo.cena);

EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'Email_sender_MyServer',--здесь вводим запомненное имя
@recipients= 'User1@MyDomain.ru; User1@MyDomain.ru; GroupMail1@MyDomain.ru',
@subject = 'Price',

@body = @Select1,
@body_format = 'TEXT' ;


Полезные ссылки:

http://msdn.microsoft.com/ru-ru/library/ms175887.aspx

http://www.sqlnewsgroups.net/sqlserver/t12073-cannot-enable-service-broker.aspx

http://sql.ru/forum/actualthread.aspx?tid=713259

вторник, 26 октября 2010 г.

Переключение аппаратно зеркалируемого диска сервера на пассивное плечо

Переключение аппаратно зеркалируемого диска сервера на пассивное плечо.
Аппаратное зеркало на CLARiiON CX4-120.

Условия:
Есть сервер Windows (EMC PowerPath + Navisphere Agent установлены, естественно), которому через SAN поданы диски одинаковой емкости, и настроена аппаратная синхронизация между ними (на дисковых массивах). т.е. на обной системе хранения есть активный LUN, и на другой тоже есть LUN, но пассивный, и происходит непрерывная репликация данных между ними.

Задача:
Переключиться на пассивный диск другой системы хранения.



Решение:
Предварительно, перед тем, как переключаться на зеркало, необходимо убедиться, что на дисковом томе, который располагается на этом LUN-е отсутствуют общие сетевые ресурсы - папки в общем доступе, если таковые имеются, то нужно запомнить их Permission на вкладе Share в свойствах, потому как их придется пересоздать, если мы не хотим перезапускать службу сервера.

Заходим в Navisphere Manager и делаем Promote на Secondary Image LUN-е:



в итоге получаем:



и нужно сделать на нем "Reactivate Disk".

После этого том становиться доступным, но сетевые шары, оказываются пустыми, далее здесь есть два пути:
1.Перезапуск службы сервера.
2.Но пункт 1 противопоказан, если у нас есть ещё много различных сетевых папок на этом сервере с активно работающими пользователями. Перезапуск службы сервера их всех отключит просто. Поэтому нужно пересоздать шару с теми же правами на сетевой ресурс, а права NTFS - вообще не трогать, так как они сохраняются.

Обновление прошивки iLO

Обновил прошивку iLO на HP DL 360g4p до версии 1.94

http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareIndex.jsp?lang=en&cc=us&prodNameId=397991&prodTypeId=15351&prodSeriesId=397989&swLang=8&taskId=135&swEnvOID=1005#29213

ну и заодно HP Lights-Out Online Configuration Utility до 3.1.0.0

веб интерфейс сразу после прошивки не заработал, отключил и включил Network Interface Adapter через меню Network->standart Network Settings в HP Lights-Out Online Configuration Utility, после чего заработал нормально.

Такое ощущение, что после этого веб интерфейс iLO стал значительно быстрее.
Наконец то пришел сертификат об окончании обучения Interconnecting Cisco Network Devices Part1 ICND1, интересно когда придет 2-й, курсы слушал последовательно сразу - в две недели, с момента прихода сертификата прошло уже полтора месяца, ждемс...

MikroTik ограничение скорости траффика с IP адреса

Всё, и даже больше есть в мануале, в том числе классовая раскраска и применение к ним правил для пакетов, но пока обошелся более простым правилом - ограничение скорости на внешнем порту интернета для внутреннего IP.

Через оснастку Winbox меню Queues вкладка Simple Queues:



и

,

теперь, когда правило срабатывало и трафик обрезался до нужного лимита (shaping), правило подкрашивалось красным цветом, а в обычном состоянии оно было зеленым.

Перенос раздела на другой диск без остановки сервиса

В прошлом году при запуске двух CLARiiON-ов CX4-120 на соседнем предприятии очень удивило то, что некоторые опытные администраторы Windows систем не знают, как можно перенести раздел или увеличить пространство на существующем разделе без перезагрузки сервера и остановки сервисов данные которых расположены на дисках требующих увеличение раздела.
Естественно, для подобного рода операций необходимы некоторые условия:
1.Наличие достаточного свободного пространства для увеличения/переноса раздела.
2.Тип Дисков должен быть как минимум динамическим(ИМХО)(Удобнее всего использовать сеть SAN).

Правда известный преподаватель с курсов по CLARiiON(http://microinform.ru/emc/MR-1CP-CHIMSV.htm и http://microinform.ru/emc/MR-1CP-MVSCSP.htm) против такого подхода и говорит что есть diskpar - пользуйтесь лучше им. Хорошо что есть оба варианта, просто вариант с diskpar более не удобен на мой взгляд.

Собственно будем использовать программное зеркало Windows - в этом нет никакого секрета, да, получим небольшую нагрузку на процессор и платы ввода/вывода, но это не так существенно по сравнению с тем, что может быть, если будет остановка важного, если не сказать критического сервиса для предприятия. К тому же нагрузка на процессор не даст ощутимого эффекта (Degrade Perfomance) для остальных программ и служб в целом для системы с учетом современных серверов и процессоров(взять, для примера, те же самые HP DL 360).

Собственно в оснастке compmgmt.msc имеем:



где верхний G и нижний - это один том - просто плечи одного зеркала, при удалении одного из них том G будет оставаться работоспособным.

Собственно зеркало для тома создается правой кнопкой на томе Add mirror... где далее будет предложено выбрать из доступных сводных мест на дисках.

Благодаря этой возможности нам удалось, в связи с перегревом в серверном помещении из-за каскадного отказа кондиционеров(их внешние блоки тоже не любят сильной жары и прямых солнечных лучей), за сутки перенести 4 критических сервера с данными из одной серверной в другую, разделы были путем частично программного, частично аппаратного зеркалирования перенесены с одной системы хранения на другую, а сами сервера физически были перенесены и подключены в течение 2х часов.

понедельник, 25 октября 2010 г.

Начали проект по внедрению документообората на Directum

Из шагов установки сразу не все понравилось, мальчик от фирмы внедренцев был не опытным установщиком, много мануалов не читал, поэтому ему приходилось много звонить в саппорт директумовский и исправлять ошибки установки, в связи с чем планирую написать инструкцию по установке серверной части для себя, инструкции по установки клиентской части и настройки пользователей с привязкой сертификатов написал для своей техподдержки, что бы много вопросов не возникало

Начали проект по внедрению Symantec Netbackup

Решили уйти с HP DataProtector(используем версию) из за отсутствие одной фичи и относительно дорого лицензирования. Symantec предлагает относительно выгодно по-терабайтное лицензирование продукта, в рамках чего доступны все фичи сразу, но объем защищаемых данных не должен превышать приобретенных терабайтных лицензий.
Также необходимо было восстановление почтовых ящиков пользователей до уровня одного сообщения.
Долго думали, смотрели имеющиеся внедрения - поглядим, что из этого выйдет.
Предварительно не понравилось отсутствие аналогичной с HP DataProtector ротации пулов лент и отсутствие возможности резервного копирования баз SQL файловым агентом, что вызывало необходимость дополнительного агента для восстановления и резервного копирования баз SQL, а при восстановлении из клона это ещё более усложнялось но думаю что получиться сделать сценарии восстановления такими, что руками ничего практически не придется делать.

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

Конечно рассматривали ещё и symantec BackupExec но он тоже выбыл из-за по-агентной, как и у HP Dataprotector, политики лицензирования.

Техническими требованиями для выбора системы резервного копирования были следующие:

1. Снятие образов дисков.
1.a. Исключение из образов диска определенных файлов (например pagefile.sys)
1.b. Восстановление образов дисков
2. Резервное копирование баз Exchange 2007 кластера через SAN.
2.a. Восстановление с точностью до одного сообщения одного пользователя.
2.b. Восстановление на определенный момент времени.
3. Резервное копирование SQL баз, в том числе с кластера SQL через SAN
3.a. Восстановление баз на другие сервера, отличные от сервера источника резервного копирования.
3.b. Восстановление баз с другим именем – не существующим на восстанавливаемом инстансе SQL.
3.c. Восстановление на определенный момент времени.
3.d. Восстановление элементов базы данных – таблиц и т.п.
4. Резервное копирование файлового сервера/кластера через SAN.
4.a. Восстановление на определенное время
5. Резервное копирование определенных групп файлов на серверах (типа system state) – резервная копия конфигураций и данных каких либо сервисов (папки с файлами на серверах).
5.a. резервное копирование на работающей системе занятых файлов в том числе.
6. Резервное копирование Active Directory
6.a. Восстановление определенных объектов.
6.b. Восстановление всей базы Active Directory.
7. Поддержка и интеграция с Ленточными библиотеками LTU-3 MSL6030 и LTU-4 MSL4048 – возможность резервного копирования напрямую на ленточные устройства.
8. Возможность резервного копирования на дисковое хранилище напрямую (использование себя в качестве Media сервера)
9. Единая консоль управления по всем резервным копиям на всех серверах задействованных в резервном копировании.
10. Создание резервных копий по расписанию.
11. Поддержка Linux/Windows.
12. Резервное копирование ESX
12.a. резервное копирование хостов
12.b. резервное копирование гостевых операционных систем
12.c. восстановление определенных дисков виртуальных машин.
12.d. восстановление определенных файлов на дисках виртуальных машин.
13. Дублирование резервных копий
14. Отчетность
14.a. сводная за сутки
14.b. журнал
14.c. отправка по электронной почте

От функционала дедупликации решили отказаться, потому как по предварительной информации он требовал сначала бэкапа на диск, а потом только применял функцию дедупликации и ложил это на ленту.

Кстати, занятная статейка по дедупликации:

http://habrahabr.ru/blogs/sysadm/104979/
случайно натолкнулся на занятную статистику где фигурировал наш сервер после добавления проверок на спам:

http://www.cis-controls.ru/wstat7/monthly/2007/02/01/sites.html

надо отметить что в то время сервер фильтровал 90% спама, но большое число спама всё же просачивалось через 2 почтовых фильтра; при этом пользовались 8-11 списками подобных листов, к тому же на Mimesweeper приходился большой объем администрирования потому как был большой объем ложных срабатываний и необходимо было пропускать письма далее и постоянно править правила, потому как отсутствовала возможность написания своих алгоритмов разбора заголовков SMTP, а имеющийся функционал не позволял настроить желаемые алгоритмы обработки, поэтому было принято решение перейти на Open Source систему фильтрации входящих сообщений Exim. Как только это было сделано нагрузка по администрированию уменьшилась на 2 порядка, при этом удалось сохранить внутреннее условие наличия Mimesweeper. Поскольку была снята нагрузка с Mimesweeper было уменьшено используемое процессорное время, с мигрировали машину с HP DL360G4p в виртуальную среду, благодаря чему высвободился один аппаратный сервер, который смогли использовать под другие нужды.
В последствии мы отказались от продления поддержки mimesweeper, благодаря чему удалось сэкономить не малые бюджетные средства.

вторник, 19 октября 2010 г.

Определение версии SQL и перенос системных баз

Возникла необходимость поднять SQL Server 2005 с аналогичной версией уже поднятого 32хбитного , только 64-й. Для того что бы потом в дальнейшем на него залить базу master.

на 32 битном была версия 9.0.3054

на 64 битном поставил SQL2005, потом накатил SP2 далее выкачал апдейт с:
http://www.microsoft.com/downloads/en/details.aspx?FamilyId=D09CF5C4-FEC4-4322-9FEE-06A43401CF0C&displaylang=en

Перезаливка из бэкаппа базы мастер
1.убедиться что пользователь, из под которого будут выполняться команды имеет привелегии sysadmin на SQL сервере
2.Выполнить команду:
\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe -m

3.Из другой командной строки запустить
C:\Program Files\Microsoft SQL Server\90\Tools\Binn\sqlcmd.exe

4.
1>RESTORE DATABASE master FROM DISK = 'G:\master_backup_.bak' WITH REPLACE;
2> GO

Если пути для темповых баз отличаются, нужно также их перенастроить, но есть нюанс:


Перенастройка невозможна без запущенной базы MASTER, которая не стартует без темповой, так что сначала подал диск с нужной буквой - как на сервере источнике базы мастер и каталог расположения темповой базы, хотя здесь пишут что в single mode всё запросто перенастраивается, но, почему то, не в моем случае.

Перенастройка базы tempdb:

use master
use master
alter database tempdb modify file( name = tempdev, filename = N'F:\Tempdb\tempdb.mdf')
go
alter database tempdb modify file( name = templog, filename = N'F:\Tempdb\templog.ldf')
go


сссылки по теме:
http://support.microsoft.com/?kbid=934458

http://sqlserver2000.databases.aspfaq.com/how-do-i-know-which-version-of-sql-server-i-m-running.html

http://www.aspfaq.com/sql2005/show.asp?id=20