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

СОДЕРЖАНИЕ

1.СТАТЬИ
1.1.Основы ввода-вывода Microsoft SQL Server. Часть 2 (продолжение)
2.ССЫЛКИ НА СТАТЬИ
2.1.Статьи на русском языке
2.2.Англоязычные статьи
3.ФОРУМ SQL.RU
3.1.Самые популярные темы недели
3.2.Вопросы остались без ответа
 


СТАТЬИ

Основы ввода-вывода Microsoft SQL Server. Часть 2 (продолжение)

По материалам статьи Bob Dorr: Microsoft SQL Server I/O Basics. Chapter 2

Удаленное зеркальное отображение

Некоторые независимые разработчики аппаратных средств предлагают решения по удаленному зеркальному отображению (Remote Mirroring). Удаленное зеркальное отображение отслеживает запись данных и дублирует её дистанционно. Из-за расстояния между источником и зеркалом, и из-за нежелательности создания дополнительно нагрузки на систему источника, запись на зеркале происходит с задержкой, и поэтому удаленные системы зеркального отображения, как правило, работают асинхронно. Для того чтобы обезопасить использование технологии удаленного зеркального отображения обслуживаемых SQL Server данных, файлов журналов регистрации транзакций и файлов резервных копий, необходимо обеспечить исполнение очень строгих правил и протоколов.
Для получения более подробной информации о поддержке SQL Server решений по удаленному зеркальному отображению, поищите статьи на MSDN, используя следующие ключевые слова: Using Third Party Mirroring Solutions with SQL Server 2000 and 2005 User Databases.

Ниже представлено резюме по тем, не относящимся к протоколу WAL атрибутам, которые являются необходимыми для успешного развертывания удаленного зеркального отображения. Порядок записи (Write ordering): порядок записи на источнике должен быть таким же, как и на зеркале. Если порядок записи не поддерживается, будет нарушен протокол WAL, и база данных может быть повреждена.
Последовательность в группе (Consistency groups): последовательность в группе подразумевает, что все операции ввода-вывода с несколькими томами обслуживаются единым потоком ввода-вывода, с сохранением порядка запросов на запись в рамках этой группы. Без сохранения порядка записи во всей группе томов, отображение базы данных SQL Server становится не безопасно. Если каждый том может иметь независимый порядок записи, файл журнала регистрации транзакций и файлы базы данных на зеркале не будут поддерживать правильную семантику моментов времени (point-in-time), и база данных может быть повреждена.
Обратите внимание, что последовательность в группе применима также и к решениям для локального зеркального отображения.
Точки восстановления (Restore points): Ниже на примере показаны точки восстановления или ветвления для удаленной системы зеркального отображения.

Источник

Зеркало

Full Database Backup

 

Log Backup #1 (LSN 1 to 100)

 

Log Backup #2 (LSN 101 to 200)

 

Произошел отказ

 

 

Log Backup #3 (LSN 101 to 150)

 

Log Backup #4 (LSN 150 to 200)

Проблема с точкой восстановления происходит при работе с LSN 101. Если решение удаленного зеркального отражения не гарантирует немедленную доставку копий на зеркало, то, в случае отказа, некоторые операции записи могут быть потеряны. В приведённом примере, изменения для LSN с 150 по 200 сервера источника были сделаны в целях выживания во время отказа и они никогда не будут воспроизведены на зеркале. Зеркало переведено в активное состояние и поэтому потеряло данные между 150 и 200, потому что эти данные никогда зеркалу не передавались. После выполнения регенерации (recovery) база данных зеркала, с точки зрения транзакций, будет непротиворечива, но некоторые данные будут потеряны.
Файл журнала регистрации транзакций резервируется сразу после отказа, как это показано на примере. С этим связаны две серьёзные проблемы, которые требуют правильного разрешения:

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

  2. Во время восстановления, относящийся к источнику "Log Backup #2" должен считаться повреждённым. Последовательность восстановления в этом случае может быть следующей:

    1. Восстановить полную резервную копию базы данных.

    2. Восстановить "Log Backup #1".

    3. Восстановить "Log Backup #3". Если "Log Backup #2" будет восстановлен, "Log Backup #3" и "Log Backup #4" не будут восстанавливаться, потому что запись в журнале 150 - 201 на зеркале отличаются от источника, где она потеряна.

    4. Восстановить "Log Backup #4".

[В начало]

Изменения и добавления в сообщения об ошибках ввода-вывода, сделанные в Microsoft SQL Server 2005

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

Ошибка 823

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

    The operating system returned error «OS ERROR» to SQL Server during a «Read/Write» at offset «PHYSICAL OFFSET» in file «FILE NAME». Additional messages in the SQL Server error log and system event log may provide more detail. This is a severe system-level error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online.

В SQL Server ошибка 823 происходит после того, как один из перечисленных далее запросов к программным интерфейсам возвращает ошибку операционной системы:

  • ReadFile

  • WriteFile

  • ReadFileScatter

  • WriteFileGather

  • GetOverlappedResult

Для получения дополнительной информации об ошибке 823, прочтите статью на сайте Microsoft: Error message 823 may indicate hardware problems or system problems in SQL Server.
Во время исполнения операций чтения, SQL Server 2005 может использовать повторные чтения перед тем, как произойдёт регистрация что состояния ошибки 823. Ниже в этом документе повторные чтения будут рассмотрены более подробно.

Ошибка 824

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

    SQL Server detected a logical consistency-based I/O error: «ERROR TYPE DESCRIPTION». It occurred during a «Read/Write» of page «PAGEID» in database ID «DBID» at offset «PHYSICAL OFFSET» in file «FILE NAME». Additional messages in the SQL Server error log or system event log may provide more detail. This is a severe error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online.

Типы ошибки

Сообщение 824 содержат более подробную информацию о каждой найденной логической ошибке, как это показано в следующей таблице.

Обратите внимание: ошибка 824 указывает на серьезную проблему со стабильностью подсистемы ввода-вывода и должна быть исправлена немедленно.

Тип ошибки

Описание

Контрольная сумма
Checksum

Во время операции чтения обнаружена ошибка контрольной суммы. Контрольная сумма, хранимая на странице данных, не соответствует контрольной сумме, рассчитанной после операции чтения. Данные на странице были повреждены, и, чтобы исправить это, потребуется восстановление.
Дополнительные данные:
"incorrect checksum (expected: ##; actual: ##)"
Для получения помощи, войдите в контакт с изготовлением ваших аппаратных средств.

Оборванная страница
Torn Page

Во время операции чтения обнаружена ошибка обрыва бит. После операции чтения оказывается, что обрывки бит, указанные в заголовке страницы данных, не соответствуют обрывкам бит, хранимым на отдельных секторах. Данные на странице были повреждены, и, чтобы исправить это, потребуется восстановление.
Дополнительные данные:
"torn page (expected signature: ##; actual signature: ##)"
Для получения помощи, войдите в контакт с изготовлением ваших аппаратных средств.

Короткая передача
Short Transfer

Затребованное число байт не прочитано. Например, если запрос на чтение составлял 8КБ, но возвращено было только 4КБ данных, такое состояние помечается как ошибка короткой передачи. Это указывает на то, что файл поврежден, или в подсистеме ввода-вывода имеется серьезная проблема передачи данных на носитель или от носителя.
Дополнительные данные:
"insufficient bytes transferred"

Неверный идентификатор страницы
Bad Page Id

В заголовке страницы указан неправильный идентификатор для ожидаемой страницы. Идентификатор ожидаемой страницы рассчитывается по формуле: (id страницы = физическое смещение в файле / 8192 Байт). Если ожидаемую страницу вернуть не удаётся, инициируется ошибка неправильного идентификатора страницы. Дополнительные данные:
"incorrect pageid (expected ##:##; actual ##:##)"
Часто такое происходит когда во время чтения подсистема ввода-вывода возвращает неправильные данные. Исследования, проведённые службой поддержки Microsoft SQL Server, показывают, что обычно подсистема ввода-вывода возвращает данные по неправильному смещению в файле, или страница содержит одни нули. Для получения помощи, войдите в контакт с изготовлением ваших аппаратных средств.

Задержка восстановления
Restore Pending

Для исправления повреждённых страниц, можно воспользоваться новшеством SQL Server 2005 в редакции Enterprise Edition, который позволяет восстановить всего одну страницу. Если страница была повреждена, она помечается как плохая страница, и любая попытка обращения к ней возвращает ошибку 824. Это указывает на то, что только восстановление может исправить поврежденную страницу, после чего она может снова использоваться. Дополнительные данные:
"Database ID «DBID», Page «PAGEID» is marked RestorePending. This may indicate disk corruption. To recover from this state, perform a restore."

Чтение устаревших данных
Stale Read

Для получения более подробной информации о чтении устаревших данных, см. главу "Защита от чтения устаревших данных", ниже в этом документе. Для управления стением устаревших данных используется флаг трассировки: -T818.
Если говорить кратко, когда страница только что записалась на диск и еще не была удалена из считающейся устаревшей хеш-таблице чтений, порядковый номер журнала транзакций (LSN) в этой хеш-таблице отличается от LSN в заголовке страницы. Если они не соответствуют друг другу, страница помечен как ошибочная.
Пример сообщения:
"stale page (a page read returned a log sequence number (LSN) (##:##:##) that is older than the last one that was written (##:##:##))"

Ошибка аудита страницы
Page Audit Failure

При включённом флаге трассировки -T806, для страниц выполняется проверка DBCC, чтобы позволяет обнаружить проблемы логических последовательностей. Если выявляются проблемы, чтение считается ошибочным.
Дополнительные данные:
"audit failure (a page read from disk failed to pass basic integrity checks)"
Аудит страниц может повлиять на производительность, и должен использоваться только тогда, когда исследуется стабильность данных.

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

[В начало]

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

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

Реляционная модель данных для больших совместно используемых банков данных
Е.Ф. Кодд
Будущие пользователи больших банков данных должны быть освобождены от необходимости знать организацию данных в машине (внутреннее представление). Нельзя считать удовлетворительной какую-либо службу, если она предоставляет такую информацию. Изменение внутреннего представления данных и даже изменение некоторых аспектов их внешнего представления не должны влиять на работу пользователей за их терминалами и на выполнение большинства прикладных программ. Изменения представления данных часто требуются по причине изменения потока запросов, операций обновления и отчетов, естественного увеличения числа типов хранимой информации.

Модель "сущность-связь" - шаг к единому представлению о данных
Петер Пин-Шен Чен
Предлагается модель данных, называемая моделью "сущность-связь" (entity-relationship model). Эта модель основывается на некоторой важной семантической информации о реальном мире. Вводится специальный диаграммный метод как средство проектирования баз данных. Приводится пример проектирования и описания базы данных с использованием этой модели и диаграммного метода. Обсуждаются некоторые аспекты понятий целостности данных, поиска информации и манипуляций с данными.

Совместимы ли XML и реляционные базы данных?
Джордж Лапис
Реляционные базы данных являются доминирующими хранилищами данных, которые обеспечивают механизмы хранение и обработки данных, предлагающие эффективные методы и для хранения структурированных данных и для быстрого выполнения запросов. С другой стороны, XML - более новый, переносим_й формат данных, служащий для обмена полуструктурированными данными между несовместимыми системами или приложениями. Для бизнеса сегодня требуются и XML, и реляционные хранилища для легкого обмена данными и дополнительной гибкости. Когда имеет смысл комбинировать эти технологии? И какой лучший способ для реализации этого?

Как перенести данные?
Немиро Алексей
Данный обзор посвящен переносу данных с одного сервера на другой с использованием утилиты DTSWizard, которая входит в состав MS SQL Server Management Studio™. Собственно, перенести можно не только данные, но и просто структуру таблиц, и не только с одного сервера на другой, а откуда угодно и куда угодно.

Определение необходимого размера файла подкачки для 64-разрядных версий Windows Server 2003 и Windows XP
Microsoft
64-разрядные версии Microsoft Windows Server 2003 и Microsoft Windows XP поддерживают ОЗУ большего объема, чем 32-разрядные версии этих продуктов. При большом объеме памяти файл подкачки может не потребоваться. Если степень использования файла подкачки измеряется счетчиком Обмен страниц в сек, возвращаемое значение может быть неточным. Для точного измерения степени использования файла подкачки необходимо также использовать другие счетчики производительности. Для расчета необходимого размера файла подкачки можно применить измерения системного монитора.

Быстрый поиск статей базы знаний
Alexey Frolov
Иногда начинающие администраторы задают вопрос: Как я могу быстро найти статьи в базе знаний Microsoft? Вы можете отредактировать реестр добавив возможность быстрого поиска статей базы знаний в Windows XP, Windows Server 2003 или Windows Vista. Для этого необходимо:

Фрагментация (часть 1): Что такое запись?
Paul Randal
Итак, что же представляют собой записи? На самом простом уровне понимания, запись - это некоторый участок физической памяти, связанный с таблицей или строкой индекса. Конечно же, на самом деле все намного сложнее...

Фрагментация (часть 2): Что такое страница?
Paul Randal
В предыдущей статье этой серии я рассказал, что такое записи. Назначение страниц - хранение записей. Страницы базы данных имеют размер 8192-байт (8 КБ) и размещаются в базе данных непосредственно в файлах данных. В файле данных они разграничены участками по 8 КБ, начиная со смещения на 0 байт, т.е. с начала файла.

Фрагментация (часть 3) Что такое экстент?
Paul Randal
В предыдущей статье было дано описания страниц базы данных, их структуры и некоторых типов страниц. В этой статье будет рассказано о том, как страницы группируются в экстенты.

Приложение Oracle поддерживает SQL Server
Служба новостей IDG
Oracle выпустила первое обновление SQL Developer, бесплатного инструментального средства составления и выдачи SQL-запросов к базам данных. SQL Developer 1.1 упрощает создание и отладку кода на SQL и Oracle PL/SQL. Если главной особенностью SQL Developer 1.0 была поддержка различных платформ (Windows, Linux и Mac OS X), то в новой версии акцент сделан на обеспечение совместимости с СУБД сторонней разработки: SQL Developer 1.1 позволяет работать с MySQL, а также с Microsoft SQL Server и Access. В Oracle ведется работа над дальнейшим расширением инструментального средства - позднее с его помощью можно будет переносить в базы Oracle некоторые типы объектов и данных, хранимых в СУБД сторонней разработки. В этом году в корпорации планируют выпустить еще одну версию SQL Developer. Ее особенностями станут оптимизация имеющихся функций и поддержка возможностей следующей версии СУБД Oracle - Oracle 11g. Инструментарий имеет собственный сайт - SQL Developer Exchange, где разработчики могут запрашивать новые возможности и обмениваться созданными ими расширениями кода.

Вышел SQL Server Compact Edition
Гладченко Александр
Microsoft SQL Server 2005 Compact Edition - компактная система управления базами данных для быстрой разработки приложений в собственной или управляемой среде, позволяющая распространить возможности управления корпоративными данными на настольные приложения.

Рынок СУБД для Хранилищ данных. Итоги 2006 года
Intersoft Lab
Рынок СУБД для ХД состоит из продуктов, обеспечивающих программную инфраструктуру для поддержки Хранилища любого размера. Небольшим считается хранилище размером меньше 5 Тбайт, средним - 5-30 Тбайт, а крупное ХД - больше 20 Тбайт. Для измерения масштабов ХД учитывается объем данных, извлеченных из исходной системы, за исключением всех специфических структур, связанных с дизайном Хранилища (индексов, кубов, звезд и таблиц суммирования).

Репликация слиянием на практике
Гарри Зайка
Я работаю старшим консультантом в группе Financial Services Group подразделения Microsoft Consulting Services. Моя задача - помогать клиентам, работающим в финансовой сфере, эффективно использовать технологии баз данных Microsoft. Недавно одному заказчику потребовалось высоконадежное и восстанавливаемое после сбоя решение. Администратор баз данных в его компании не имел практического опыта поддержки решений с высоким коэффициентом надежности (включая репликацию), поэтому клиент хотел получить решение, которое будет несложно настраивать и поддерживать. Я расскажу об этом случае и перечислю шаги, выполненные мной при разработке решения, которое не требует глубоких знаний в области написания сценариев. Если требуется простое в использовании решение с хорошей производительностью и возможностью восстановления после сбоя, изучите этот пример. Возможно, он поможет понять, является ли репликация слиянием правильным выбором в той или иной ситуации.

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

Что нового в SP2
Брайан Моран
Недавно Microsoft объявила о выходе Microsoft Office 2007 в RTM-сборке и предварительных версий SQL Server 2005 Compact Edition Release Candidate 1 (RC1) и Community Technology Preview (CTP) для SQL Server 2005 Service Pack 2 (SP2). Я не раз говорил о значении выхода Office 2007 для разработчиков SQL Server, и теперь, при появлении Office 2007, собираюсь вернуться к этой теме в ближайшем будущем. В предстоящем материале обсудим также SQL Server Compact Edition. Сегодня же поговорим о SQL Server 2005 SP2 CTP.

Потерявшиеся при переходе на Vista
Майкл Оти
Сценарий, похоже, повторяющийся все чаще сегодня - Microsoft не обеспечивает обратной совместимости некоторых своих новых продуктов. В частности, технология Microsoft Vista несовместима с Microsoft SQL Server Desktop Engine (MSDE), а также с некоторыми другими приложениями Microsoft. Несовместимость с MSDE, безусловно, станет проблемой для клиентов, однако Microsoft, очевидно, не считает эту проблему достаточно крупной, чтобы тратить средства на ее устранение. С точки зрения Microsoft, эта проблема может даже обеспечить беспроигрышную ситуацию. Обедняя функциональные возможности продукта, можно быстрее "выставить его за дверь", тем самым "вдохновляя" клиентов на проведение модернизации.

SQLCLR: варвары на пороге
Брайан Моран
За год до выпуска SQL Server 2005 специалисты по SQL Server единодушно считали, что SQLCLR может обрушить множество бедствий на головы ничего не подозревающих администраторов баз данных всего мира и их заботливо оберегаемые реляционные базы данных. Предполагается, что неприкосновенность баз данных SQL Server во всем мире давно охраняется доблестными DBA, успешно сдерживающими "варварские полчища" разработчиков от вторжения в "цитадель" - реляционные базы данных. Любой уважающий себя DBA знает, что ни в коем случае нельзя допускать неконтролируемых действий варвара-разработчика внутри центрального реляционного механизма, поскольку это неминуемо приведет к анархии. Лишь немногие более или менее просвещенные разработчики способны постичь искусство написания хранимых процедур, тогда как истинный DBA всегда может откорректировать код, не соответствующий высоким стандартам производительности, принятым в компании.

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

Производительность, вместимость и… ничего лишнего
Рич Джонсон
Когда на крупном предприятии планируется внедрить технологию бизнес-аналитики или организовать постоянное хранилище с объемом данных, превышающим 1 Тбайт, рано или поздно начинает ощущаться необходимость значительных инвестиций в такие серверные системы, которые могли бы обеспечить вместимость и пропускную способность, соответствующие условиям существования баз данных. Мощные серверы и решения на основе архитектуры SAN, конечно, могут поддерживать большие центры хранения данных, потоковое видео и системы извлечения данных, но это дорого обходится. Система, которая в состоянии сканировать базу данных со скоростью около 700 Мбайт в секунду при однотипных операциях ввода-вывода, может стоить от 500 000 до 1 миллиона долл., причем только само оборудование, не считая стоимости программного обеспечения и обслуживания. Этот ценовой аргумент побудил меня и моего коллегу Сана Воуба заняться поиском альтернативного серверного решения.

Выполнение преобразований системы счисления
Ицик Бен Ган
В сетевых конференциях по SQL Server часто встречается вопрос о том, как выполняется преобразование системы. То есть пользователь сохраняет значения как строковые величины, содержащие числа в данной системе и хочет конвертировать их в другую систему счисления. Как правило, пользователю нужно хранить значения в недесятичной системе, когда приложение работает с недесятичными величинами (например, серийные номера, представленные по базе 36, двоичные битовые образы, хранимые в двоичной системе). Десятичная система использует цифры от 0 до 9. N-размерная система, меньше чем 10, использует цифры от 0 до n - 1. Система больше чем 10 использует числа от 0 до 9 плюс алфавитные символы, начинающиеся с A. Например, шестнадцатеричная система использует цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 и символы от A до F, где A представляет собой десятичное значение 10, B представляет 11, и так далее. Однако SQL Server не поддерживает работу cо значениями, выраженными в недесятичной системе. Таким образом, возникают трудности в связи с необходимостью хранения таких значений и выполнения арифметических манипуляций, вроде вычисления результата выражения 1101 + 1010 в двоичной системе.

Форсированное тестирование процедур T-SQL
Ден Сойер
Раньше тестирование процедур, как правило, являлось заключительной "санитарной" проверкой перед выпуском новой процедуры: четко ли работает процедура и выполняет ли все возложенные на нее задачи? Если ответ положительный, то можно выпускать процедуру и двигаться дальше. Только у некоторых администраторов баз данных находилось время заняться нетипичными сценариями использования, такими как неверные значения параметров, отсутствие данных или недоступные объекты, например рабочие таблицы. Но этот линейный подход больше не работает. Теперь известно, что хранимые процедуры, как и другое программное обеспечение, перед выпуском необходимо тестировать и перепроверять до тех пор, пока они не будут соответствовать установленным стандартам. И здесь нас ожидает препятствие, потому что тестирование модуля - процесс непростой. Оно требует трудоемкого ввода тестовых значений, отслеживания результатов теста в попытке определить, выполняет ли процедура все то, что предполагалось - и ничего более.

Анализируем использование памяти
Пракаш Сандересан, Том Дэвидсон
Анализ использования памяти SQL Server - одна из технологий, используемых группой Server Customer Advisory для того, чтобы помочь клиентам найти и устранить те или иные проблемы с производительностью. Ранее в статье "Как работает память" мы рассматривали, как SQL Server использует память и как можно контролировать этот процесс. Теперь давайте учиться пользоваться информацией об использовании памяти, чтобы обнаруживать неполадки, связанные с производительностью.

Держите свои пакеты в изоляции
Кирк Хазелден
Представьте себе такую картину: разработчик только что закончил создание пакета в SQL Server Integration Services (далее SSIS). Проверил его, используя различные входные данные, и все, кажется, работает прекрасно. Обработка ошибок проходит правильно, общая логика выделена в отдельные пакеты, которые используются совместно, есть обработчики событий, которые уведомляют о проблемах в пакете или обрабатывают ошибки вывода при выполнении задачи. Задача выполняется быстро и в среде разработки все делается без помех. Затем разработчик перемещает свой пакет на промышленный сервер компании, и все ломается. Разработчик получает ошибки всюду, где только можно. Знакомо?

Стоит ли отказываться от хранимых процедур?
Брайан Моран
Несколько недель назад один из пользователей, который сравнительно недавно начал работать с SQL Server, задал мне странный вопрос. "Я прочитал, - сказал он, - что никогда не следует использовать хранимые процедуры при проектировании приложений SQL Server. Совет помещен на домашней странице обладателя сертификата Microsoft MVP, и, полагаю, он должен быть справедлив. Каково ваше мнение? Следует ли отказаться от хранимых процедур в разрабатываемом нами приложении?"

Основные сведения о User Instances
Майкл Оти
Наличие функции User Instances отличает SQL Server 2005 Express от других редакций SQL Server. Прежде чем говорить о User Instances, необходимо пояснить, что экземпляр SQL Server по сути представляет находящуюся в памяти копию исполняемой программы sqlservr.exe. Разные редакции SQL Server поддерживают разное число экземпляров. Например, версия SQL Server 2005 Enterprise Edition поддерживает 50 экземпляров, а SQL Server 2005 Standard, Workgroup и Express - 16 экземпляров. Каждый экземпляр функционирует отдельно и имеет свой набор баз данных, который не используется никаким другим экземпляром. Клиентское приложение связывается с экземпляром по его имени.

Предельная производительность: больше, чем здравый смысл
Брайан Моран
"Предельная производительность" - термин, который мы придумали вместе с моим коллегой в 2002 г. применительно к одной из составляющих моей концепции построения систем баз данных, обладающих хорошей масштабируемостью и высокой производительностью. Эту тему я обсуждал на протяжении последних нескольких лет и хочу ненадолго к ней вернуться.

ТРАНЗИТИВНОЕ ЗАМЫКАНИЕ
Ицик Бен-Ган, Любор Колар
Предположим, нам нужно узнать, является ли один человек предком другого. Получить ответ на этот вопрос может помочь структура данных под названием "транзитивное замыкание". Например, Иван является отцом Петра, а Петр является отцом Федора. Тогда Иван является предком Федора в силу транзитивности отношения "быть предком". Транзитивное замыкание - это простая в реализации структура данных, которая конструируется в данном случае из фамильных деревьев и помогает быстро ответить на подобные вопросы. Более формально, транзитивное замыкание - это расширение или надмножество транзитивного бинарного отношения (т. е. такого отношения, что если (a,b) и (b,c) находятся в этом отношении, то (a,c) также находится в этом отношении). По сути, эта структура данных позволяет отвечать на вопросы "достижимости", такие как "существует ли путь из точки А в точку Б?". Отправной точкой в процессе (в данном случае это код T-SQL), создающем транзитивное замыкание, является ориентированный граф (пары узлов со стрелками, которые могут быть пройдены только в одном направлении).

Укрощение таблиц
Балинт Наги, Ласло Пуштай
Несколько лет назад, когда мы создавали приложение для одного заказчика, при разработке схемы базы данных перед нами встала традиционная проблема: иерархические структуры данных. 40% наших типов данных были иерархическими (например, структура товаров, заказчики, географические регионы, структура организации продаж, система папок). Из-за иерархических структур данных мы испытывали "табличный синдром": нам требовалось столько таблиц, что все они не умещались на листе. Нужно было изобрести один шаблон для иерархических таблиц и пользоваться им по всему приложению. Этот шаблон позволил не только уменьшить количество таблиц и тем самым сделать приложение менее сложным, но и повысить его гибкость. Предлагаем читателям применять наш метод для упрощения структуры базы данных в приложениях на базе SQL Server.

Что нового в SQL Server 2005 Business Intelligence?
Дуглас Макдауэлл
Наконец-то процесс создания SQL Server 2005 завершен. Если вы на протяжении долгого времени следили за подготовкой новой версии SQL, устанавливали и использовали бета-версии, с пристрастием изучали публикуемый на Web-сайте Microsoft список новых функций, читали статьи из серии How-To и официальные документы по данной тематике, тогда, вероятно, вы в точности знаете, что предлагает платформа SQL Server 2005 Business Intelligence (BI). Но если все перечисленное для вас внове или если раньше основное внимание вы уделяли улучшениям собственно в самой базе данных и только теперь бросили взгляд на BI, эта статья поможет составить общее представление о возможностях SQL Server 2005 BI.

Visual Studio 2005 и SQL Server 2005: лучше вместе
Уильям Шелдон
Повторная задержка выхода SQL Server 2005 и Visual Studio 2005 предоставила администраторам баз данных (DBA) и разработчикам дополнительное время для того, чтобы поработать с бета-версиями обоих продуктов, а также осмыслить то, как обновленные инструментальные средства могут изменить сам процесс создания приложений. Я очень рекомендую начать использовать новые возможности при проектировании и планировании приложений прямо сейчас, не дожидаясь выхода официальных версий. Это позволит получить приложения, которые сразу смогут использовать все преимущества, обеспечиваемые новыми продуктами.

Оптимизация производительности модели данных: настройка базы данных
Мишель Пуле
Оптимизация производительности базы данных SQL Server начинается с выбора корректной конфигурации базы данных и модели данных. Можно повысить быстродействие, дополнив базу данных индексами различных типов и более мощными аппаратными средствами, но полностью ликвидировать недостатки модели данных все равно не удастся. Следствием неудачной конфигурации базы данных или модели данных может стать слишком большое время отклика системы, блокированные или зависшие транзакции, неверные или неточные результаты при подготовке бизнес-отчетов, рассинхронизация данных, несогласованность данных и невозможность составить запрос для извлечения нужных данных. Но неудачная модель данных - не единственная причина таких проблем. Например, медленный отклик системы может быть результатом перегруженности сервера. Неудачное сочетание обновлений транзакции от конфликтующих приложений может привести к зависанию или блокировке. Следует всегда тщательно исследовать причины неполадок. Если не удается обнаружить перегруженный процессор или конфликт между двумя транзакциями, которые пытаются монопольно завладеть одним информационным ресурсом, необходимо внимательно рассмотреть конфигурацию базы данных и модели данных; именно они могут быть причиной неприятностей.

Автоматизация временного анализа в Analysis Services 2005
Моша Пасумански, Роберт Зар
Служба Analysis Services в SQL Server 2005 подверглась коренной переработке, и, на наш взгляд, в настоящее время это самая мощная платформа бизнес-аналитики в мире. Многочисленные функции и встроенные усовершенствования Analysis Services 2005 обеспечивают автоматическое, интеллектуальное решение многих типичных задач бизнеса. Не нужно быть специалистом в программировании OLAP или многоразмерных выражений Multidimensional Expressions (MDX), чтобы строить полнофункциональные аналитические приложения.

Использование объектов управления SQL Server 2005
Александр Каленик
Тем, кто имел опыт работы с предыдущими версиями SQL Server, наверняка известны специальные программные средства, предназначенные для выполнения административных задач. Программные средства разработки элементов управления OLTP-сервером назывались SQL-DMO (SQL Distributed Management Objects), а программные средства, с помощью которых создаются средства управления и администрирования OLAP-сервером, - DSO (Decision Support Objects).

ЗНАКОМЬТЕСЬ: Virtual Server 2005 Cluster Setup Kit
Майкл Оти
К числу наиболее примечательных достоинств продукта Microsoft Virtual Server 2005 можно отнести его полную совместимость с серверными версиями Windows и полнофункциональные средства для формирования кластеров в виртуальных машинах. Создать кластер с помощью Virtual Server 2005 не так сложно, как может показаться. В этой статье я подробно расскажу обо всех этапах данного процесса.

Безопасность SQL Server 2005 изнутри
Кэлен Дилани
В статьях о безопасности в SQL 2000 я рассказывала об ограничениях, которые имеют место при организации цепочек владения, и дополнительных вопросах безопасности, возникающих в процессе создания цепочек владения при взаимодействии между базами данных. Упоминалось и о неразберихе, связанной с моделью безопасности SQL Server 2000, которая не разделяет концепции пользователя и схемы. На этот раз мы рассмотрим усовершенствования в системе безопасности SQL Server 2005 (или Yukon), которые касаются данных ограничений.

Публикация SQL Server в Active Directory
Чед Миллер
Заметив вкладку Active Directory в свойствах SQL Server в Enterprise Manager, многие удивляются: какое отношение Active Directory (AD) имеет к SQL Server, какие преимущества можно получить при добавлении сведений об SQL Server и базах данных в AD? Сетевые службы, такие как службы файлов и печати, используют AD для публикации и хранения информации о сетевых ресурсах. AD содержит список учетных записей пользователей и каталог доступных сетевых ресурсов.

Аутентификация средствами Windows на сервере Oracle
Джон Пол Кук
Пароли, необходимые для доступа к базам данных Oracle, обычно хранятся на серверах базы данных. Администраторов баз данных такой порядок вполне устраивает, однако есть у него и свои недостатки. Если пользователь, скажем, забыл пароль и возникла необходимость его поменять, без администратора никак не обойтись. Или другой пример: синхронизацию паролей Windows и паролей баз данных Oracle можно осуществлять только вручную. А вот в системе Microsoft SQL Server встроенная функция защиты позволяет обеспечивать безопасный доступ к базе данных с помощью имен пользователей и паролей Windows. И когда пользователям нужно переустанавливать свои пароли, администратор SQL Server может поручить выполнение этой задачи сотрудникам службы поддержки.

Разработка хранимых процедур на базе CLR
Вильям Ваун
Одним из наиболее важных новшеств в готовящейся к выпуску версии SQL Server 2005 (ранее - проект Yukon) является возможность исполнения кода на основе среды исполнения Common Language Runtime (CLR). Разработчики программного обеспечения и администраторы баз данных (DBA) наверняка уже слышали о CLR. Но администраторы, которые никак не связаны с разработкой для SQL Server, могли и не обращать внимания на CLR, полагая, что на их работу CLR никак не повлияет. На мой взгляд, это не так: поскольку роль каждого, кто работает с SQL Server, постепенно меняется, необходимо иметь представление об этой новой технологии, и неважно, кем вы сами себя считаете - DBA, разработчиком или программистом.

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

Настройка SQL Server для использования физической памяти размером более 2 ГБ
Microsoft
В этой статье описан процесс настройки SQL Server на использование физической памяти размером более 2 ГБ. Microsoft SQL Server 7.0 и Microsoft SQL Server 2000 поддерживают динамическое получение и освобождение памяти по необходимости. При запуске на компьютере нескольких экземпляров SQL Server каждый экземпляр динамически получает и освобождает память, необходимую для оптимального распределения нагрузки. SQL Server 2000 Enterprise Edition предлагает поддержку технологии Microsoft Windows 2000 Address Windowing Extensions (AWE), позволяющей выделение приблизительно 8 ГБ памяти для экземпляров, запускаемых под Microsoft Windows 2000 Advanced Server, и приблизительно 32 ГБ для экземпляров, запускаемых под Microsoft Windows 2000 Datacenter. Технология AWE позволяет SQL Server резервировать неиспользуемую память для других приложений и операционной системы. Однако каждый экземпляр, использующий такую память, должен статически распределять необходимую ему память. SQL Server может использовать выделенную память AWE только для кэша данных, но не для исполняемых файлов, драйверов, динамических библиотек и т.п. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

Подключение копии SQL Server Desktop Edition или SQL Server 2005 Express Edition
Microsoft
В статье подробно описано подключение копии Microsoft SQL Server Desktop Engine (MSDE) или Microsoft SQL Server 2005 Express Edition.

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

Интеграция программных систем с Интернет на примере реального проекта
Сергей Трофимов
В настоящее время информационные технологии стали неотъемлемой частью жизни бизнес-сообщества. Практически любая, даже небольшая компания из нескольких человек, может похвастаться зарегистрированным доменным именем и собственным сайтом. У кого-то это одна-две страницы с описанием предлагаемых товаров, у кого-то - это целый портал, включающий Интернет-магазин. Сотрудники используют в своей работе программы внутренней автоматизации для учета заказов, клиентов, финансовых показателей и бухгалтерского учета. Это могут быть относительно небольшие приложения, созданные собственным программистом, или же крупные ERP-системы разработанные известными IT фирмами. Но большинство этих систем, несмотря на их функциональное наполнение, объединяет одно - они предоставляют информацию пользователям внутренней сети и только. Конечно, можно экспортировать отчет во внешний файл, а затем послать по электронной почте, но увидеть реальные данные на сайте…

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

Проектирование информационных систем. Часть 3. Этапы разработки проекта: заключительные стадии проектирования, схема базы данных
Лилия Козленко
Проектирование процесса тестирования, как правило, следует за процессом функционального проектирования и проектирования схемы базы данных. На этом этапе можно использовать сложные схемы тестирования, а можно ограничиться и простыми. Здесь мы приведем некоторые принципы, которых нужно придерживаться при проектировании любой информационной системы.

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

Впервые в России - курс по разработке архитектуры OLAP-решений с использованием Microsoft SQL Server 2005
Учебный центр "Интерфейс"
В Учебном центре "Интерфейс" появился авторизованный курс по OLAP 2005 - "Проектирование архитектуры OLAP-решений с использованием MicrosoftSQLServer 2005 (2796 Designing an Analysis Solution Architecture Using Microsoft SQL Server 2005 OLAP Analysis Services)". На данный момент курс читался лишь в США, Великобритании и Бельгии. Теперь его можно прослушать в России, в Учебном центре "Интерфейс".

Миграция SQL Server на платформу Windows Server 2003
Joshua Hoskins
Если вы администратор баз данных, в ваши обязанности, возможно, не входит обновление операционной системы на сервере баз данных, но при решении задач повышения производительности SQL Server путем модернизации операционной системы сервера до Windows 2003 придется расширить таким образом круг своих задач.

Поиск в отсортированных данных
Conor
Модель оптимизации, при принятии решения о выборе плана исполнения запроса, предполагает наличие нескольких предположений. Эти предположения (или догадки) для некоторых типов запросов и наборов данных могут оказаться неудачными, и иногда это может вызвать проблемы с планом запроса. Одну из таких проблем в команде разработки оптимизатора запросов принято называть: "The Sorted Seek Problem" - проблема поиска в отсортированных данных, и она относится к выбору плана, использующего сканирование кластеризованного индекса или кучи, или плана с поиском закладок.

Использование файловых групп для больших баз данных
Kimberly L. Tripp
Решение о том, какие пользовательские данные должны размещаться в разных файловых группах, может потребовать некоторых раздумий. Для начала, рекомендуется в первичной файловой группе оставить только .mdf - файл, который будет содержать одни системные таблицы (sysobjects, sysindexes, sysusers и так далее). Для всех создаваемых пользователями объектов рекомендуется создавать пользовательские файловые группы. Также, рекомендуется иметь только один файл журнала транзакций (.ldf). Наличие одного файла журнала обусловлено тем, что частое резервирование журнала высвобождает место, используемое для регистрации изменений. Если файл журнала резервируется каждую минуту, в журнале должны оставаться только транзакции за последнюю минуту.

Вопрос на злобу дня - Просмотр кластеризованного индекса - Часть I
Itzik Ben-Gan
С Вами когда-либо случалось, что бы Вы верили во что то так сильно, что никогда даже не пытались проверить, что это так на самом деле, потому что это казалось настолько очевидным, и однажды Вам вдруг стало понятно, что Вы были неправы? Что-то подобное случилось со мной недавно…

Вопрос на злобу дня - Просмотр кластеризованного индекса - Часть II
Itzik Ben-Gan
Какие методы доступа используются в SQL Server для полного просмотра (сканирования) данных в таблице, когда не определено предложение ORDER BY?

Вопрос на злобу дня - Просмотр кластеризованного индекса - Часть III
Itzik Ben-Gan
Почему SQL Server имеет тенденцию использовать просмотр в порядке распределения, если используются подсказки NOLOCK или TABLOCK?

Функции ранжирования и их производительность в SQL Server 2005
Alex Kozak
Функции ранжирования, представленные в SQL Server 2005, являются значительным улучшением Transact-SQL. Многие задачи, например, создание массивов, генерация последовательностей, нахождение рангов, и т.п., которые до 2005 версии требовали большого количества кода, теперь могут быть реализованы намного проще и быстрее.

Правила использования недокументированной хранимой процедуры sp_fixindex
Microsoft Team
Эта статья о том, как использовать недокументированную системную хранимую процедуру sp_fixindex, когда необходимо разрешить проблемы с индексами системных таблиц SQL Server.

Стандартные шаги исполнения запроса
Craig Freedman
Что такое итератор? SQL Server декомпозирует запросы, преобразуя их в набор стандартных блоков-примитивов, которые принято называть операторами или итераторами. Каждый итератор служит для выполнения одной операции, например, просмотр (сканирование), изменение, фильтрация или соединение данных таблиц, а также соединение двух наборов данных. Всего известно несколько дюжин таких примитивных итераторов. Итераторы могут иметь одну или несколько дочерних записей и могут объединяться в деревья, которые принято называть планом исполнения запроса. Любая инструкция SQL выполняется по соответствующему плану запроса. Для одной инструкции на практике может существовать много правильных планов исполнения запроса. Оптимизатор запросов старается найти лучший (например, самым дешевый) план запроса для каждой инструкции.

[В начало]

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

MDM Master Data Management Hub Architecture - Versions and Hierarchies
Roger Wolter
In my last post I talked about the options for implementing an MDM hub. In this post, I will drill into that a bit by discussing versions and hierarchies - two features that are key to an MDM hub implementation. I'll talk a little about why they're important and the present a few implementation options.

2.0 Sql_Handle and Plan_Handle Explained
Sangeetha Shekar
2.1 What is a Plan_Handle: Cached compiled plans are stored in the SQLCP or the OBJCP cache stores. A cached compiled plan can be retrieved from either of these cache stores using the plan_handle of the compiled plan. The plan_handle is a hash value derived from the compiled plan of the entire batch. It is therefore guaranteed to be unique for every compiled plan and can serve as an identifier for compiled plans. It is important to note a couple of points here:

3.0 How Cache Lookups Work
Sangeetha Shekar
Each cache store is implemented as a hash table. A hash value and cache key pair is used in order to check if the compiled plan is cached for a given query in the cache stores. The hash value of all cache objects is computed as (database_id * object_id) mod (hash table size), and this specifies the hash bucket. Note that the object_id for entries in the SQLCP cache store is the hash of the entire batch text. All attributes of a cached plan that must match in order for the look up to succeed is termed as a cache key. A cache key is used to find an exact match for a plan in that hash bucket. More information regarding cache keys can be found in BOL article on sys.dm_exec_plan_attributes.

4.0 Query Parameterization
Sangeetha Shekar
Using parameters or parameter markers in queries increases the ability of SQL Server to reuse compiled plans. There are two places where parameterization of queries can be done: on the client side application (or mid tier) or on the server side.

5.0 Retrieving Query Plans from Plan Cache DMV's
Sangeetha Shekar
The compiled plan is generated for the entire batch (batch level) while individual statements in the batch have query plans (statement level) associated with them. We demonstrated earlier how to retrieve the compiled plan, and in this section we will examine to retrieve the query plans from the plan cache DMV's sys.dm_exec_query_plan and sys.dm_exec_text_query_plan.

6.0 Best Programming Practices
Sangeetha Shekar
In this section we will outline some programming practices for efficient plan cache usage:

7.0 Costing Cache Entries
Sangeetha Shekar
A uniform costing scheme has been implemented for all cache stores in SQL Server 2005. The cost of a query depends on 3 factors: number of disk IO requests, number of context switches during query compilation (in 4 ms quantums) and the number of memory pages, both from single and multi-page allocations. In SQL Server 2005, the original cost of the query is a power of two, the exponent being the sum of the contributions of disk IO's, context switches and memory pages to the cost.

SQL Server 2005 XML Methods, Part Two, Retrieval Comparison
Matija Lah
After a brief introduction to XML retrieval methods in SQL Server 2005 we can examine the behaviour of a few practical examples. The implementation of XML as a native data type could not have been considered complete without XML indexes. Especially when considering data retrieval - indexing may just as well be the deciding element of the entire implementation. There are four types of XML indexes available: a primary XML index and three secondary XML indexes each of the latter with a specific intended purpose. Please, follow the link above (to Books Online) for all the details.

Encrypting Your Valuable Data With SQL Server 2005: Part 1
Dinesh Asanka
Security has become extremely important in today's fiercely completive business environment. Industry standards require you to implement firm techniques to secure your data. In SQL Server 2005, security has improved for authentication, authorization, and encryption. Encryption is so much improved that it is almost a new feature in SQL Server 2005.

Using Asynchronous Statistics Updating in SQL Server 2005
Brad M. McGehee
Most DBAs are familiar with the AUTO_UPDATE_STATISTICS database option. Under most conditions, this feature provides the Query Optimizer with up-to-date index and column statistics so that optimum query plans can be created to execute queries.

SYSK 263: .NET Stored Procs Do Not Execute in Parallel using MARS
Irena Kennedy
The http://msdn2.microsoft.com/en-us/library/ms345109.aspx article has the following note in the Interleaved Execution section:

Generating Surrogate-Keys for Type 1 and Type 2 dimensions using SSIS
Harsh Bhaiya
We published a very interesting article about data warehousing in the SQL Server Standard awhile back. However the article was abridged and the author, a very respected data warehousing professional asked that we publish the entire thing here. So we bring you Harsh Bhaiya's very popular ETL treatise.

Service Broker: Messages are queued, but how about readers?
Adam Machanic
The central database object that supports SQL Service Broker (SSB) is a queue. Messages sent between SSB services are queued and are delivered in order within a conversation. And that's exactly what one would expect from a queued solution.

Adding Indexes to Persisted Computed Columns in SQL Server 2005
Brad M. McGehee
Previous to SQL Server 2005, SQL Server supported the concept of computed columns. A computed column is simply a column in a table that is computed from an expression that can include other columns in the table, constants, functions, variables, and most any combination of operators. What many DBAs may not realize is that computed columns are virtual, not physical. In other words, the value for the computed column must be recalculated every time when it is referenced in a query. And in many cases, this is a good thing. Why store a lot of data that either may change a lot, or may not even be used. Isn't it better to calculate the computed column only when it is needed? In some cases, this is true. But in other cases, might it not be an advantage to actually persist the computed column physically?

How to Create Nonkey Columns in Nonclustered Indexes in SQL Server 2005
Brad M. McGehee
Let's say for example that we have a table that contains these columns. (This example has been simplified to make it easier to follow.)

Here is a useful DMV query for looking at memory pressure on SQL Server 2005
Glenn Berry
The clock_hand column tells you whether the clock algorithm is responding to internal (other SQL Server caches) or external memory pressure. If the values for the rounds_count and removed_all_rounds_count columns are increasing, this is a good sign of memory pressure.

Happiness is automatic SQL Reporting Services localization
Russell Christopher
Many people understand that you can leverage User!Language in order to grab the regional / language settings of a user, then use this information to localize your report data & label text. If you don't, no worries. Check this topic out:

Write PIVOT queries in SQL Server 2005
Tim Chapman
New to SQL Server 2005 is the PIVOT operator, which gives you the ability to rotate row level data into tabular data without the use of the CASE statement, as was necessary in previous versions of SQL Server.

Multiselect friendly MDX for calculations looking at current coordinate
Mosha Pasumansky
Last year I wrote a blog about Writing multiselect friendly MDX calculations, which according to the statistics quickly became one of the most popular blog entries. In that blog we discussed how AS converts multiselect calculated members with Aggregate into sets in WHERE clause and how to code MDX expressions in order to avoid references to CurrentMember function, which fails when there is a set in the current coordinate. However, it is not always possible to avoid direct or indirect reference to CurrentMember. Let's take as an example calculations for the previous period described in the Time calculations in UDM: ParallelPeriod (another very popular post). ParallelPeriod function needs to have single member as a CurrentMember, because ParallelPeriod returns a single member. The same is true about many other MDX functions - PrevMember, Lag, Lead, Parent, Ancestors, Siblings, FirstChild, LastChild etc.

SP2/BPA Frequently Asked Questions
Paul A. Mestemaker II
have been getting a lot of questions and hearing a lot of speculation about SP2 and BPA. Let me address some of the most common questions.

SQL Server 2005 Integration Services - Part 40 - Web Service Task
Marcin Policht
In this installment of our series dedicated to SQL Server 2005 Integration Services, we will review a Web Service Control Flow task that exposes an infinite range of easily deployable features by leveraging capabilities present in the .NET Framework. We will explain the underlying principle of this methodology, describe characteristics of its SSIS implementation, and conclude with an example demonstrating its use.

db_securityadmin is very powerfull and … dangerous
Igor Kovalenko
Few days ago I worked for one client. He uses the following business model:

SQL Server 2005: building security model based on triggers
Igor Kovalenko
Last month I'm working with a client to create something like non-standard security model. He asked for the following features:

Access to SQL Server: The Upsizing Wizard
Kathi Kellenberger
SQL Server 2000 is the basis for the new Access database storage. However there are still many cases where applications developed on Access are outgrown and need to be moved to SQL Server to support the load. Author Kathi Kellenberger brings us a look at the Upsizing Wizard and how you can move your databases to SQL Server.

How To Check If Any, ALL Or No Parameters Have A NULL Value
SQL
Let's say you have a procedure that accepts 6 parameters. depending on if these parameters are all null, all not null, some null and some not null you want to do different things.

Easy code archiving in SQL Server 2005
Tim Chapman
As a database administrator, I always try to give code that I promote to our production environments a thorough look before the move is made. However, as much as I hate to admit it, I can't catch everything that may disrupt our production system. When these situations occur, sometimes the remedy is to revert back to a previous version of the object code, which can be a stored procedure, view, function, etc. What you do not want to have to do, if possible, is have to restore the code from a database backup. It often takes too long to get to the backup if it is stored on tape, and if the database is large, it takes quite a while to restore. Not to mention that you have to find a server large enough for restoring the backup file. There's got to be a better way.

Automate the process of trimming table data in SQL Server 2005
Arthur Fuller
A friend and colleague recently faced an interesting problem. Each month he receives a huge amount of data from a client, which he then must massage before it's usable. The tables contain millions of rows, and the structure of the tables may vary from month to month. To make matters worse, much of the data contains leading or trailing blanks or both.

How to run a DLL-based COM object outside the SQL Server process
Microsoft
Microsoft SQL Server 6.5 or later provides the capability to load and run custom Component Object Model (COM) objects through a set of OLE Automation stored procedures or through extended stored procedures. By default, DLL-based COM objects are loaded as in process server, which means that the COM objects are not only loaded within the SQL Server process memory address space, but they also have full access to this memory address space. Therefore, a COM object loaded in the SQL Server process space must adhere to the same rules as any DLL file. There is a potential that a COM object could overwrite memory within the SQL Server process or leak resources, causing instability.

[В начало]

ФОРУМ SQL.RU

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

Задача по разбору и преобразованию строк таблицы.
Конфигурация внешних RAID массивов под большие объемы данных > 1TB
Помогите с условием
Перестала выполняться храним. процедура
Табличные переменные - неэффективный глюк? Их надо избегать всеми способами?
как защитить свои разработки ?
Производительность после увеличения хранилища
Не открываются таблицы из ADP(Access) после Attach
С Новым Годом!
как узнать что база данных была изменена?
Помогите с соединением двух серверов
Нетривиальный запрос по обходу графа
очень нужна помощь (не могу подрубиться к ms sql 2000)
Баккэппинг в SQL 2005 Express
Минимальные права на профайлер
Вставка данных в виде цикла или …
Не могу установить SQL Server 2000 все перепробовал !!! Help!
И снова урезка логов
Вызов удаленной процедуры в текущем контексте or smth like that
Как с помощью ALTER TABLE снять с поля IDENTITY?

[В начало]

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

sql query
проблема с Log Shipping Monitor
Какой последний RollUP на MS SQL 2000 SP4 есть ?
EncryptByPassPhrase поиск по зашифрованным данным
Восстановление данных о планах обслуживания баз
Database Mail не могу отправить письмо (MS SQL 2005)
Пример видимого снаружи куска системы, работающей на SQL2005
Исполнение линкованного к MSSQL запроса через ADO/JET выполняет команду два раза
Доступен для загрузки Русский языковой пакет платформы Microsoft .NET Framework 3.0

[В начало]

#341<<  #342  >>#343
Rambler's Top100 Рейтинг@Mail.ru  Administrator: Обратная связь 
Copyright: SQL.Ru 2000-2013