Далеко не всегда на предприятиях средних размеров существуют администраторы баз данных (DBA). В таких организациях работы по управлению и обслуживанию Microsoft SQL Server ложатся на плечи администратора серверов Windows. Администрирование SQL Server может вызвать определенные затруднения у тех, кто недостаточно хорошо разбирается в этом продукте. Тем, кто не знает, с чего начать изучение SQL Server, очень рекомендую обратить внимание на эту статью. В ней я познакомлю читателей с основами этого продукта, а знание основ поможет эффективно управлять SQL Server в подразделении или на малом предприятии. Статья будет состоять из двух частей; в первой содержится важная начальная информация и объясняется назначение основных компонентов SQL Server. Во второй части, которая будет опубликована в следующем выпуске Windows IT Pro, мы рассмотрим важнейшие средства управления SQL Server и выделим опорную точку, с которой можно начать формировать собственную стратегию обеспечения безопасности и создания резервных копий базы данных SQL Server.
Начало начал
Первым шагом в установке системы с SQL Server является выделение необходимого количества памяти. Системы баз данных требовательны к размеру оперативной памяти, и SQL Server не является исключением. Для систем, обслуживающих подразделения внутри организации, абсолютный минимум памяти должен составлять 512 Mбайт. Более крупным системам требуется соответственно больше памяти. Учитывая сегодняшние цены на оперативную память, можно свободно добавить 1 или 2 Гбайт в систему с SQL Server за сравнительно небольшие деньги. Инвестиции в дополнительную память решат проблемы производительности, которая может быть оценена в терминах сокращения времени решения проблем и производительности конечных пользователей.
Разработчики Microsoft сделали SQL Server 2000 легким в установке и запуске. Однако я не рекомендую выбирать самый простой путь — установки по умолчанию. Например, если во время установки отдельного экземпляра (instance) SQL Server выбрать установки по умолчанию, в результате получим систему, производительность которой ниже оптимальной. По умолчанию программа установки SQL Server создает файлы базы данных и файлы журнала на одном и том же диске. Чтобы добиться повышения производительности SQL Server, лучше расположить эти файлы на разных дисках. Таким образом, первое, что необходимо сделать при установке, это убедиться в том, что SQL Server имеет достаточное количество дисков. Как минимум, нужно иметь три диска. Один для операционной системы, другой — для файлов данных и третий — для файла журналов. На рис. 1 показана типичная конфигурация дисков для малых и среднемасштабных установок SQL Server. В этом примере приведена система, состоящая из восьми дисков. Здесь операционная система, файлы данных и файлы журналов располагаются на разных дисках. Для обеспечения отказоустойчивости операционная система и файлы журнала используют зеркалирование. Файлы данных используют чередование данных по RAID 5 для обеспечения эффективности работы хранилища. Для максимальной защиты данных вместо RAID 5 можно использовать RAID 1 для дисков с данными. Однако это решение обходится существенно дороже по сравнению с RAID 5, поскольку зеркалирование требует вдвое большего дискового пространства по сравнению с объемом хранимых данных. Дисковые приводы sql сервер администрирование превосходят по производительности и скорости приводы IDE, поэтому использование таких дисков положительно сказывается на производительности всей системы.
Рисунок. Типовая конфигурация дисковой системы для малых и среднемасштабных систем SQL Server 2000 |
Для лучшей восстанавливаемости системы необходимо зеркалировать файлы журнала. Популярная конфигурация для установки SQL сервера следующая: RAID 1 для дисковых томов, содержащих файлы журналов, и RAID 5 для томов, содержащих файлы данных. Возможно, вы захотите иметь еще один дополнительный диск, на котором будете выполнять трассировку и другие диагностические операции. Наконец, из соображений обеспечения безопасности и приемлемой производительности лучше установить SQL Server на выделенный сервер, а не на контроллер домена.
Другим важным решением при установке SQL Server является тип авторизацию. SQL Server поддерживает два типа авторизации: через Windows (Windows authentication) и авторизацию встроенными средствами SQL Server (mixed-mode). При авторизации через Windows SQL Server проверяет входящие учетную запись и пароль, применяя пользовательскую учетную запись и пароль Windows. При авторизации через SQL Server необходимо создавать и поддерживать отдельный набор учетных записей внутри SQL Server. Хотя каждый тип имеет свои преимущества и недостатки, обычно по возможности используют авторизацию Windows. Авторизация через Windows позволяет содержать только один набор паролей и учетных записей, а приложения, которые подключаются к SQL Server, не нуждаются во время соединения во вводе дополнительных учетных данных и паролей. Windows обеспечивает проверку достоверности учетных записей и паролей и предоставляет соответствующие разрешения. Наконец, следует убедиться, что для учетной записи пользователя SA создан сложный пароль. Многие из вредоносных программ специально разработаны в расчете на то, что пользователь SA не имеет пароля. Нельзя оставлять пароль SA пустым или использовать легко угадываемые значения типа SA или password.
Основы SQL Server
Возможно, процесс управления SQL Server 2000 покажется вам не таким уж сложным, когда вы поймете, как работает продукт. SQL Server после установки содержит четыре системные базы данных (master, model, msdb и tempdb) и две пользовательские базы. База master, наверное, является самой важной из системных баз. Она включает таблицы, которые описывают все другие базы в системе и содержат информацию об учетных записях и параметрах безопасности. База model содержит шаблоны для всех новых баз. Все базы, создающиеся на сервере, наследуют все установки из базы model. База msdb используется SQL Server Agent для хранения информации о расписании заданий. В ней также хранится информация о резервных копированиях и репликациях. База tempdb хранит временные рабочие таблицы. Объекты в базе tempdb присутствуют до тех пор, пока пользователь, который создал их, зарегистрирован в системе.
Две пользовательские базы, Pubs и Northwind, задействованы в качестве примеров. База Pubs — база, структурирующая информацию в виде автор-публикация, содержит примеры информации о списке авторов, их книгах и издателях. База Northwind подобна учебной базе с тем же названием в Microsoft Access. Она содержит примеры информационных форм о продажах фиктивной компании Northwind Traders. Хотя Northwind не так велика по размеру, как обычные базы SQL, она больше, чем игрушечная база Pubs.
Если в обязанности администратора входит только управление SQL Server, а не создание новых баз, то в таком случае нет особой необходимости вникать в детали создания объектов баз данных. Обычно их формируют разработчики в IT-департаменте или поставщики приложений. Однако основные понятия об объектах ядра базы данных, базах данных, таблицах, индексах, представлениях, хранимых процедурах и триггерах могут помочь при решении возникающих проблем.
Базы данных. Базы данных содержат информацию, которую используют приложения. База SQL Server включает набор таблиц, представлений, индексов и хранимых процедур. Каждое из приложений обычно разработано так, что оно соединяется со своей базой. Выделенный SQL Server способен поддерживать множество баз данных (32 767 баз на сервер). База данных SQL Server может разрастаться до очень больших размеров. Максимальный размер базы составляет 1,048,516 Tбайт. Каждая база должна состоять, как минимум, из двух файлов — файла данных и файла журнала. Файл данных содержит таблицы, строки и столбцы информации. Файл журнала содержит все транзакционные операции (INSERT, UPDATE, DELETE), которые выполняли пользователи или приложения при работе с базой. Как уже упоминалось, чтобы гарантировать оптимальную производительность, никогда не следует располагать файлы данных и журнала на одном и том же диске работающей системы. Аналогично не рекомендуется располагать файлы данных и журнала на сжатых или шифрованных дисках.
Во время создания базы данных SQL Server использует копию базы model в качестве шаблона для новой базы. Можно задать максимальный объем, до которого может разрастаться база в мегабайтах или процентах от ее размера. Для большинства установок лучше выбрать режим auto-grow (автоматическое расширение), который позволяет базе при необходимости расширяться автоматически. Если администратор хорошо разбирается в особенностях имеющихся приложений, то примерно должен представлять ожидаемый рост и размеры базы. Тем самым можно избежать автоматического расширения базы во время ее активного использования, что может негативно сказаться на производительности всей системы.