SQL Server 2000 динамически выделяет и освобождает память по мере необходимости. Как правило, администратору не приходится указывать, сколько памяти надо выделить для SQL Server, хотя такая возможность все равно предусмотрена и в некоторых средах она бывает необходима. При работе нескольких экземпляров SQL Server на одном компьютере каждый экземпляр может динамически выделять и освобождать память в соответствии со своей загруженностью.
Главным назначением базы данных является хранение и поиск данных, поэтому выполнение многочисленных дисковых операций чтения/записи является одним из неотъемлемых атрибутов механизма баз данных. Дисковые операции ввода-вывода потребляют большой объем ресурсов, а их выполнение занимает относительного много времени. Значительная часть логики ПО реляционных СУБД служит для повышения эффективности операций ввода-вывода.
Компонент полнотекстовых запросов SQL Server 2000 поддерживает развитые возможности поиска в столбцах с символьными строками. Эта возможности реализуются службой Microsoft Search, которая выполняет две функции: поддержку индексации и поддержку запросов.
• Поддержка индексации. Служба реализует полнотекстовые каталоги и индексы, определенные для базы данных. Microsoft Search принимает определения пол нетекстовых каталогов, а также таблицы и столбцы, составляющие индексы каждого каталога Этот инструмент также реализует запросы на заполнение полнотекстовых индексов.
SQL Server 2000 управляет согласованностью и целостностью каждой базы данных при появлении ошибок. Любое приложение, обновляющее информацию в базе данных SQL Server, делает это с помощью транзакций. Транзакция - логическая единица работы, состоящая из последовательности операторов (выборки, добавления, обновления или удаления). Если во время транзакции не возникли ошибки, все изменения базы данных, сделанные в результате выполнения транзакции, становятся постоянными. Если ошибки есть, то в базу данных не вносится никаких изменений. Транзакция имеет несколько фаз.
В каждой новой версии SQL Server предпринимаются попытки автоматизировать повторяемые операции, которые выполняют администраторы баз данных, или вовсе отказаться от этих операций. В результате администраторы получают возможность уделять больше времени разработке баз данных и решению проблем, возникающих при доступе приложений к данным.
Любое приложение посылает все команды SQL Server 2000 на языке Transact-SQL. Transact-SQL содержит операторы, которые поддерживают любые виды административной работы, выполняемой в SQL Server. Эти операторы можно разбить на две категории.
• Язык определения данных/язык манипулирования данными. Язык определения денных (Data Definition Language. DDL) используется для определения всех объектов баз данных SQL и управления этими объектами. Язык манипулирования данными (Data Manipulation Language, DML) применяется для выборки, добавления, обновления и удаления данных в объектах, определенных с помощью DDL. DDL языка Transact-SQL, который используется для управления объектами, например базами данных, таблицами и представлениями, основан на операторах SQL-92 DDL (с расширениями). Для каждого класса объекта обычно имеются операторы CREATE, ALTER и DROP, например CREATE TABLE, ALTER TABLE и DROP TABLE. Права доступа контролируются операторами SQL-92 GRANT и REVOKE, а также оператором Transact-SQL DENY.