SQL.RU
 client/server technologies
 Главная | Документация | Статьи | Книги | Форум | Опросы | Гостевая | Рассылка | Работа | Поиск | FAQ |
   
#292<<  #293  >>#294

СОДЕРЖАНИЕ

1.СТАТЬИ
1.1.Архитектура подсистемы хранилища SQL Server 2000
1.2.Руководство по работе с Microsoft SQL Server 2000 Analysis Services (продолжение)
2.ССЫЛКИ НА СТАТЬИ
2.1.Статьи на русском языке
2.2.Англоязычные статьи
3.ФОРУМ SQL.RU
3.1.Самые популярные темы недели
3.2.Вопросы остались без ответа
4.КНИГИ
4.1.Системы управления базами данных. Учебное пособие
Идеи и пожелания к любым версиям SQL Server Вы можете направить по адресу:
mssqlwish@sql.ru

СТАТЬИ

Архитектура подсистемы хранилища SQL Server 2000

По материалам статьи Cathan Cook: Database Architecture: The Storage Engine

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

Введение

Эта статья описывает новшества подсистемы хранилища Microsoft SQL Server 2000 и предлагает рекомендации по их использованию, разъясняя при этом как это работает в подсистеме хранилища. Понимание основ внутренней организации работы подсистемы хранилища может помочь Вам получить больше преимуществ в использовании SQL Server.
Сегодня всё больше и больше востребованы масштабируемые приложения баз данных, которые требуют быстрой разработки, и потом постоянно развиваются следуя изменяющимся бизнес - правилам. Требования к масштабируемости, доступности и к простоте использования вынуждают делать подсистему хранилища ядра базы данных более гибкой и адаптивной.
Разные издания SQL Server 2000 охватывают большое разнообразие систем, от крошечной мобильной системы для карманных компьютеров, до высокопроизводительных многотерабайтных OLTP или OLAP систем, запускаемых на кластерах Windows 2000 Datacenter Server. Все эти критические с точки зрения бизнеса системы обладают необходимым уровнем гибкости, безопасности и надежности.
Вы можете смело разворачивать приложения на базе SQL Server 2000 даже в таких проектах, которые не имеют чётко обозначенных целей и без чётко очерченных размеров, т.к. подсистема хранилища будет сама адаптироваться к изменениям, за счёт внутренних интеллектуальных механизмов и автоматизации своих операций, а очень сложная архитектура будет обеспечивать высокую производительность, доступность и масштабируемость.

Доступность

Надежность и параллелизм были повышены за счёт новых алгоритмов физического взаимодействия с файлами. Эти алгоритмы устраняют необходимость выполнять в рамках планового обслуживания консольные команды базы данных (DBCC). Однако, DBCC все еще остаются доступными, и такие новые команды, как DBCC CHECK могут быть выполнены без прерывания интерактивной работы пользователей.

Масштабируемость

Подсистема хранилища, которая работает с физическими файлами баз данных и учитывает их размещение на дисках, поддерживает масштабирование от очень маленьких до очень больших баз данных. SQL Server 2000 может поддержать до 64 Гб физической памяти (ОЗУ) и до 32 процессоров.

Простота использования

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

Расширения подсистемы хранилища

Реляционный сервер базы данных SQL Server 2000 имеет два главных узла: реляционная подсистема и подсистема хранилища. Эти две подсистемы работают независимо, взаимодействуя друг с другом посредством собственных компонент доступа к данным, таких, как OLE DB. Реляционная подсистема использует интерфейс подсистемы хранилища, который состоит из сервисов, позволяющих взаимодействовать с основными компонентами хранилища базы данных и задействовать их возможности.

Основные задачи подсистемы хранилища:

  • Обеспечение функциональности, позволяющей улучшить и облегчить использование и управление компонентами хранилища;

  • Управление буферизацией данных и всего ввода-вывода физических файлов;

  • Контроль параллелизма, управления транзакциями, блокировок и журналирования;

  • Управление файлами и физическими страницами, используемыми для хранения данных;

  • Восстановление после системных ошибок.

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

Описание Особенности и преимущества
Application lock manager - менеджер блокировок приложения Если у Вас есть необходимость управления параллельным доступом к определяемыми приложением ресурсам (такими как формы), новые хранимые процедуры позволяют теперь блокировать эти ресурсы, используя появившийся в SQL Server 2000 менеджер блокировок приложения.
Database console commands (DBCC) - Консольные команды базы данных Команды из состава DBCC CHECK могут теперь выполниться во время обслуживания сетевых запросов, не блокируя изменения. Новые расширения позволяют проверять последовательность физических страниц, и обнаруживать внесённые аппаратными средствами ошибки. В SQL Server 2000 Enterprise Edition, DBCC теперь выполняется параллельно, на нескольких процессорах.
Database options - опции базы данных Теперь все опции базы данных можно изменять, для этого используется инструкция ALTER DATABASE. Это упрощает администрирование.
Differential backups - дифференциальные резервные копии Дифференциальное резервное копирование в SQL Server 2000 работает быстрее из-за расширения, которое отслеживает изменения базы данных на уровне экстентов.
Dynamic tuning - динамическая настройка Используя адаптивные динамические алгоритмы, сервер автоматически корректирует изначально статические параметры настройки конфигурации. Административное вмешательство в такое управление все еще доступно, и позволяет управлять ресурсами всей системы, но этого, как правило, не требуется. Установленные вручную параметры могут меняться динамически в рамках заданных границ.
In-row text - текст в записи Для таблиц, которые имеют небольшие но часто используемые текстовые поля, маленькие текстовые значения могут сохранятся на той же странице, что и данные записи, а не на специальной странице для текстовых значений. Для таблиц, у которых к таким текстовым данным наблюдаются частые обращения, это новшество может сократить излишние дисковые операции.
Index builds in parallel - параллельное создание индексов В Enterprise Edition, создание индексов автоматически задействует все процессоры, выделенные для параллельного обслуживания запросов, что сокращает время, которое требуется для создания, например, на восьмипроцессорном сервере индекс может создаваться быстрее в шесть раз. При создании индекса используются доступные ресурсы памяти и базы tempdb.
Index read ahead - упреждающее чтение индексов Упреждающее чтение индексов было добавлено в качестве расширения для увеличения производительности сканирования индексов.
Index reorganization - реорганизация индексов Реорганизация индексов была усовершенствована, добавленная команда DBCC SHOWCONTIG предоставляет более детальную информацию о фрагментации индексов. Новая команда DBCC INDEXDEFRAG реорганизует страницы индексов в интерактивном режиме, не прерывая обслуживание базы данных без риска для согласованности базы данных или восстановления.
Descending order key columns on indexes - убывающий порядок ключевых полей в индексах Ключевые поля в индексе можно упорядочивать в возрастающем или убывающем порядке.
KILL command - команда KILL Команда KILL теперь выводит прогресс исполнения. Если эта команда ожидает завершения другого процесса, например, отката команды, Вы можете увидеть сколько команда KILL уже успела отработать. Функциональность этой команды была расширена, и теперь может прерывать исполнение транзакции Microsoft Distributed Transaction Coordinator (MS DTC), которые не связаны с определенным сеансом.
Large memory support - поддержка памяти большого размера Используемы в Windows 2000 технологии повышают производительность Enterprise Edition за счёт использования большого объема памяти. Используя расширения Windows 2000 AWE, SQL Server 2000 может поддержать до 64 Гб физической памяти.
Locking - блокирование Возможности менеджера блокировок были расширен, теперь он может обнаруживать тупиковые блокировки и для таких ресурсов, как потоки и память. Усовершенствование параллелизма сокращает число тупиковых блокировок. Это ещё больше расширяет масштабируемость SQL Server 2000.
Logical log marks - метки в журнале транзакций С помощью команды Transact-SQL можно создать закладку в файле журнала транзакций, чтобы потом можно было выполнить восстановление базы данных до установленной метки. Это новшество позволяет облегчить синхронизацию восстановления нескольких баз данных, используемых для одного и того же приложения.
Online index reorganization - реорганизация индексов налету Усовершенствованная DBCC SHOWCONTIG предоставляет более детальную информацию о фрагментации индексов. Новая команда DBCC INDEXDEFRAG интерактивно реорганизует страницы индексов, не прерывая обслуживание базы данных и не создавая риска для согласованности базы данных или успешного восстановления.
Optimized I/O read-ahead - оптимизированное упреждающее чтение ввода-вывода SQL Server 2000 выполняет большой объём операций упреждающего последовательного чтения для каждого файла, затронутого запросом. Оптимизатор, для повышения производительности, использует последовательный ввод-вывод с упреждающим чтением при сканировании таблиц и индексов.
Passwords on backups - возможность задания паролей для резервных копий Носители и индивидуальные резервные копии могут быть защищены паролем. Это предотвращает несанкционированное восстановление и получение доступа к базе данных.
Recovery models - модели резервирования Используя модели резервирования можно задать базе данных уровень журналирования операций. Это добавляет гибкости управления журналом транзакций. Модель резервирования может изменяться интерактивно, что позволяет учитывать изменение в использовании базы данных во время работы.
Shared table scans - разделяемые сканирования таблиц В Enterprise Edition массовые сканирования таблицы могут использовать результаты уже выполняющихся сканирований таблицы, что сокращает дисковый ввод-вывод.
Shrinking the log - усечение журнала транзакций Добавлена команда усечения файл журнала транзакций, которая действует в большинстве случаев немедленно. Когда журнал не может быть усечён немедленно, SQL Server выдаст сообщение о том, что нужно сделать для продолжения или завершения операции усечения.
Snapshot backups - резервирование снимка базы Обеспечивает резервирование снимка базы для программного обеспечения третьих фирм. Резервирования снимком использует технологии современных хранилищ, что позволяет выполнять резервирование или восстановление всей базы данных практически мгновенно. Такие копии могут использоваться в цепочке копий журнала и дифференциальных копий, что позволяет обеспечить целостную защиту баз данных OLTP приложений. Это особенно выгодно для больших баз данных, у которых доступность является чрезвычайно важным фактором.
Space-efficient empty tables and indexes - эффективность использования пустого места таблиц SQL Server 2000 больше не распределяет на диске пустые страницы для пустых таблиц и индексов. SQL Server 7.0 распределял по три страницы для пустых таблиц и индексов.
Space-efficient empty tables and indexes - эффективность использования пустого места таблиц SQL Server 2000 больше не распределяет на диске пустые страницы для пустых таблиц и индексов. SQL Server 7.0 распределял по три страницы для пустых таблиц и индексов.
Top n sort - сортировка TOP n Эта новая возможность оптимизирует ограниченную выборку n - значений (например, SELECT TOP 5 * FROM tablename).
Xlock В составе языка Transact-SQL, который используется в SQL Server 2000, появился новый - хинт блокировок. Оно может использоваться для явного указания эксклюзивного на уровне транзакции использования страниц или блокировки таблицы.

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

ПРОДОЛЖЕНИЕ СЛЕДУЕТ

[В начало]

Руководство по работе с Microsoft SQL Server 2000 Analysis Services (продолжение)

По материалам статьи Carl Rabeler и Dave Wickert, Microsoft Corporation: Microsoft SQL Server 2000 Analysis Services Operations Guide
Перевод Виталия Степаненко

Содержание

Введение
Управление конфигурацией
Управление выпуском
Управление изменениями
Администрирование безопасности
Управление сервисом и доступностью
Управление свободным пространством и производительностью
Управление разрешением проблем и ошибок

Если у Вас есть Storage Area Network (SAN), Вам нужно выполнить следующие шаги для того, чтобы создать автономное изображение папки Data, репозитория и журнала запросов, для которых может быть создана резервная копия с максимизацией доступности данных для запросов.

  1. Создать набор зеркал и подождать, пока он полностью синхронизируется.

  2. Остановить Analysis Services.

  3. Убрать зеркалирование.

  4. Запустить сервис.

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

На заметку. Термином, используемым EMC Corporation для обозначения автономного изображения, является Business Continuance Volume (BCV).

Варианты восстановления

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

  • Если Вы делаете резервную копию базы данных Analysis Services с использованием команды msmdarch, Вы выполняете восстановление базы данных также с помощью msmdarch. Это предпочтительный выбор для восстановления, потому что msmdarch автоматически интегрирует обновления репозитория.

  • Если Вы используете копирование файлов, Вы должны остановить Analysis Services для восстановления, и восстановить базу данных репозитория перед запуском Analysis Services. Если Вы это не сделаете, а репозиторий содержит метаданные, которые несовместимы с восстановленными данными, то Вы получите ошибки при управлении объектами базы данных и Вам потребуется обработать все кубы в базе данных. Кроме того, Вы должны заменить файл журнала запросов версией из резервной копии.

И при использовании одного метода резервного копирования, и другого, Вы должны заменить файл журнала запросов версией из резервной копии.

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

Реализация решения Analysis Services с непрерывной доступностью

Если Ваш план доступности подразумевает, что пользователи смогут делать запросы к кубам и измерениям всегда, 24 часа в сутки, то необходимо решить несколько проблем. Эти проблемы включают следующее:

  • Репозиторий. Если Вы используете множество серверов для поддержки доступности, Вы должны убедиться, что репозиторий на каждом сервере остается синхронизированным с папкой Data, которую Вы также синхронизируете. Хотя репозиторий не требуется для обработки запросов, он нужен при внесении любых изменений в структуру кубов и измерений Analysis Services. Если пользователи делают запросы к копии папки Data на вторичном экземпляре Analysis Services, Вы должны внести изменения в оригинальный экземпляр Analysis Services и затем обновить вторичный экземпляр (используя копирование файлов или msmdarch).

  • Изменение данных. Если Вы указываете, что в Ваших кубах и измерениях можно изменять данные, то эти измененные данные могут сохраняться только в одно место (таблицу SQL Server). Это приводит к тому, что точка сбоев единственная (и, возможно, к узкому месту в производительности).

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

Для реализации решения Analysis Services с непрерывной доступностью, Microsoft предлагает две технологии, которые помогают достичь этой цели: Microsoft Cluster Services и Network Load Balancing. Как Вы увидите, каждая технология предоставляет свой тип доступности на компьютере с Analysis Services.

Microsoft Cluster Services

Microsoft Cluster Services (MSCS) позволяет Вам защитить Ваш экземпляр Analysis Services от сбоев программного или аппаратного обеспечения. При использовании MSCS Вы устанавливаете Analysis Services на двух узлах кластера с файловой подсистемой общего доступа (с некоторой версией RAID), в которой хранятся папка Data, репозиторий и журнал запросов. Только один узел кластера всегда активен. Если происходит сбой активного узла, MSCS переключается на пассивный узел и запускает Analysis Services на этом узле. Analysis Services на резервном узле использует папку Data, репозиторий и журнал запросов, расположенные в файловой системе общего доступа. Решение с использованием кластера позволяет добиться доступности Analysis Services для выполнения запросов в том случае, если произошел сбой основного сервера кластера по некоторым причинам. Однако, MSCS не обеспечивает решение с непрерывной доступностью выполнения запросов. Вы все равно столкнетесь с тем, что часть времени требуется на обработку. Кроме того, MSCS не обеспечивает никакой балансировки нагрузки: ресурсы пассивного узла используются только в случае сбоя.

MSCS требует специализированного аппаратного обеспечения, но это проверенная технология, известная персоналу техподдержки многих центров данных. Для дополнительной информации смотрите в Knowledge Base (support.microsoft.com) статью "HOW TO: Cluster SQL Server 2000 Analysis Services in Windows 2000".

Network Load Balancing

Windows 2000 Network Load Balancing (NLB) позволяет Вам защитить Ваш экземпляр Analysis Services от сбоев программного или аппаратного обеспечения. NLB также позволяет балансировать нагрузку выполнения запросов между несколькими серверами, а также обеспечивает решение с непрерывной доступностью выполнения запросов. С помощью NLB Вы устанавливаете множество экземпляров Analysis Services на различных компьютерах с идентичными копиями папки Data и репозитория. На каждом компьютере - отдельный журнал запросов. Служба NLB автоматически балансирует нагрузку выполнения запросов между экземплярами Analysis Services в NLB кластере. Если происходит сбой на любом из этих серверов, NLB обнаруживает сбой и перенаправляет запросы пользователей на другой работающий сервер. Для поддержки большего количества пользователей и ускорения выполнения запросов просто добавьте дополнительные серверы для большего распределения нагрузки (и повышения доступности).

Чтобы получить непрерывную доступность выполнения запросов с помощью NLB, Вы должны выполнить следующие шаги:

  1. Создайте кластер серверов из компьютеров Analysis Services и синхронизуйте папку Data и репозиторий на каждом сервере.

  2. Когда Вам потребуется выполнить обработку, Вы удаляете сервер, входящий в NLB кластер, из NLB кластера, и выполняете обработку на этом сервере. При этом один или более серверов остаются доступными для выполнения запросов.

  3. Когда обработка закончена, добавьте сервер с обработанными данными в кластер и удалите другой сервер или серверы из кластера.

  4. Синхронизируйте папку Data (а также репозиторий, если произошли какие-либо изменения в метаданных) каждого из этих серверов с папкой Data (и репозиторием) сервера, на котором была произведена обработка.

  5. Добавьте эти серверы в кластер. При этом все время сервер будет доступен для выполнения запросов.

NLB не требует специализированного аппаратного обеспечения, но требует экспертных знаний сети (таких, как знание особенностей конфигурирования TCP/IP) для конфигурирования NLB кластера. Для дополнительной информации смотрите на сайте Microsoft Technet (http://www.microsoft.com/technet) статью "Creating Large-Scale, Highly Available OLAP Sites: A Step-by-Step Guide".

Восстановление после сбоя

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

  • В каких ситуациях должны обрабатываться измерения и пересчитываться агрегаты для восстановления базы данных Analysis Services?

  • В каких ситуациях должны данные из реляционных таблиц быть загружены (обновлены) для восстановления базы данных Analysis Services?

  • Что должно быть сделано, если только часть данных в кубах и измерениях может быть восстановлена?

  • Что должно быть сделано, если другие части IT инфраструктуры недоступны (такие, как Active Directory или IIS сервер)?

ПРОДОЛЖЕНИЕ СЛЕДУЕТ

[В начало]

ССЫЛКИ НА СТАТЬИ

Статьи на русском языке

SQL Server 2005 System Table Map
Олег Михайлик
MSSQLServer: В декабрьском выпуске SQL Server Magazine поместили постер - карту системных таблиц. Но этот журнал стоит денежек, а вот теперь и на Microsoft Downloads появился PDF с этой картой...

Правильная обработка ошибок - одна из самых больших проблем современного ПО
Alexander Lozhechkin
MSSQLServer: Читая дискуссии, нужны или не нужны checked exceptions в современном языке программирования, или дискуссии на тему <что лучше: код возврата или исключения>, невольно вспоминаешь, как реализована обработка ошибок в них не с точки зрения разработчика, а с точки зрения простого пользователя...

Получение уведомлений MS SQL сервера в С++ Builder
Станислав Васильев
C-sharp: В клиент-серверных задачах порою требуется получить по некоемому событию на SQL сервере уведомление на клиенте, при этом не опрашивая о случившихся изменениях. Реализовать данную функциональность возможно с использованием расширенной хранимой процедуры (extended stored procedure), представляющей из себя динамически подключаемую библиотеку, которая через сокеты по протоколу UDP будет рассылать бродкаст (broadcast) пакеты по сети. Создание расширенной хранимой процедуры производилось мною в среде С++ Builder 6 c использованием ODS (Open Data Service) API для СУБД MS SQL Server 2000. Необходимо обратить внимание, что по умолчанию в поставку данной среды разработки от Borland входит статическая библиотека Opends60.lib, реализующая весь сервис предоставляемой ODS API, но дан...

Новое в сертификации разработчиков
Брайан Моран
MSSQLServer: Я планировал заняться изучением новой процедуры сертификации специалистов по Microsoft SQL Server 2005, включающей новые варианты тестирования и аттестации профессионалов в области административного управления SQL Server, бизнес-аналитики и технологий разработки...

Интересные изменения в Reporting и Integration Services 2005
Билл Шелдон
MSSQLServer: Ранее уже обсуждалась усовершенствованная версия SQL Server Reporting Services (будем называть ее Reporting Services 2005), реализованная в Microsoft SQL Server 2005....

[В начало]

Англоязычные статьи

Funny SQL2005 Maintenance Features (posted by Paul)
DDITWeb
In SQL2000 maintenance plans if you want to backup databases there is an option to allow you to create a subfolder for each database that gets backed-up. And the same dialog is nice enough to ask if you want to remove backups older than x amount of days. It's pretty simple and everyone uses it and everyone's happy.

Some things I learned about SQL Indexing Tuning recently (posted by Paul)
DDITWeb
Last month there was a heated discussion in our group about whether to move the clustered index of a table from the primary key (int identity) to two columns that are heavily referenced in queries.

A SQL function you just CAN’T live without... (posted by Aaron)
DDITWeb
When SQL functions were first introduced I stumbled across one function in particular that I’ve probably used more than any other. In fact, I doubt I’ve developed too many databases that didn’t use this great little function. It’s really quite simple… but very, very powerful. It’s called… fn_ParseCommaDelimitedList. This simple yet powerful little function allows you to pass in a comma delimited list of integers for use when querying a subset of rows from a table.

SMO Sample: Which SQL Server version is supported by the property?
Michiel Wories
Purpose of sample: List metadata information about SMO object properties. SMO's object model is different from DMO in one important way: DMO introduced the '2' (like Database2) objects in order to add SQL Server 2000 support. SMO objects are hybrid in that perspective, as these objects morph or limit behavior based on the SQL Server version they work with. This makes SMO objects somewhat harder to work with, as you need to know what properties are supported on a particular server version. With the right tools at hand the objects are actually easier to work with, and one important tool is the EnumPropertyInfo and GetPropertyInfo methods, as these allow checking the version support of a property.

Upcoming at TechED: Web Based SQL Server Management Tool (Shared Source!)
Michiel Wories
Visual Studio .NET 2003 shipped a web based sample application for management of SQL Server, based on ASP.NET and SQL-DMO. We're currently working on an updated version of that tool. This is a quick list of the things that we change:

SQL Server: Table Partitioning in SQL Server 2005
Michiel Wories
Table and Index partitioning is one if the new SQL Server 2005 features that willl improve life for the DBA and application developer quite a bit. It allows Indexes and Tables to be partitioned across multiple file groups. Partitioned tables and indexes, are fully manageable with SMO. Here is a quick sample to get you started, with not too much explanation as speaks for itself, mostly. Let me know if you have questions!

Scripting in Microsoft SQL Server 2005 Web Cast Resources
Michiel Wories
This article contains extra information with regard to the web cast "Scripting in Microsoft SQL Server 2005 " that was held on 6/22/2005 9:30-11:00 PST.

SQL Server: Capture Object changes with SMO Capture Mode
Michiel Wories
In a previous article I have showed how a SMO object can be serialized into a Transact-SQL script, which allows you to recreate the object. What if you want to have the script that is emitted when you changed one or more properties of an object? In that case Capture Mode comes in handy. This switches the ServerConnection object in a state where it starts capturing all statements that SMO emits instead of sending these to the server. The following sample illustrates how it is used.

Encrypting Without Secrets
Keith Brown
Do you have a Web site or other system that deals in secrets of any sort? It seems like every time I give a security talk, people ask how to deal with the sticky problem of storing secrets. Connection strings with passwords are an obvious problem. You're better off simply using integrated security to get rid of those secrets, at least with SQL Server™, or an Oracle database. But what about credit card numbers and other financial or personal information? Can encryption help?

SqlConnectionStringBuilder, DataView, and More
John Papa
Several significant enhancements have been made to ADO.NET 2.0 in the areas of improved performance, increased flexibility, and added features. In my last column (Data Points: DataSet and DataTable in ADO.NET 2.0), I discussed the improvements made to the DataTable class, the effect of the powerful new LoadOption enumerator, how to change a row's state, and the new DataTableReader class. In this installment of Data Points, I will continue to explore significant enhancements that are introduced with ADO.NET 2.0, such as the new SqlConnectionStringBuilder, improvements to the DataView, batch updates, and improved DataSet serialization. I will also demonstrate how some of its new features perform when they are put to the test.

DataGridView
Nancy Michell
After receiving a late-breaking news bulletin at magazine headquarters early this month stating that the Web is just a fad that will never amount to anything, we have reluctantly decided to retire our venerable Web Q&A column and replace it with one we like to call Dev Q&A. Seriously, Web programming has grown far beyond HTML-formatted text to encompass just about any kind of programming you can imagine. Limiting the scope of this column to Web-only questions seems a little superficial. Dev Q&A will take a look at questions related to many aspects of programming in Visual Basic®, C#, ASP.NET, and the like. Compiled from questions submitted internally and answered by Microsoft developers, the column will present useful solutions to commonly encountered coding dilemmas. This month we'll discuss the Windows® Forms DataGridView control.

Create Reusable Project And Item Templates For Your Development Team
Matt Milner
Over my years of working with clients on building Microsoft® .NET Framework-based applications, I have often heard a common feature request for Visual Studio® .NET: "It would be great if we could create our own project types and item types so that all developers in our organization would have access to them." Many orgs want to create shared templates for projects such as Web sites or for project items, such as a default Web page or forms. Visual Studio 2005 introduces a new model for defining templates and starter kits for projects and items that make this not only possible, but relatively simple. I'll take a look at how to consume, create, and customize these templates.

How can SQL Server 2005 help me evaluate and manage indexes?
Tom Davidson
SQL Server 2005 Dynamic Management Views (DMVs) are important insofar as they expose changing server state information that typically spans many sessions, many transactions, and many requests. DMVs provide a level of transparency that was not available in SQL Server 2000 and can be used for diagnostics, memory and process tuning, and monitoring. The SQL Server engine tracks detailed resource history in DMVs that can be queriable with SELECT statements but are not persisted to disk. Thus DMVs reflect activity since the last SQL Server recycle.

Introduction to MSSQL Server Analysis Services: Named Sets Revisited
William Pearson
While the basic concepts remain the same, the functional value of Named Sets has been extended in Analysis Services 2005. Not only can Named Sets be used in MDX queries, including those generated via reporting (such as Reporting Services) and other applications, but Named Sets can be leveraged to define sets within subcubes. Subcubes can be used as a means of economizing cube space, specifically within the context of subsequent statements, and we will examine them separately in more depth in prospective articles. Suffice it to say, for now, that, in this area, as well as many others within Analysis Services 2005, we are afforded more flexibility and control over various aspects of cube operations. We can leverage Named Sets definitions to include cube data in combination with functions, operators and numerical values; their potential is significant for the knowledgeable implementer.

SQL Server 2005 Data Encryption
Keith Comb
SQL Server 2005 includes new encryption capabilities that all administrators, programmers and database analyst should be aware of. Key and Certificate creation and management functions are now an integral part of SQL Server 2005. You have the flexibility to create your own X.509 certificates, use Windows Server 2003 CA issued certs, or use other certs purchased from a trusted certificate authority.

SQL Server 2005 Trip Wires
Keith Combs' Blahg
A number of changes and improvements have been made to SQL Server 2005. Did I really need to state that? One of the big improvements is in the management and security area. The SQL Management Object (SMO) infrastructure replaces much of what used to be accomplished using SQL-DMO. SMO is tightly integrated with Windows Management Instrumentation (WMI). This linkage is so tight, new capabilities now exist to take advantage of the eventing taking place

TechNet Event: Las Vegas, NV - September 1, 2005 (Follow up - Demo Scripts)
Harold Wong
Here are the scripts I used for the different demos during the TechNet Event. This post is a VERY, VERY long post as I copied over all the scripts from the Pessimistic vs. Optimistic demo, Peer to Peer Replication Demo and Mirroring Demo. Let me know if you have any questions.

An interview with Peter DeBetta
Douglas Reilly
“I was very anti-XML when it first made the scene, thinking it was yet another unnecessary markup language. But I have seen the light, and realize its importance in a world of heterogeneous systems as a medium for structured storage.”

Authentication methods for connections to SQL Server in Active Server Pages
Microsoft
Both SQL Server authentication (standard security) and Windows NT authentication (integrated security) are SQL Server authentication methods that are used to access a SQL Server database from Active Server Pages (ASP).

Granting Execute Access to All Stored Procedures to a Given User
Tim Mitchell
A quick and dirty procedure to allow you to grant execute permissions to a user, or role, quickly and easily.

A simple Publish/Subscribe service using Service Broker
Remus Rusanu
The entire T-SQL code is available for download from the Service Broker code gallery at http://www.gotdotnet.com/codegallery/codegallery.aspx?id=9f7ae2af-31aa-44dd-9ee8-6b6b6d3d6319

Database Design: A Brief Rant About Quality
Ward Pond
You've perhaps seen this item in the news, which discusses the woes which have befallen the Tokyo Stock Exchange and one of Japan’s largest brokerages after a typographical error in a stock trade resulted in a loss of at least $225 million for the brokerage firm involved and also contributed to an almost 2% decline in the Nikkei 225 average on the day of the event.

Slight Ado About Nothing: More On NULLs
Ward Pond
Today saw a major step in the evolution of my humble blog: a question!, from Eric:

XML To The Max: Get More Power Out Of Your SQL Server
Microsoft
SQL Server 2000 is the first release of the Microsoft flagship database management system to include support for the production and manipulation of XML structures using T-SQL.

Mining Multiple Economic Time Series
DMTeam
This tip shows you how to build a cross-prediction model across multiple economic time series.

I want to render HTML / RTF *as* HTML / RTF inside a SQL Reporting Services Report
Russell Christopher
Too bad. Many people have HTML and/or RTF stored in a database, a dataset, or wherever. If you display this text in a Reporting Services textbox, it gets rendered as markup versus properly formatted HTML or RTF.

The (un)official guide to SQL Reporting Services 2000 & 2005 interop
Russell Christopher
I've seen tons of questions around if you can use various components of SRS 2000 with SSRS 2005 (and vice-versa), so I'm attempting to document them all in once place. This will hopefully become a good FAQ on the subject...feel free to ask/add more to this list via the comments section

Database Security and Patches – Part 3
Steve Callan
Part 3 of this series examines some new functionality found in Oracle10g's Enterprise Manager Console. In prior releases of Oracle (as shown in the first two parts of this series), patching and patch administration were manually performed by the DBA. In 10g, some of that workload has transferred to the software. As an analogy, it is similar to the difference between RMAN (server managed recovery) and user managed recovery. The example database used in this article is Oracle Database 10g Release 2.

How to change the SQL Server or SQL Server Agent service account without using SQL Enterprise Manager in SQL Server 2000 or SQL Server Management Studio in SQL Server 2005
Microsoft
When you first install Microsoft SQL Server to run under a Microsoft Windows NT account, SQL Server sets for that Windows NT account various Windows user rights and permissions on certain files, folders, and registry keys. If you later change the startup account for SQL Server (the MSSQLServer service) and the SQL Server Agent service by using SQL Server Enterprise Manager (SEM) or SQL Server Management Studio (SSMS), SEM automatically assigns all the required permissions and Windows user rights to the new startup account for you so that you do not have to do anything else. We recommend that you use this is the approach to change the service account.

Starting and Stopping SQL Server Part 3
Andy Warren
Continuing with his series, Andy Warren looks at what it means for SQL Server 2000 command line parameters as well as checkpointing with this service.

Exam Thoughts 70-441
Steve Jones
Steve Jones recently took the 70-441 Beta exam for Developing Solutions on SQL Server 2005. This article will not break the NDA and tell you what the content is, but it gives you some feedback from a SQL Server 2000 DBA on the new exam.

SQL Server 2005 Editions and Integration Services
Darren Green
The SQL Server 2005 product family has now been released, so with four editions available, what does this mean for SQL Server Integration Services? Starting from the bottom we have the free edition known as Express, and the entry level Workgroup edition, and neither include the full IS product. Workgroup includes the Import/Export Wizard, but nothing more, so for simple loading and extraction of data this should suffice, but you will not be able to build packages.

Database Design: Do Not Fear NULLs
Ward Pond
Last week, I found myself simultaneously confounded and fascinated by a conversation on the internal Microsoft SQL Server discussion list. If you know me at all, you know that I had to toss in my two cents, but I’m getting ahead of myself.

Two Programming Tricks: Counting Characters In A String and RETURN CASE
Ward Pond
A couple of tricks here, from some recent work: a user-defined function to count the number of characters in a string, and a new (for me) syntax discovery: RETURN CASE.

The OPENROWSET Trick: Accessing Stored Procedure Output In A SELECT Statement
Ward Pond
This nifty little trick will allow you, with some limitations, to treat the output of a stored procedure as a named SQL record set rather than creating a table and going through an INSERT.. EXEC process. The output of the stored procedure is then available for direct manipulation in SELECT statements, JOINs, etc.

How to use Microsoft System Center Data Protection Manager 2006 to help protect a SQL Server database
Microsoft
This article describes how to use Microsoft System Center Data Protection Manager (DPM) 2006 to help protect a Microsoft SQL Server database. The methods that this article describes are for the following products

Add-ins for Visual Studio
manicguitarist
An article on how to build add-ins for Visual Studio.

How to measure the rate at which rows pass through a particular data flow task in a SQL Server 2005 Integration Services (SSIS) package
Microsoft
You may want to measure the rate at which rows pass through a particular data flow task in a Microsoft SQL Server 2005 Integration Services (SSIS) package. However, you cannot use the Performance Monitor tool (Perfmon.exe) to monitor this performance by adding counters in the SQLServer:SSIS Pipeline object. This article describes a simple method that you can use to measure the rate. You can use a Script component data flow transformation in the data flow. The Script component data flow transformation contains a script that returns the minimum rate, the maximum rate, and the median rate at which rows pass through the data flow task.

Add Custom Data Mining Algorithms to SQL Server 2005
Raman Iyer
Get a high-level overview of the benefits of the extensibility framework in SQL Server 2005 Analysis Services that allows independent software developers to easily integrate new data mining algorithms into the product. (7 printed pages)

Fingerpops (RS and Flattened Rowsets)
Brian Welcker
We have gotten some negative feedback from customers about the RS/AS integration in SQL 2005. This is frequently communicated as a "flattened rowset versus cellset" issue. While RS does consume data from sources in a rowset format, flattened rowsets from AS provide identical functionality to cellsets. The exact same information is provided by AS to the client application - it is merely provided in a different form. If RS were to retrieve data from AS using cellsets, it would not change RS functionality in any way. Flattened rowsets are merely used internally for convenience of implementation.

SQL Server 2005: Yet another column encryption demo - "Clinic"
Laurentiu Cristofor
Here's another demo I just used for a presentation of SQL Server 2005 encryption features. This shows how multiple keys can be used for encrypting data in a column and also how access to keys can be controlled. It's a fairly long demo:

Managing backups for a large number of SQL Servers
Greg Robidoux
Large SQL Server installations bring added challenges, particularly how to back up all those databases and ensure minimal data loss in the event of a failure. Here I'll detail some points to consider when setting up a backup plan for a large SQL Server environment.

Analysis Services 2005 protocol - XMLA over TCP/IP
Mosha Pasumansky
It has been widely publicized that Analysis Services 2005 uses XML for Analysis 1.1 (XMLA) as its only network protocol for communication between client and server. XMLA is standard public protocol defined by XMLA council and full description can be found at www.xmla.org. However, while reading it, it becomes immediately clear, that the standard only discuss client server communication over HTTP only. Indeed, here is a small excerpt from the standard - "The specification is built upon the open Internet standards of HTTP, XML, and SOAP". XMLA uses SOAP and SOAP has standard binding to HTTP through the use of HTTP headers. However, while AS2005 can be configured to work over HTTP, the typical way of connecting to AS2005 is directly through TCP/IP. There is no standard binding of SOAP to TCP/IP in general, and in particular XMLA standard says nothing about it. So what we are going to do is to reveal piece by piece and layer by layer what happens on the wire when Analysis Services client (either OLEDB, ADOMD.NET or AMO) works with Analysis Services server through TCP/IP. By doing so, we will discover and discuss several important performance and security tradeoffs which are useful for tuning performance and for secure maintaining the server as well as for troubleshooting. I also have to disclose, that the TCP/IP protocol to AS is patented technology. It is not secret - because patents are public information - but it cannot be freely copied or reimplemented by 3rd party.

How to Build Dynamic Stored Procedures
Robert Marda
Robert is our expert on dynamic sql. This week he offers some good hints for planning the contruction of a proc that will use dynamic sql. He also adds some suggestions on how to format the code so that when you return to it later, you can figure out what you were doing!

Sql Puzzle 4
Lionel
/* Sorry for the delay putting up this puzzle but I was going to post a different puzzle for this week but failed to get a solution for it :)

Transforming XML data into a rowset using the nodes() method
John Gallardo
Usually there are a couple of scenarios in which you want to take XML data and convert it into a regular relational rowset. In SQL 2000, you probably used OpenXML for this, which works pretty well if you are only working on a single piece of XML data, but as soon as you want to convert a rowset of XML instances into a rowset of relation columns things begin to break down pretty quickly.

[В начало]

ФОРУМ SQL.RU

Самые популярные темы недели

Седьмая ежегодная конференция Платформа 2006
Помогите скорить выполнение запроса
Как программно отключить identity?
Отбор последних записей из таблицы
MSSQL+Delphi:TADOQuery - не возвращет ДатаСет при ошибке? (XACT_ABORT = OFF)
Не работает процедура для создания перекрестного запроса
сравнение таблиц: индексы
SQL Server 2000 не видит стример !!!!
Накрылась база, что можно сделать???
CREATE PROCEDURE ... WITH ENCRYPTION
"Странности" 2005
Выборка из DBF проблема с кодировкой
Quad Opteron +16Gb+server 2003EE+SQL 2000 Sp4 + 1C+terminal
как восстановить базу msdb ?
Ado и SQL Server - как узнать права на доступ к таблицам и полям?
Помогите правильно организовать работу с Linked Server с другим SQL Server - ом. :(
Копия ДБ
Рекурсия в SQL
Отловить запрос вытесняющий память.
Жутко тормозит консолька MSSQL2000 под NT4.0. Что можно сделать?

[В начало]

Вопросы остались без ответа

Проверка целостности базы
Daitch-Mokotoff Soundex Code
Реинициализация анонимной подписки.
При увеличении количества дисков в LUN не растет скорость записи
проблема с Notification Services
Помогите определиться с выбором, плз...
replication of image datatype between MSDE and AS/400
Вопрос про репликацию
Можно ли скопировать разрешения на один объект для другого?
проблема с Notification Services
ХЕЛП me faster!
Особенности запросов в фильтрах репликации.

[В начало]

КНИГИ

Системы управления базами данных. Учебное пособие

Попов И.И., Партыка Т.Л., Голицына О.Л.

ISBN: 5-8199-0251-3, Издательство: Инфра-М, Год выпуска: 2006, Тип переплета: твердый, Тираж книги: 4000, Формат книги: 60х90/16, Дополнительный ISBN: 5-16-002564-2, Количество страниц: 432

В учебном пособии рассматриваются основные подходы и направления развития систем баз данных. Анализируются классические машинно-ориентированные формы представления информации и данных. Рассматриваются типовые модели физической и логической организации данных. Исследуется архитектура средств доступа к данным. На примере системы FoxPro (система программирования с элементами СУБД) иллюстрируются практические аспекты разработки фактографических и документальных информационных систем. Достаточно подробно описываются возможности SQL как базового языка для профессиональной работы с реляционными базами данных. Необходимое внимание уделяется проблемам моделирования и проектирования баз данных. Для студентов экономических специальностей.

[В начало]

#292<<  #293  >>#294
Rambler's Top100 Рейтинг@Mail.ru      Хостинг от компании Parking.ru  Administrator: admin@sql.ru 
Copyright: SQL.Ru 2000-2010