Служби SQL Server

SQL Server-щось більше, ніж просто ядро ​​реляційної бази даних Це набір служб і компонентів, повязаних з базами даних, які можуть спільно використовуватися для побудови потужних рішень для кінцевого користувача (рис 33)

Реляційне ядро

Реляційне ядро ​​SQL Server 2005, іноді зване ядром бази даних, є серцем SQL Server Це процес, що підтримує всю реляционную роботу бази даних SQL – декларативний мову, тобто він описує ядру бази даних запит, який той повинен виконати Саме він змушує працювати цей механізм

Рис 33 SQL Server – це набір серверних і клієнтських компонентів

SQL Server підтримує установку до пятдесяти примірників реляційного ядра на одному фізичному сервері Незважаючи на те що всі встановлені екземпляри спільно використовують деякі компоненти, кожен екземпляр функціонує як повноцінна установка SQL Server

З виходом пакету оновлень SP2 покращене кешування плану запиту Увага забезпечує підвищену продуктивність системи, а також більш ефективне використання оперативної памяті для сторінок бази даних Також забезпечується можливість повернення текстових планів запитів XML, що містять більше вкладених рівнів XML, ніж 128 При цьому використовується нова таблична функція sys Dm_exec_text_query_plan

У реляційному ядрі існує кілька ключових процесів і компонентів, в тому числі наступні

■ Оптимізатор запитів (Query Optimizer) Визначає, як обробляти запит, грунтуючись на відносних витратах, які тягне за собою виконання певних типів операцій Оцінений і фактичний плани виконання запиту можна переглянути в графічному поданні або у формі XML за допомогою утиліти Management Studio (SSMS)

■ Диспетчер буфера (Buffer Manager) Аналізує використовувані сторінки даних і попередньо завантажує певні фрагменти файлів даних в память, знижуючи таким чином залежність від продуктивності операцій введення-виведення на диск

■ Lazy Writer Записує сторінки даних, які були змінені в памяті, у файл даних

■ Монітор ресурсів (Resource Monitor) Оптимізує кеш планів запитів відповідно з навантаженням на память і вибірково видаляє з нього старі плани

■ Диспетчер блокувань (Lock Manager) Динамічно управляє безліччю блокувань, виконуючи балансування кількості витребуваних блокувань з їх розмірами

■ SQL Server поглинає ресурси компютера, тому йому потрібен прямий контроль за доступними ресурсами (памяттю, потоками, запитами на введення-виведення тощо) Віддати управління ресурсами на відкуп операційній системі зовсім не складно для SQL Server 2005 Вона містить власний рівень ОС, званий SQLOS, який управляє усіма внутрішніми ресурсами

СУБД SQL Server пройшла довгий шлях з 1987 року, коли компанія Sybase створила SQL Server для Unix З тих пір СУБД пережила безліч версій і обросла новими технологіями Якщо вам цікаво прочитати про історії SQL Server, про різних кодових назвах бета-версій, еволюції реалізованих технологій, побачити копії екранів минулих версій, відвідайте спеціальну сторінку SQL Server History за адресою www SQLServerBible com

З виходом пакету оновлень SP1 було активізовано дзеркальне відображення баз даних воно підтримується також і в промислових реалізаціях

Плани обслуговування тепер підтримуються установкою служби SQL Server Увага Database До виходу пакету оновлень SP2 для запуску плану обслуговування в серверних установках була потрібна інсталяція служби інтеграції SQL Server 2005

Transact-SQL

СУБД SQL Server заснована на стандарті SQL з деякими доданими компанією Mictrosoft розширеннями Стандарт SQL вперше був введений доктором Коддом в 1971 році, коли він працював у дослідницькій лабораторії ЮМ в Сан-Хосе СУБД SQL Server 2005 в своїй основі сумісна зі стандартом ANSI SQL-92 Повна специфікація стандарту ANSI SQL розміщена в пяти документах, які можна придбати на сайті wwwtechstreetcom/ ncitshtml

Хоча стандарт ANSI SQL можна назвати ідеальним для команд загального призначення відбору та визначення даних, в нього не входять команди, призначені для керування властивостями SQL Server і логічного керування пакетами, необхідні для створення специфічних для додатків SQL Server Виходячи з цього, команда Microsoft SQL Server розширила специфікацію ANSI SQL рядом нових команд, а деякі команди реалізувала дещо по-своєму Результатом стала мова Transact-SQL, або, скорочено, Т-SQL, – діалект SQL, розпізнаваний SQL Server

У T-SQL немає деяких команд ANSI SQL (таких, як визначення каскадних зовнішніх ключів, обробки порожніх значень і замовчувань) в основному тому, що компанія Microsoft реалізувала ці функції інакше За замовчуванням Т-SQL дещо по-іншому, ніж вимагає стандарт ANSI, обробляє порожні значення, лапки і заповнення, але цим режимом можна управляти Грунтуючись на своєму особистому досвіді, можу сказати, що жодне з цих відмінностей не впливає на процес розробки додатків для SQL Server T-SQL набагато більше додав в стандарт ANSI SQL, ніж проігнорував в ньому

Щоб освоїти SQL Server, потрібно ознайомитися з мовою Т-SQL, оскільки ядро ​​SQL Server розуміє тільки цю мову Будь-яка команда, що посилається серверу, повинна підтримувати правила цієї мови Пакети збережених команд Т-SQL можуть виконуватися на сервері як збережені процедури Інші інструменти, такі як Management Studio, що реалізують графічний інтерфейс користувача, дозволяють управляти сервером, перетворюючи клацання мишею на певних інструментах у відповідні команди Т-SQL, що відправляються ядру бази даних

Команди SQL і Т-SQL можна розбити на три категорії

■ Мова маніпулювання даними (Data Manipulation Language – DML) Включає в себе популярні інструкції SQL select, insert, update і delete DML іноді помилково називають мовою модифікації даних (Data Modification Language), але це невірно, оскільки інструкція select дані не модифікує, а витягує

■ Мова визначення даних (Data Definition Language – DDL) Містить інструкції, що створюють і модифікуючі таблиці даних, обмеження та інші обєкти бази даних

■ Мова керування даними (Data Control Language – DCL) Містить інструкції управління системою безпеки, такі як grant, revoke і deny

Visual Studio і CLR

Одним з найбільш вражаючих нововведень є можливість спільної роботи систем Visual Studio і SQL Server 2005 Незважаючи на те що і в минулому ці системи перебували в тісному звязку, зараз інтеграція Visual Studio 2005 і SQL Server 2005 сильніше, ніж будь-коли раніше Ці два продукти розроблялися і були виведені на ринок одночасно, і це відразу видно Утиліта Management Studio заснована на інтегрованої середовищі розробки (ГОЕ) пакета Visual Studio Однак інтеграція сильніше, ніж на перший погляд видно по утиліті Management Studio Внутрішня операційна система пакета SQL Server 2005, SQLOS, на самому справі управляє загальномовним інтерпретатором NET (CLR) всередині SQL Server

Збірки, створені в Visual Studio, можуть бути розгорнуті і запущені в SQL Server в якості збережених процедур, тригерів, визначених користувачем звичайних або агрегатних функцій До того ж типи даних, створені в Visual Studio, можуть використовуватися для визначення таблиць і зберігання додаткових даних

Досить важливо те, що в SQLOS підтримується CLR Це означає, що SQL Server управляє ресурсами CLR СУБД може вирішити проблеми CLR, завершити виконання і перезапустити процедуру CLR, яка стала джерелом проблем, і гарантувати, що у вічній війні за память переможе потрібний гравець

За замовчуванням загальний інтерпретатор мов CLR в SQL Server 2005 відключений Але при бажанні його можна спеціально включити за допомогою утиліти Surface Area Configuration Tool або команди T-SQL set Коли інтерпретатор включений, стан будь-якої збірки або здатність доступу до програм поза SQL Server буде ретельно контролюватися

Інтеграція з середовищем NET буде розглянута в розділі 27 і 29

Брокер служб

Вперше зявився у версії SQL Server 2005 брокер служб (Service Broker) управляє асинхронними чергами даних, підтримуючи ключові засоби продуктивності і масштабованості і балансуючи завантаження протягом часу

■ Брокер служб може буферизувати великі обсяги викликів Web-служб HTTP або збережених процедур Замість того щоб виклик тисячі Web-служб запустив одночасно на виконання тисячу потоків збережених процедур, ці виклики поміщаються в чергу, і збережені процедури можуть бути викликані декількома екземплярами SQL Server, що більш ефективно розподілить навантаження

■ Серверні процеси, що містять складну логіку або періоди сильного навантаження, можуть помістити необхідні дані в чергу і повернути їх зухвалому процесу без порушення логіки Брокер служб може провести через чергу виклик іншої процедури, що зберігається, яка візьме на себе основне навантаження

Незважаючи на те що в SQL Server можна створити власні черги, існує ряд переваг у використанні стандартних робочих черг Microsoft SQL Server містить команди DDL, керуючі брокером служб є команди Т-SQL, що поміщають дані в чергу і извлекающие їх з неї Інформація про черги брокера служб представлена ​​в метаданих уявлень, а також в утилітах Management Studio і System Monitor Найбільш важливо те, що брокер служб грунтовно протестований і спроектований спеціально для систем з виключно великим навантаженням

Додаткова Брокер служб є ключовою службою при створенні сховищ даних з інформація архітектурою, орієнтованої на служби Більш повну інформацію з цього питання ви знайдете в розділі 32

Служба реплікацій

Дані SQL Server часто потрібні в просторі трансконтинентальних корпорацій та інших глобальних організацій, і при цьому для переміщення даних часто використовують реплікації SQL Server Доповнена новими інструментами, служба реплікацій SQL Server 2005 може переміщати транзакції в односторонньому напрямку, а також обєднувати поновлення з багатьох місць за допомогою топології видавця, розповсюджувача, передплатника

Додаткова У главі 39 описані різні моделі реплікації і методи їх налаштування

інформація

Повнотекстовий пошук

Повнотекстовий пошук існував в SQL Server з версії 7, але в кожній наступній версії цей прекрасний інструмент поліпшувався Для швидкого пошуку рядків запити SQL Server використовують індекси За замовчуванням індекс будується по всьому стовпцю Пошук окремих слів всередині стовпців являє собою дуже повільний процес Повнотекстовий пошук (Full-Text Search) вирішив цю проблему, індексуючи кожне з слів у стовпці

Коли повнотекстовий пошук був розроблений для стовпців, запити SQL Server отримали можливість використовувати при пошуку повнотекстові індекси і швидко знаходити в рядках окремі слова

Додаткова У главі 13 ви дізнаєтеся, як налаштувати і використовувати повнотекстовий пошук в інформація запитах SQL

Служба Microsoft Search Service, що виконує повнотекстовий пошук, насправді є компонентом операційної системи і призначена для пошуку тексту в файлах SQL Server при виконанні повнотекстового пошуку бере на озброєння саме цю службу Ця служба може бути зупинена і запущена в утиліті SQL Server Configuration Manager або в консолі Служби панелі управління Windows

Служба повідомлень

Спочатку випущена в 2003 році в якості надбудови для SQL Server 2000, служба повідомлень (Notification Service) може бути запрограмована для відправки повідомлень при виникненні певних подій з даними Повідомлення можуть надсилатися практично на будь-який пристрій, в тому числі на пейджери, мобільні телефони та електронною поштою Типовим додатком служби повідомлень може бути система повідомлень на транспортних вузлах, яка автоматично інформує пасажирів про зміну в розкладі та затримки рейсів

Обєкти управління сервером (SM0)

Server Management Objects (SMO) – це набір обєктів, який відкриває функції конфігурування та управління SQL Server для програмування за допомогою коду NET Обєкти SMO ​​не призначені для розробки додатків баз даних – вони використовуються виробниками при розробці інструментарію SQL Server, такого як утиліта Management Studio, сторонні інтерфейси управління або утиліти резервного копіювання SMO використовує простір імен MicrosoftSQLServerSMO

Обєкти SMO ​​замінили старі обєкти SQL-DMO, що існували у версії Новинка ^ SQL Server 7 і SQL Server 2000 Обєкти SMO ​​мають зворотну сумісність 2005 з SQL Server 7 і SQL Server 2000

SQL Server Agent

SQL Server Agent являє собою додатковий процес, який виконує завдання SQL і обслуговує інші автоматизовані завдання Він може бути налаштований для автоматичного запуску при завантаженні системи також він може запускатися вручну з утиліт SQL Server Configuration Manager і SQL Server Surface Area Configuration Tool

Додаткова У главі 38 ви докладніше дізнаєтеся про це та інші агентах SQL Server, а також інформація про завдання і поштову службу

Координатор розподілених транзакцій

Координатор розподілених транзакцій (Distributed Transaction Coordinator-DTC) являє собою процес, що підтримує двофазні підтвердження для транзакцій, які охоплюють кілька серверів Процес DTC може бути запущений з консолі служб панелі управління Windows Якщо додаток регулярно використовує розподілені транзакції, то краще конфігурувати DTC для автоматичного запуску при завантаженні операційної системи

. Додаткова У главі 15 ви дізнаєтеся, що таке двухфазное підтвердження та розподілені інформація транзакції

SQL Mail

Компонент SQL Mail дозволяє серверу відправляти електронні повідомлення на зовнішній поштовий ящик по протоколу SMTP Поштові повідомлення можуть генеруватися безліччю джерел в SQL Server, в тому числі кодом Т-SQL, завданнями, попередженнями, службою інтеграції та планами обслуговування

Додаткова У главі 38 буде показано, як налаштувати профіль електронної пошти для SQL інформацій Server і відправляти повідомлення

Джерело: Нільсен, Пол Microsoft SQL Server 2005 Біблія користувача : Пер з англ – М: ООО ІД Вільямс , 2008 – 1232 с : Ил – Парал тит англ

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*