Как восстановить права администратора в MS SQL Server. Sql администрирование


Администрирование SQL Server 2000

Введение

SQL Server 2000 на сегодняшний день является эффективнейшим программным продуктом, который позволят работать со множеством баз данных. Выделяют два основных раздела работы с сервером, каждый из которых можно разделить на более мелкие блоки: администрирование; программирование.

Администрирование в свою очередь можно разделить на две части: администрирование собственно сервера и администрирование баз дан­ных. Так как тема курсовой работы - администрирование баз данных SQL Server 2000, то рассмотрим, прежде всего, именно администрирование баз данных.

Администрирование баз данных представляет собой от­дельную большую, едва ли не главную область работы с SQL Server 2000. Оно включает разработку структуры базы данных, ее реализацию, проектирование системы безопасности, создание пользователей базы данных, предоставление им прав доступа, создание объек­тов и т. д. Кроме того, администратор базы данных должен периодически созда­вать резервные копии, выполнять проверку целостности данных и следить за размером файлов как самой базы данных, так и журнала транзакций. Указан­ный список можно долго продолжать, так как область администрирования баз данных очень обширна и перечисление всех задач администрирования заняло бы очень много времени, поэтому остановимся на основных задачах администратора.

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

Существует множество технологий и методов разработки баз данных, рассмот­рение которых достойно отдельной большой работы. Для более детального знакомства с теорией реляционных баз данных и построением баз данных с использованием ER-диаграмм необходимо обратиться к специализированной литературе, посвя­щенной этим вопросам. Для понимания теории реляционных баз данных, кото­рая является доминирующей в настоящее время, необходимо хорошее знание математики, так как в основе реляционной модели данных лежат математичес­кие объекты.

В широком смысле слова база данных — это совокупность сведений о конкрет­ных объектах реального мира в какой-либо предметной области. Под предмет­ной областью принято понимать часть реального мира, подлежащего изучению для организации управления и, в конечном счете, автоматизации. Примером может служить предприятие, вуз и т. д. Создавая базу данных, пользователь стремится упорядочить информацию по различным признакам и быстро извле­кать нужные сведения с произвольным сочетанием признаков. Сделать это можно, только если данные структурированы.

База данных — поименованная совокупность взаимосвязанных данных, находящихся под управле­нием системы управления базами данных (СУБД). СУБД это комплекс программных и языковых средств, необходимых для создания баз данных, поддержания их в актуальном состоянии и орга­низации поиска в них необходимой информации.

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

Централизованный характер управления данными в базе данных предпола­гает существование некоторого лица (группы лиц), на которое возлагаются функ­ции администрирования данных, хранимых в базе.

Различают централизованные и распределенные базы данных. Распределенная база данных состоит из нескольких частей, хранимых в раз­личных ЭВМ вычислительной сети. Этот способ обработки подразумевает наличие нескольких серверов, на которых может храниться пересекающая­ся или даже дублирующаяся информация. Для работы с такой базой дан­ных используется система управления распределенными базами данных (СУРБД).

Централизованная база данных хранится в памяти одной вычислительной системы, то есть база данных располагается на одном компьютере. Если для это­го компьютера установлена поддержка сети, то множество пользователей с кли­ентских компьютеров могут одновременно обращаться к информации, хранящейся в центральной базе данных. В локальных сетях чаще всего исполь­зуется именно такой способ обработки данных. Системы централизованных баз данных могут существенно различаться в зависимости от их архитектуры.[1]

Администрирование SQL Server 2000

Файл-сервер

БД располагается на файл-сервере (или нескольких файл-сер­верах), в качестве которого может использоваться наиболее мощная из рабочих станций, объединенных в сеть. Функции файл-сервера заключаются, в ос­новном, в хранении БД и обеспечении доступа к ним пользователей, рабо­тающих на различных компьютерах. Файлы базы данных в соответствии с пользовательскими запросами передаются на рабочие станции, где в основ­ном и производится обработка. Переданные данные обрабатываются СУБД, которая находится опять же на компьютерах пользователей. После того как пользователи выполнят необходимые изменения данных, они ко­пируют файлы обратно на файл-сервер, где другие пользователи, в свою очередь, могут снова их использовать. Кроме того, каждый пользователь может создавать на локальном компьютере свои собственные базы данных, используемые им монопольно. Эта схема работает при не очень больших объемах данных. При увеличении числа компьютеров в сети или росте БД производительность резко падает. Это связано с увеличением объема дан­ных, передаваемых по сети, так как вся обработка происходит на компью­тере пользователя. Явным недостатком подобного подхода является высокая вероятность потери изменений, выполненных одними пользователями, при сохранении измененных файлов на центральный сервер.[2] Дело в том, что пользователи могут и не подозревать, что помимо них еще кто-то изменял данные. Примерами СУБД, предназначенными непосредственно для разра­ботки локальных пользовательских приложений БД, то есть приложений, работающих на одном локальном компьютере либо в компьютерной, сети являются: Microsoft Visual FoxPro, Microsoft Access,Paradox,fpr Windows, dBase for Windows и др.

Клиент-сервер. Технология клиент-сервер подразумевает, что помимо хра­нения базы данных центральный компьютер (сервер базы данных) должен обеспечивать выполнение основного объема обработки данных. При техно­логии клиент-сервер запрос на выполнение операции с данными (напри­мер, обычная выборка), выдаваемый клиентом (рабочей станцией), порождает на сервере поиск и извлечение данных. Извлеченные данные (но не фай­лы) транспортируются по сети от сервера к клиенту. Система, использующая технологию клиент-сервер, разделяется на две части: клиент­ская часть (front-end) обеспечивает графический интерфейс и находится на компьютере пользователя; серверная часть (back-end), которая находит­ся на специально выделенных компьютерах, обеспечивает управление дан­ными, разделение информации, администрирование и безопасность. Примерами СУБД технологии клиент-сервер являются Microsoft SQL Server, Oracle, IBM DB2, Sybase и др. Спецификой архитектуры клиент-сервер является использование специального языка структурированных запросов (Structured Query Language, SQL), обеспечивающего пользовате­ля простым и эффективным инструментом доступа к данным.[3]

Помимо подразделения баз данных по методам обработки можно классифици­ровать их по используемой модели (или структуре) данных. Модель данных — совокупность структур данных и операций по их обработке. С помощью модели данных можно наглядно представить структуру объектов и установленные меж­ду ними связи. Для терминологии моделей данных характерны понятия «эле­мент данных» и «правила связывания». Элемент данных описывает любой на­бор данных, а правила связывания определяют алгоритмы взаимосвязи элементов данных. К настоящему времени разработано множество различных моделей дан­ных, но на практике используется три основных. Выделяют иерархическую, сетевую и реляционную модели данных. Соответственно говорят об иерархичес­ких, сетевых и реляционных СУБД.

Иерархическая модель данных. Иерархически организованные данные встре­чаются в повседневной жизни очень часто. Например, структура высшего учеб­ного заведения — это многоуровневая иерархическая структура. Иерархичес­кая (древовидная) БД состоит из упорядоченного набора элементов. В этой модели исходные элементы порождают другие элементы, причем эти элементы в свою очередь порождают следующие элементы. Каждый порожденный эле­мент имеет только один порождающий элемент.

Организационные структуры, списки материалов, оглавление в книгах, пла­ны проектов и многие другие совокупности данных могут быть представле­ны в иерархическом виде. Автоматически поддерживается целостность ссы­лок между предками и потомками. Основное правило: никакой потомок не может существовать без своего родителя.

Основным недостатком данной модели является необходимость использова­ния той иерархии, которая была заложена в основу БД при проектировании. Потребность в постоянной реорганизации данных (а часто невозможность этой реорганизации) привели к созданию более общей модели — сетевой.

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

mirznanii.com

НОУ ИНТУИТ | Лекция | Администрирование Microsoft SQL Server

Аннотация: Гарантией того, что ваша система будет работать эффективно и правильно является грамотное администрирование и регулярное выполнение задач обслуживания баз данных. SQL Server содержит множество средств для автоматического конфигурирования, такие как динамическое управление памятью, пул памяти, использование дополнительной памяти, различные параметры. С помощью многочисленных параметров системной хранимой процедуры sp_configure можно активизировать/останавливать различные свойства. Необходимым фактором, влияющим на бесперебойную работы системы является план обслуживания, который следует тщательно настраивать и грамотно управлять. Знание системных хранимых процедур sp_createstats и sp_autostats помогут в решении повседневных задач.

Правильное конфигурирование ваших серверов SQL и регулярное выполнение задач обслуживания ваших баз данных – это ключ к достижению высокой эффективности работы. В этой лекции вы узнаете о средствах динамического конфигурирования Microsoft SQL Server 2000, которые помогают упростить процесс конфигурирования системы баз данных. Вы также узнаете, как использовать мастер Database Maintenance Plan Wizard для создания автоматизированного плана обслуживания ваших баз данных. Использование планов обслуживания – это отличный способ поддерживать ваши базы данных в рабочем состоянии.

Средства автоматического конфигурирования SQL Server

SQL Server содержит множество автоматических средств, предназначенных для снижения расходов, которые обычно связаны с конфигурированием и настройкой системы управления реляционными базами данных (RDBMS). В этом разделе вы ознакомитесь с некоторыми из этих средств. (Те, кто работал с Microsoft SQL Server 7, уже знают об этих средствах, поскольку они были введены именно в SQL Server 7.) Вы узнаете, как они действуют, как их использовать для облегчения вашей работы администратора баз данных (DBA) и как переопределять при необходимости эти автоматические средства.

Динамическое управление памятью

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

Как действует динамическое управление памятью

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

Компьютерная система, которая используется в основном как сервер базы данных SQL Server, вполне подходит для динамического управления памятью. В такой системе количество памяти, используемое процессами, отличными от SQL Server, стабильно, поэтому SQL Server будет автоматически выделять себе память, необходимую для своей эффективной работы вплоть до предела доступной физической памяти. Затем SQL Server будет поддерживать это количество, пока не потребуется память другим процессам. Если другому процессу действительно требуется память, SQL Server освобождает необходимое количество памяти, чтобы оно было доступно для другого процесса.

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

Таким образом, выбор между динамическим и ручным управлением памятью определяется степенью изменчивости использования памяти в системе. Применяя мониторинг использования памяти системой SQL Server, вы можете определить, изменяется ли количество используемой памяти каким-либо регулярным образом или остается достаточно стабильным. Для мониторинга использования памяти вы можете использовать Microsoft Windows 2000 Performance Monitor. Счетчик Total Server Memory (KB) внутри объекта SQLServer:Memory Manager показывает количество памяти в килобайтах (Кб), которое использует в данный момент SQL Server. Чтобы определить, как изменяется использование памяти в течение времени, следите за этим счетчиком в окне диаграмм (chart window).

Пул памяти

SQL Server динамически выделяет и освобождает память в пуле. Пул памяти содержит определенное количество памяти, которое разделяется между следующими компонентами:

  • Буферный кэш. Содержит страницы базы данных, считанные в память. Буферный кэш обычно забирает основную часть пула памяти.
  • Память для соединений. Используется каждым соединением с SQL Server. Память для соединений содержит структуры данных, с помощью которых отслеживается контекст каждого пользователя; это информация о позиционировании курсора, значения параметров очереди и информация хранимых процедур.
  • Структуры данных. Содержит глобальную информацию о блокировках и дескрипторах базы данных, включая информацию о владельцах блокировок, о типах захваченных блокировок, а также о различных файлах и группах файлов.
  • Кэш журнала. Используется для информации журнала, которая будет записана в журнал транзакций. Он также используется, когда происходит чтение последней информации, записанной в этот кэш. Использование кэша журнала повышает производительность операций записи в журналы. Кэш журнала не следует путать с буферным кэшем.
  • Кэш процедур. Используется для хранения планов исполнения операторов Transact-SQL (T-SQL) и хранимых процедур, когда происходит их выполнение.

Поскольку в случае использования динамического управления памятью распределение памяти динамически изменяется, пул памяти может все время увеличиваться или уменьшаться. Кроме того, указанные пять компонентов пула памяти тоже могут динамически изменять свои размеры. Это распределение недоступно для конфигурирования; управление осуществляет SQL Server. Например, когда требуется больше памяти, чтобы в кэше процедур можно было хранить больше операторов T-SQL, SQL Server может забирать часть памяти из буферного кэша и использовать ее для кэша процедур.

Использование дополнительной памяти

Количество памяти, доступной для SQL Server, зависит от используемой операционной системы Windows. Microsoft Windows NT Server 4 поддерживает 4 Гб памяти, 2 Гб из которых выделяется для пользовательских процессов и 2 Гб резервируется для использования системой. Это ограничение в 2 Гб представляет максимальное количество памяти, которое может быть выделено для SQL Server в NT 4.0. Но в системе Windows NT Server 4 Enterprise Edition количество виртуальной памяти, выделяемой для процесса, на 50 процентов больше – 3 Гб. Это увеличение стало возможным, так как память, выделенная для системы, была сокращена до 1 Гб. Такое увеличение виртуальной памяти, выделенной для процессов, позволяет вам увеличивать размер пула памяти до величины, близкой к 3 Гб. Чтобы активизировать эту поддержку в Windows NT 4 Enterprise Edition, вы должны добавить флаг /3GB к строке загрузки в файле Boot.ini, что можно сделать с помощью значка System (Система) в панели управления.

Имеется две версии операционной системы Windows 2000, в которых SQL Server 2000 Enterprise Edition может использовать интерфейс расширенной памяти Windows 2000 Address Windowing Extensions (AWE) API, поддерживающий адресные пространства большего размера. SQL Server поддерживает около 8 Гб в системе Windows 2000 Advanced Server и около 64 Гб в системе Windows 2000 Datacenter Server. AWE поддерживается только в этих двух операционных системах и не поддерживается в Windows 2000 Professional. (Для получения более подробной информации см. "Платформа Microsoft Windows 2000" этой книги и тему "Using AWE Memory on Windows 2000" [Использование AWE-памяти в Windows 2000] в Books Online.)

www.intuit.ru

SQL Server: основные концепции для администраторов Windows | Windows IT Pro/RE

Для тех, кто управляет SQL-сервером, но не различает таблицу и индекс

Далеко не всегда на предприятиях средних размеров существуют администраторы баз данных (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, поскольку зеркалирование требует вдвое большего дискового пространства по сравнению с объемом хранимых данных. Дисковые приводы SCSI превосходят по производительности и скорости приводы 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 (автоматическое расширение), который позволяет базе при необходимости расширяться автоматически. Если администратор хорошо разбирается в особенностях имеющихся приложений, то примерно должен представлять ожидаемый рост и размеры базы. Тем самым можно избежать автоматического расширения базы во время ее активного использования, что может негативно сказаться на производительности всей системы.

Таблицы. Таблица — основная форма хранения информации в реляционных базах данных. Таблицы содержат различные наборы информации. По существу, например, каждая строка в таблице покупателей будет содержать всю соответствующую информацию для выбранного покупателя. Обычно такая информация включает идентификатор покупателя (customer ID), имя, адрес и контактную информацию. Каждый отдельный фрагмент такой информации (например, номер покупателя) содержится в соответствующем столбце. Каждый столбец может хранить данные только заданного типа. Например, первый столбец в таблице покупателей может быть назван CustomerID. Тип содержащихся в нем данных будет определен как int; это будет означать, что в столбце сохраняются только целочисленные данные. Второй столбец с именем CustomerName может быть определен как varchar(40) - значит, в столбце сохраняются текстовые данные длинной до 40 символов.

Индексы. Основная причина использования индексов - ускорение выполнения запросов. Индексы — это один из выбранных столбцов таблицы. SQL Server использует два типа индексов: кластерные и некластерные. Кластерный индекс определяет порядок данных в таблице. Когда используется кластерный индекс, SQL Server упорядочивает строки в базовой таблице в соответствии с порядком, определяемым кластерными индексами. Каждая таблица может иметь только один кластерный индекс. Некластерные индексы не изменяют порядок строк базовой таблицы, они просто предоставляют альтернативный оптимизированный путь доступа к данным.

Удалить или добавить индексы можно без вмешательства в общую архитектуру базы данных. Хотя первоочередной целью использования индекса является увеличение скорости доступа к данным, использование чрезмерного количества индексов может дать противоположный результат. Когда индекс создан, SQL Server должен обслуживать его (т. е. поддерживать в актуальном состоянии), поскольку данные добавляются в таблицы базы. Процесс, обеспечивающий работу SQL Server, должен не только добавлять данные в таблицу, но и обновлять существующие индексы одновременно с новыми данными. Естественно, чем больше индексов вы создадите, тем дольше будет проходить процесс их обновления. Чрезмерное количество индексов может отрицательно повлиять на производительность всей системы. Одним из общих методов, которые могут улучшить выполнение пакетных заданий, является следующий. Сначала пишется сценарий, удаляющий перед выполнением задания все индексы. Затем пишется другой сценарий, который будет восстанавливать индексы по окончании процедуры. В SQL Server 2000 имеется мастер настройки индексов (Index Tuning Wizard), который анализирует запросы и предлагает индексы, способные улучшить производительность этих запросов.

Представления. Представление подобно виртуальной таблице или сохраненному запросу. Данные, которые доступны через это представление, не сохраняются в виде отдельного объекта базы данных. Вместо этого пользователь создает представление с помощью команды SQL SELECT. Когда запускается соответствующее представление, пользователь видит результаты работы функции SELECT. Представление обычно применяется для ограничения доступа пользователей к определенным столбцам или строкам в одной или более таблицах.

Хранимые процедуры и триггеры. Хранимые процедуры создаются с использованием кода на языке T-SQL. Хранимые процедуры являются основой большинства приложений баз данных. Триггер - это специальный тип хранимой процедуры, которая может быть подключена к таблице. Поскольку хранимые процедуры скомпилированы, они обеспечивают наилучшую производительность по сравнению с динамически выполняемыми процедурами SQL (код SQL, который программа генерирует перед выполнением команды SQL). Когда динамический код SQL выполняется на сервере, процесс, управляющий работой SQL Server, сначала анализирует и проверяет команду, гарантируя тем самым отсутствие ошибок в синтаксисе. Затем создается план, по которому будет осуществляться доступ к данным. Хранимые процедуры позволяют выполнить эту работу на этапе создания данной хранимой процедуры, а не динамически, в процессе работы приложения. Это дает хранимым процедурам значительное преимущество в производительности перед динамическим выполнением кода SQL при работе приложения. SQL Server имеет функцию кэширования запросов. Он может кэшировать отдельные фрагменты динамического кода SQL на определенное время. Однако кэширование не дает никаких гарантий того, что необходимый динамический код все еще будет присутствовать в кэше при следующем его использовании.

Подобно хранимым процедурам, код T-SQL используется и для создания триггеров. В отличие от хранимых процедур, которые могут выполняться любыми пользователями, имеющими необходимые права на эту хранимую процедуру, триггеры запускаются исключительно самой базой данных. Они связываются с таблицами с помощью процедуры CREATE TRIGGER. Кроме того, они запускаются в тот момент, когда над таблицей производятся определенные действия, такие как INSERT, UPDATE или DELETE. Администраторы баз данных обычно используют триггеры для обеспечения целостности ссылок. У вас имеется возможность выполнить последовательные операции удаления DELETE в таблицах, на которые ссылаются строки ссылающейся таблицы. Код триггера запускается только после проверки SQL Server целостности, включая проверки целостности ссылок.

Теперь самое время остановиться и подвести некоторые итоги. Сейчас вы должны знать критерии, по которым выбирают необходимый объем оперативной памяти, и как лучше создать дисковую подсистему SQL Server. Необходимо также понимать назначение основных компонентов SQL Server. Во второй части статьи я более подробно остановлюсь на внутреннем устройстве SQL Server для того, чтобы облегчить вашу работу по совместительству в качестве администратора базы данных.

Майкл Оти - Старший технический редактор Windows & .NET Magazine и президент компании TECA. С ним можно связаться по адресу: [email protected]

www.osp.ru

Администрирование MS SQL Server 2000

В настоящее время объемы информации все время возрастают. Наиболее удобным способом хранения информации, на основе опыта нескольких десятилетий, был признан способ хранения информации в виде баз данных.

База данных – это, прежде всего, хранилище объектов данных, т.е. набора возможных понятий или событий, описываемых базой данных. Вместе с этим основными функциями БД являются систематизация информации (знаний) и возможность взаимосвязи объектов между собой.

Современные СУБД, в основном, являются приложениями Windows, так как данная среда позволяет более полно использовать возможности персональной ЭВМ, нежели среда DOS. Снижение стоимости высокопроизводительных ПК обусловило не только широкий переход к среде Windows, где разработчик программного обеспечения может в меньше степени заботиться о распределении ресурсов, но также сделало программное обеспечение ПК в целом, и СУБД в частности, менее критичными к аппаратным ресурсам ЭВМ. Среди наиболее ярких представителей систем управления базами данных можно отметить: Lotus Approach, Microsoft Access, Borland dBase, Borland Paradox, Microsoft Visual FoxPro, Microsoft Visual Basic, а также баз данных Microsoft SQL Server и Oracle, используемые в приложениях, построенных по технологии "клиент-сервер".

Microsoft SQL Server 2000 — это семейство продуктов, разработанных для хранения данных в больших системах, осуществляющих обработку информации, и обслуживания коммерческих Web-узлов. Основной используемый язык запросов - Transact-SQL, создан совместно Microsoft и Sybase. Transact-SQL является реализацией стандарта ANSI/ISO по структурированному языку запросов (SQL) с расширениями. Используется для работы с БД размером от персональных до крупных баз данных масштаба предприятия; конкурирует с другими СУБД в этом сегменте рынка. SQL Server 2000 прост и удобен в использовании, он широко применяется как в сложных системах, с которыми работают сотни пользователей, так и в малом бизнесе. Он популярен также у отдельных пользователей, которым нужен надежный и удобный сервер БД. В состав SQL Server 2000 входят две основные службы, предназначенные для новой платформы Microsoft.NET и систем с традиционной двухуровневой клиент-серверной архитектурой. Первая служба, SQL Server — это высокопроизводительное реляционное ядро БД, обеспечивающее прекрасную масштабируемость систем, созданных на его основе. Вторая — SQL Server 2000 Analysis Services — предоставляет множество средств анализа данных, которые размещаются в специальных хранилищах и киосках данных и используются системами принятия решений.

Microsoft SQL Server 2000 – это реляционная система управления базой данных. В реляционных базах данных данные хранятся в таблицах. Взаимосвязанные данные могут группироваться в таблицы, кроме того, могут быть установлены также и взаимоотношения между таблицами. Отсюда и произошло название реляционные – от английского слова relational (родственный, связанный отношениями, взаимозависимый). Пользователи получают доступ к данным на сервере через приложения, а администраторы, выполняя задачи конфигурирования, администрирования и поддержки базы данных, производят непосредственный доступ к серверу. SQL Server является масштабируемой базой данных, это значит, что она может хранить значительные объемы данных и поддерживать работу многих пользователей, осуществляющих одновременный доступ к базе данных.

Администраторы баз данных SQL Server могут иметь самые разнообразные обязанности по конфигурированию оборудования, инсталляции систем, настройки аппаратного и программного обеспечений, безопасности, работы сети. Рассмотрим подробнее администрирование базы данных MS SQL Server в данной курсовой работе.

В данной работе рассматривается тема "Администрирование базы данных MS SQL". Инструменты администрирования MS SQL Server предоставляют широкие возможности для управления серверами баз данных, оптимизации запросов и разрешения возникающих проблем. MS SQL Server наделен также множеством функций автоматизации рутинных задач администрирования, которые обычно связаны с конфигурированием СУБД.

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

1.1 Управление работой служб SQL Server 2000

SQL Server 2000 реализован в виде набора служб. Поэтому, прежде чем пользователи смогут выполнять любые действия с SQL Server 2000, необходимо запустить соответствующие службы. Только после этого пользователи смогут устанавливать соединение с серверов, выполнять запросы, хранимые процедуры или администрировать сервер. Каждая служба операционной системы запускается с правами определенной учетной записи. В качестве такой учетной записи может выступать пользователь домена, локальный пользователь или учетная запись локальной системы. Службы SQL Server 2000 могут работать как под одной, так и под разными учетными записями. Запуск служб может выполняться как вручную пользователем, так и автоматически операционной системой.

1.1.1 Утилита SQL Server Service Manager

Утилита SQL Server Service Manager позволяет запретить или разрешить автоматический запуск той или иной службы при загрузке операционной системы. Единственной задачей утилиты является предоставление пользователю удобного механизма запуска, остановки и приостановки служб SQL Server 2000.

В нормальном состоянии утилита Service Manager представлена значком в правой части панели задач. Двойной щелчок на значке приведет к открытию окна программы (Рисунок 1)* .

В верхней части окна находятся два раскрывающихся списка. Первый из них, Server, содержит список имен серверов сети, на которых был обнаружен SQL Server 2000. Если на сервере имеется более одной инсталляции SQL Server 2000, то каждая из них представлена отдельным пунктом списка.

После того, как в списке Server будет выбран нужный сервер, в списке Services будут перечислены службы, установленные на выбранном SQL Server 2000. Для управления работой конкретной службы необходимо сначала выбрать ее в списке Services. После этого в правой нижней части окна отобразится состояние службы — запущена, приостановлена или остановлена. В зависимости от текущего состояния службы зависит и список доступных кнопок. Например, для запущенной службы доступна кнопка приостановки (Pause) и остановки (Stop), тогда как для остановленной службы доступна только кнопка запуска службы (Start/Continue).

mirznanii.com

НОУ ИНТУИТ | Лекция | Введение в администрирование MySQL

Аннотация: Эта лекция является вводной. В ней представлено описание всех основных вопросов,которыми необходимо владеть для успешного выполнения задач по администрированию инсталляцией MySQL. Она же включает краткий обзор всех обязанностей администратора

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

Однако и полностью без управления MySQL работать также не может. Администратор должен хотя бы иногда проверять согласованность и эффективность ее работы и знать, что делать при возникновении проблем. Вся эта информация представлена далее

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

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

Уже имеющие опыт работы администраторы могут заметить, что администрирование MySQL подобно администрированию других систем управления базами данных. Опыт администрирования других систем просто неоценим. В то же время, администрирование MySQL имеет свои уникальные особенности, которые и описываются в этом курсе.

Обзор задач администрирования

СУБД MySQL состоит из нескольких основных компонентов. Знание их сути и предназначения поможет лучше понять природу управляемой системы и принципы работы различных ее средств. Настоятельно рекомендуется потратить немного времени, чтобы хорошенько разобраться в представленном далее материале. Это значительно упростит дальнейшую работу. В частности, необходимо вникнуть в следующие аспекты работы MySQL.

  • Сервер MySQL. Сервер mysqld выполняет все операции с базами данных и таблицами. Для запуска сервера, мониторинга его работы и перезапуска в случае сбоя применяется программа safe_mysqld (демон)
  • Клиентские программы и утилиты MySQL. Для взаимодействия с сервером и выполнения ряда административных задач используются различные программы MySQL, наиболее важными среди которых являются следующие:
    • mysql. Интерактивная программа, позволяющая отправлять SQL-запросы на сервер и просматривать результаты их выполнения.
    • mysqladmin. Административная программа, позволяющая выполнять такие операции, как завершение работы сервера, создание и удаление баз данных. Эту же программу можно применять для проверки состояния сервера, если что-то в его работе не так.
    • isamchk или myisamchk. Утилиты, предназначенные для анализа и оптимизации таблиц, а также восстановления их в случае повреждения.
    • mysqldump. Средство резервирования баз данных или их копирования на другой сервер.
  • SQL - язык сервера. Некоторые задачи администрирования можно выполнить только с помощью утилиты командной строки mysqladmin. Иногда гораздо эффективней справиться с задачей может администратор, который может "общаться" с сервером на его языке. Предположим, что необходимо проверить, почему привилегии пользователя работают вовсе не так, как ожидается. Напрямую "поговорить" с сервером на человеческом языке, к сожалению, нельзя. Зато можно воспользоваться программой-клиентом mysql и послать SQL-запрос для анализа таблиц разрешений.

Незнакомым с операторами SQL пользователям следует разобраться по крайней мере в базовых принципах их работы. Незнание SQL - достаточно серьезное препятствие, и время, затраченное на изучение этого языка, окупится очень быстро. Конечно, чтобы стать настоящим "знатоком SQL", придется напряженно учиться и достаточно долго практиковаться. Познакомиться же с основами этого языка можно за весьма короткий промежуток времени. Более детально о языке SQL и использовании клиентской программы, работающей с командной строкой, рассказывается в курсе "Введение в MySQL".

  • Каталог данных MySQL. Каталог данных используется сервером для хранения баз данных и файлов состояния. Важно понимать структуру и содержимое каталога данных, чтобы знать, как сервер представляет свои базы данных и таблицы в файловой системе, где хранятся различные файлы (например, регистрационные) и что в них содержится. Необходимо также уметь управлять распределением дискового пространства, чтобы избежать переполнения раздела с каталогом данных.

www.intuit.ru

Получение прав администратора в MS SQL Server

Как восстановить права администратора в MS SQL Server

Если вы хотите подключиться к SQL Server, а пароль SA успешно забыт и нет ни одного пользователя с правами администратора, не строит расстраиваться. При наличии у пользователя прав локального администратора в операционной системе есть возможность получить административные права и на SQL Server.

Для восстановления справедливости 🙂 запускаем командную консоль с правами администраторы. Затем останавливаем службу SQL Server:

net stop mssqlserver

С помощью ключа /m запускаем службу SQL Server в однопользовательском режиме (single user mode):

net start mssqlserver /m

Примечание. В однопользовательском режиме любой член группы локальных администраторов имеет на экземпляре SQL Server права администратора.

Запускаем утилиту sqlcmd с правами текущего пользователя:

sqlcmd -E

Если необходимо подключиться к именованному экземпляру SQL Server, то указываем его имя с помощью ключа -S, например так:

sqlcmd -E -S <ServerName>\<InstanceName>

или так:

sqlcmd -E -S .\<InstanceName>

Теперь добавляем пользователя (доменного или локального) в базу данных пользователей SQL Server, например:

CREATE LOGIN [SRV1\Kirill] FROM WINDOWS GO

и назначаем этому пользователю права администратора SQL Server:

EXEC sp_addsrvrolemember ‘SRV1\Kirill’, ‘sysadmin’ GO

Выходим из sqlcmd и рестартуем службу SQL Server в нормальном режиме:

net stop mssqlserver && net start mssqlserver

 

После этого можно запускать Management Studio, подключаться к SQL серверу и выполнять необходимые действия. Подобным образом можно получить права администратора на всех более-менее актуальных на сегодняшний день версиях MS SQL Server, начиная с 2008  и заканчивая 2014.

windowsnotes.ru

НОУ ИНТУИТ | Лекция | Введение в администрирование MySQL

Аннотация: Эта лекция является вводной. В ней представлено описание всех основных вопросов,которыми необходимо владеть для успешного выполнения задач по администрированию инсталляцией MySQL. Она же включает краткий обзор всех обязанностей администратора

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

Однако и полностью без управления MySQL работать также не может. Администратор должен хотя бы иногда проверять согласованность и эффективность ее работы и знать, что делать при возникновении проблем. Вся эта информация представлена далее

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

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

Уже имеющие опыт работы администраторы могут заметить, что администрирование MySQL подобно администрированию других систем управления базами данных. Опыт администрирования других систем просто неоценим. В то же время, администрирование MySQL имеет свои уникальные особенности, которые и описываются в этом курсе.

Обзор задач администрирования

СУБД MySQL состоит из нескольких основных компонентов. Знание их сути и предназначения поможет лучше понять природу управляемой системы и принципы работы различных ее средств. Настоятельно рекомендуется потратить немного времени, чтобы хорошенько разобраться в представленном далее материале. Это значительно упростит дальнейшую работу. В частности, необходимо вникнуть в следующие аспекты работы MySQL.

  • Сервер MySQL. Сервер mysqld выполняет все операции с базами данных и таблицами. Для запуска сервера, мониторинга его работы и перезапуска в случае сбоя применяется программа safe_mysqld (демон)
  • Клиентские программы и утилиты MySQL. Для взаимодействия с сервером и выполнения ряда административных задач используются различные программы MySQL, наиболее важными среди которых являются следующие:
    • mysql. Интерактивная программа, позволяющая отправлять SQL-запросы на сервер и просматривать результаты их выполнения.
    • mysqladmin. Административная программа, позволяющая выполнять такие операции, как завершение работы сервера, создание и удаление баз данных. Эту же программу можно применять для проверки состояния сервера, если что-то в его работе не так.
    • isamchk или myisamchk. Утилиты, предназначенные для анализа и оптимизации таблиц, а также восстановления их в случае повреждения.
    • mysqldump. Средство резервирования баз данных или их копирования на другой сервер.
  • SQL - язык сервера. Некоторые задачи администрирования можно выполнить только с помощью утилиты командной строки mysqladmin. Иногда гораздо эффективней справиться с задачей может администратор, который может "общаться" с сервером на его языке. Предположим, что необходимо проверить, почему привилегии пользователя работают вовсе не так, как ожидается. Напрямую "поговорить" с сервером на человеческом языке, к сожалению, нельзя. Зато можно воспользоваться программой-клиентом mysql и послать SQL-запрос для анализа таблиц разрешений.

Незнакомым с операторами SQL пользователям следует разобраться по крайней мере в базовых принципах их работы. Незнание SQL - достаточно серьезное препятствие, и время, затраченное на изучение этого языка, окупится очень быстро. Конечно, чтобы стать настоящим "знатоком SQL", придется напряженно учиться и достаточно долго практиковаться. Познакомиться же с основами этого языка можно за весьма короткий промежуток времени. Более детально о языке SQL и использовании клиентской программы, работающей с командной строкой, рассказывается в курсе "Введение в MySQL".

  • Каталог данных MySQL. Каталог данных используется сервером для хранения баз данных и файлов состояния. Важно понимать структуру и содержимое каталога данных, чтобы знать, как сервер представляет свои базы данных и таблицы в файловой системе, где хранятся различные файлы (например, регистрационные) и что в них содержится. Необходимо также уметь управлять распределением дискового пространства, чтобы избежать переполнения раздела с каталогом данных.

www.intuit.ru