Отправляет email-рассылки с помощью сервиса Sendsay

MS SQL Server

  Все выпуски  

MS SQL Server - дело тонкое...


Информационный Канал Subscribe.Ru

#246<<  #247

СОДЕРЖАНИЕ

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

СТАТЬИ

Основы I/O в SQL Server 2000

По материалам статьи Bob Dorr: SQL Server 2000 I/O Basics
Перевод Александра Гладченко

Изучение требований к операциям ввода-вывода (I/O) с файлами баз данных Microsoft SQL Server поможет Вам поднять производительность системы и избежать ошибок, связанных с I/O.

Введение

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

Важно: При планировании, развертывании и поддержке Microsoft SQL Server, убедитесь, что система ввода-вывода удовлетворяет всем факторам, на которые акцентируется внимание в этой статье.

Microsoft Knowledge Base и Microsoft SQL Server Books Online (BOL) содержат много подробной информации, связанной с операциями I/O в SQL Server. В тексте, при необходимости, автором указываются ссылки на информацию, которая важна для понимания предлагаемого в этой статье материала.
Важно: Автор рекомендует полностью ознакомиться с материалом, на который он ссылается, перед тем, как Вы начнёте изучать следующие за ссылкой главы.
Справочная система Books Online (BOL): Все ссылки на BOL, используемые в этой статье, взяты из Microsoft SQL Server 2000 Books Online (обновлённая редакция, с учётом новшеств SP3), который можно скачать по этой ссылке: http://www.microsoft.com/sql/techinfo/productdoc/2000/books.asp. Если в открывшейся странице нажать на ссылку Product Documentation, можно выбрать альтернативный вариант просмотра BOL в интерактивном режиме.

[В начало]

Терминология

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

Требования ACID

Это аббревиатура от Atomicity, Consistency, Isolation и Durability, которая применяется для описания основных требований к SQL Server по организации транзакций, предъявляемых к надежным серверам баз данных.
Атомарность: Atomicity - транзакция должна быть атомарной для исполняемого блока команд. Или все её изменения данных будут исполнены, или не будет исполнено ни одно из них.
Последовательность: Consistency - после завершения транзакции данные должны оставаться в непротиворечивом состоянии. В реляционной базе данных, должны быть предприняты все меры к тому, чтобы поддерживать целостность данных во время исполнения модифицирующих данные транзакций. Все внутренние структуры данных, например: бинарные деревья индексов или дважды связанные списки, не должны нарушаться после завершения транзакции.
Изоляция: Isolation - изменения, сделанные в параллельных транзакциях, должны быть изолированы от изменений, сделанных другими исполняемыми параллельно транзакциями. Транзакция должна видеть данные в том состоянии, какими они были до изменения их другой параллельной транзакцией, или в том состоянии, в каком данные окажутся после завершения второй транзакции, но не должна видеть их промежуточное состояние. Всё это называется сериализацией, потому что предоставляет системе возможность перезагружать изначальные данные и повторять серию транзакций, чтобы в результате данные оказались в том состоянии, в каком они должны быть после исполнения первичной транзакции.
Неизменность: Durability - после того, как транзакция завершена, результаты её работы в системе не должны изменяться. Изменения должны сохраняться даже в случае отказа системы.

[В начало]

Write-Ahead Logging протокол (WAL)

Write-Ahead Logging - Упреждающее журналирование является ключевым методом обеспечения требований ACID. WAL позволяет обеспечить сброс на диск записей из журнала транзакций, относящихся к изменениям данных, раньше того, как будут сброшены на диск сами эти изменённые страницы данных. Ниже, в этой статье, механика WAL будет описана более подробно.

[В начало]

Метка времени

Зафиксированное на заданный момент времени состояние, как будто время было остановлено в этот момент.

[В начало]

Долговременные носители

Долговременные носители часто путают с физической памятью. SQL Server использует долговременные носители в качестве памяти, которая может пережить рестарт системы или её отказ. Долговременными носителями обычно считают память физического диска, однако к ним относятся и другие устройства, а также некоторые средства кэширования. Многие высокопроизводительные дисковые подсистемы имеют высокоскоростные средства кэширования, позволяющие уменьшить время ожидания для операций чтения и записи. Этот кэш часто резервируется и обладает автономным питанием от собственной батареи. Автономная батарея обеспечивает питание и соответственно сохранность данных в кэше до нескольких дней, но реализация такого резервирования отличается у разных производителей. Производители могут поставлять батареи опционально, чтобы увеличить жизнь кэша, если это необходимо заказчику.
Идея такого решения состоит в том, что бы после того, как проблема с системой будет устранена, сохранённые в кэше записи отработались бы так, как будто никогда не было отказа или рестарта. Реализация такого решения у большинства производителей подразумевает немедленный сброс на диск содержимого кэша, в то время, пока система будет перезапускаться.
Ниже представлены примеры ситуаций успешного разрешения описанных выше проблем, с которыми реально сталкивается персонал Microsoft SQL Server Product Support Services.

Пример 1: Аппаратный отказ (материнская плата)
У контроллера была встроенная батарея для защиты кэша данных. Был проинсталлирован новый компьютер, и к нему были подключены контроллер с подсистемой I/O. Во время старта, контроллер сбросил на диск всё содержимое кэша, после чего команда DBCC показала отсутствие проблем с целостностью данных.

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

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

Если происходит сбой аппаратных средства или питания, после восстановления Microsoft рекомендует обязательно выполнить полную проверку данных командой DBCC CHECKDB и всегда иметь полный набор резервных копий, что позволит гарантировать целостность данных.
Для получения более подробной информации об использовании кэширующих дисковых контроллеров с SQL Server, см. следующие статьи:

[В начало]

Порядок записи

Порядок записи или последовательность записи (write ordering / write dependency) - это сохранение подсистемой I/O порядка операций ввода-вывода. Как было сказано ранее, долговременные носители могут использовать кэширование. Если отследить метки времени, долговременные носители должны обеспечить порядок их сохранения для операций I/O.
Порядок операций I/O, связанных с SQL Server, должен строго соблюдаться. Система должна обеспечить соответствующее упорядочение записи, иначе она нарушит протокол WAL, который подробно будет описан ниже (записи в журнале должны сохраняться в правильном порядке, и они всегда должны сохранятся на устройстве долговременного носителя до сохранения страниц данных, которые соответствуют эти записям в журнале). После того, как записи из transaction log будут успешно сброшены на диск, связанные с ними страницы данных тоже могут быть туда записаны. Если подсистема ввода-вывода разместит страницы данных на долговременном носителей раньше, чем записи журнала, целостность данных может быть нарушена.
Например, если компьютер, на котором работает SQL Server, будет перезагружен после того, как страницы данных сохранятся на долговременном носителе, но до того, как туда попадут соответствующие им записи журнала, во время следующего запуска процесса реорганизации (recovery) для базы данных - могут возникнуть ошибки. Поскольку в журнале не будут обнаружены записи об изменении страниц, процесс recovery не сможет определить для этих страниц реальное состояние транзакций. Поскольку записи журнала не сохранена на диск долговременного носителя, процесс recovery не сможет определить, что эти страницы должны быть откачены к предыдущему состоянию, и не будет пытаться исправить эту проблему, оставляя, таким образом, базу данных в несогласованном состоянии.

[В начало]

Многоканальные и балансирующие нагрузку системы

Многие высокопроизводительные дисковые подсистемы балансируют нагрузку по нескольким, имеющимся каналам передачи запросов I/O. Эти системы должны обеспечивать порядок следования запросов I/O. Многие из таких систем поддерживают порядок I/O за счёт использования кэша долговременного носителя и последующего комбинирования и/или разбиения запросов на I/O между доступными ресурсами подсистемы, чтобы потом сохранить их на физических носителях.
Для получения дополнительной информации о балансировании I/O ознакомьтесь с этой статьёй: NT Server and Disk Subsystem Performance

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

[В начало]

Обзор SQL Server 2005 для разработчика баз данных (окончание)

По материалам статьи Matt Nunn, Microsoft Corporation: An Overview of SQL Server 2005 for the Database Developer
Перевод Виталия Степаненко

Содержание

Новая парадигма разработки баз данных
Интеграция с .NET Framework
Технологии XML
Новая среда разработки
Улучшения языка
Заключение

Улучшения языка

Улучшения в Transact-SQL

Transact-SQL долго был основой для всего программирования в SQL Server. SQL Server 2005 Beta 2 предоставляет множество новых языковых возможностей для разработки масштабируемых приложений баз данных. Эти улучшения включают обработку ошибок, новые рекурсивные возможности запросов и поддержку новых возможностей SQL Server Database Engine. Улучшения Transact-SQL в SQL Server 2005 Beta 2 повышают эффективность написания запросов, позволяя Вам повысить производительность Вашего кода и расширить возможности по управлению ошибками. Большие усилия, которые были затрачены на улучшение Transact-SQL, показывают твердую веру в его важную роль в SQL Server.

Рекурсивные запросы и общие табличные выражения

Общее табличное выражение (common table expression, CTE) - это временный именованный набор результатов, на который могут ссылаться команды. В простой форме CTE может рассматриваться как улучшенная подзапроса. Вы ссылаетесь на CTE в выражении FROM запроса, так же, как и на подзапросы. Вы определяете CTE только один раз и можете ссылаться на него несколько раз в Вашем запросе. В определении CTE Вы можете ссылаться на переменные, которые определены в том же пакете. Вы даже можете использовать CTE в командах INSERT, UPDATE, DELETE и CREATE VIEW, так же, как Вы используете представления. Настоящая мощь CTE заключается в его рекурсивных возможностях, когда CTE может содержать ссылки на самого себя. Вы используете подзапросы, когда хотите сослаться на результат запроса как на таблицу и не хотите создавать постоянное представление в базе данных. Однако результаты подзапросов имеют ограничение, которое снимается CTE: Вы не можете определить полученную таблицу один раз и использовать ее несколько раз; вместо этого Вы должны создать несколько подзапросов в том же запросе. Также Вы можете определить CTE один раз и использовать его несколько раз в запросе без сохранения в базе данных.

Нерекурсивные CTE увеличивают возможности Ваших выражений. Однако для каждой части кода, в которой используются CTE, Вы можете писать более длинный код, который выдает такие же результаты, используя конструкции Transact-SQL, такие, как подзапросы. Это отличается от рекурсивных CTE. Когда CTE ссылается на себя, оно считается рекурсивным. Рекурсивные CTE создаются как минимум из двух частей запроса (или членов, как это называется для рекурсивных запросов). Первая часть - это нерекурсивный запрос, который также называется anchor member (AM). Другая часть - это рекурсивный запрос, который также называется recursive member (RM). Части запроса объединены оператором UNION ALL в одно CTE.

Операторы PIVOT и UNPIVOT

SQL Server 2005 Beta 2 представляет два новых реляционных оператора, PIVOT и UNPIVOT, которые Вы можете использовать в выражении FROM запроса. Эти операторы выполняют некоторые преобразования над входным табличным выражением и выдают таблицу в результате. Оператор PIVOT превращает строки в столбцы, выполняя при этом агрегацию при необходимости. Он расширяет входное табличное выражение, основываясь на заданном для преобразования столбце и создавая таблицу вывода со столбцом для каждого уникального значения в столбце для преобразования.

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

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

Оператор APPLY

С использованием оператора APPLY SQL Server 2005 Beta 2 позволяет Вам ссылаться на табличную функцию в кореллированном подзапросе. Реляционный оператор APPLY позволяет Вам вызвать определенную табличную функцию один раз для каждой строки внешнего табличного выражения. Вы определяете APPLY в выражении FROM запроса, также, как Вы используете реляционный оператор JOIN. APPLY существует в двух формах - CROSS APPLY и OUTER APPLY.

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

OUTER APPLY очень похож на CROSS APPLY, но также он возвращает строки из внешней таблицы, даже если табличная функция возвратила пустой набор. Возвращаются значения NULL как значения столбцов, которые соответствуют столбцам табличной функции.

Обработка исключений в транзакциях

Более ранние версии SQL Server требуют от Вас вставлять код обработки ошибок после каждой команды, которая может вызвать ошибку, как это делается в Microsoft Visual Basic 6.0. Чтобы централизовать код проверки ошибок, Вам нужно использовать метки и операторы GOTO. Более того, такие ошибки, как, например, ошибки конвертирования типа данных, прерывают ваш пакет, так что Вы не можете их отследить с помощью Transact-SQL. SQL Server 2005 Beta 2 обрабатывает многие из этих проблем с помощью простого, но развитого механизма обработки исключений в форме конструкции TRY/CATCH Transact-SQL, идентичной конструкциям Visual Basic .NET и C#. Ошибки, которые ранее вызывали прерывание команды, области видимости, пакета или транзакции, теперь могут быть отслежены и обработаны в том случае, если эти ошибки не слишком серьезны, чтобы вызвать прерывание соединения.

Для обработки ошибок, просто введите код, который Вы хотите выполнить, в блоке BEGIN TRY/END TRY, а код обработки ошибок введите в блок BEGIN CATCH /END CATCH. Заметьте, что блок TRY должен иметь соответствующий блок CATCH, в противном случае Вы получите синтаксическую ошибку.

Уведомления о событиях DDL

SQL Server 2005 Beta 2 позволяет Вам перехватывать системные события и события DDL и отправлять уведомление о событии службе Service Broker. В отличие от триггеров, которые обрабатываются синхронно, уведомление о событии - это механизм событий, который поддерживает асинхронное получение данных. Уведомление о событии отправляет данные XML определенной службе Service Broker, и получатели событий получают эти данные асинхронно. Получатель событий может ожидать новые данные, используя расширения выражения WAITFOR команды Receive у Service Broker.

Улучшения полнотекстового поиска

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

Улучшения безопасности

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

Все улучшения и средства безопасности можно разделить по трем областям:

- Ограничение пользовательского доступа к SQL server: больший контроль над доступом к SQL Server и улучшения в механизме, который позволяет администратору контролировать доступ к SQL Server через политики.

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

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

Заключение

Microsoft SQL Server 2005 предоставляет инструменты, которые требуются разработчикам для создания новых классов приложений базы данных. Удаляя барьеры при выполнении кода и расположении хранилища, и объединяя вместе различные стандарты, такие, как XML, SQL Server 2005 предоставляет разработчику баз данных большое количество новых возможностей. Эта статья - только вступление к описанию того, что Вы можете делать в SQL Server 2005.

[В начало]

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

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

Некоторая оптимизация в 2000 сиквеле:
Ivan's Blog
MSSQLServer: Некоторое время назад была забавная дискуссия, которая началась с возмущенного возгласа: "Какого Гейтса SQL сервер разрешает грязное чтение?!!" И приводился примерно следующий сценарий:...

Еще о недюженном уме 2000 SQL Server'а
Ivan's Blog
MSSQLServer: Отчасти в продолжение прошлому рассказу о талантах SQL Server'а, несколько замечаний об особенностях блокирования индексов...

Телега о кластерном индексе
Ivan's Blog
MSSQLServer: По неизвестной мне причине, казалось бы уже миллион раз поднятый и разобранный вопрос о правильном использовании кластерного индекса поднимается вновь и вновь, и, что самое удивительное, наружу выплывают все те же старые мифы:...

SQL 2005, мартовский CTP: They did it! Теперь все срочно переписывать...
Ivan's Blog
MSSQLServer: Сам пока не проверял, но по достоверным слухам в следующей версии сиквел-сервера, вот такая незатейливая команда: select * from sysobjects o, syscolumns c where o.id *= c.id Приведет к одному из самых длинных сообщений об ошибке...

Microsoft объявила о расширении продуктовой линейки готовящегося к выходу SQL Server 2005
пресс-релиз Microsoft
MSSQLServer: Корпорация Microsoft сообщила подробности о новой продуктовой линейке для Microsoft SQL Server 2005 - новой версии своего основного продукта СУБД масштаба предприятия, рассказав о новых функциональных возможностях и ценовой политике для расширенной продуктовой линейки SQL Server 2005. Семейство продуктов SQL Server 2005 было переработано с тем, чтобы более полно удовлетворять потребности заказчиков из всех сегментов. Являясь широко распространенной базой данных, продукт предоставляет исключительные преимущества и функциональность, по сравнению с конкурирующими решениями. В четырех новых версиях продукта будут представлены различные возможности: от максимальной доступности и высокой масштабируемости до улучшенных инструментов бизнес-анализа. Таким образом, пользователи в...

Контроль VAS в SQL Server 2005
Slava Oks
MSSQLServer: Когда разработчики приступили к работе над следующей версией SQL Server - Yukon, они осознавали, что развитые средства поддержки являются одним из ключевых моментов успешности проекта. Своей целью автор ставит охват тем, описывающих "нижние" уровни организации СУБД, которые многим из Вас, как он уверен, действительно интересны, то есть это управление памятью и планирование ресурсов. В этой статье представлен беглый обзор того, как можно контролировать и диагностировать виртуальное адресное пространство - Virtual Address Space (VAS), используемое SQL Server. Автор надеется, что Вы понимаете что такое VAS и как оно организовано в Windows. Надеясь на Ваше терпение, автор постарается побыстрее описать всю исходную информацию, что бы в ближайшем будущем мы могли подробно пог...

Обзор Virtual Address Space - VAS
Slava Oks
MSSQLServer: Память представляет собой набор разделяемых между приложениями, их компонентами и операционной системой ресурсов. Нужно чётко себе представлять, что происходит при обращении к каждому конкретному ресурсу памяти. Очень часто, разработчики, пользователи или администраторы баз данных ошибочно считают, что при обращении к разным ресурсам памяти используется один универсальный раздел памяти. Такое представление было справедливым для DOS, когда всё было просто и не существовало даже понятия виртуальной памяти, а приложения не разделяли ресурсы компьютера между собой. С тех пор многое изменились...

SQL Server 2000 Workgroup Edition - Клиент всегда прав!
Александр Гладченко
MSSQLServer: В этой статье я постараюсь осветить причины появления новой редакции SQL Server 2000, рассмотреть отличия этой редакции от существующих редакций, представить Вам некоторые особенности лицензирования Workgroup Edition и обновления к серверным редакциям или новым версиям, а также пофантазировать на тему, где и когда эта редакция применима...

[В начало]

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

SSIS: Adding variable values to the pipeline
Jamie Thomson's Blog
A colleague was poking a bit of fun at me yesterday for the amount of blogging I've been doing recently and I told him "Mike, I won't be writing anything this coming weekend". Well, I am hereby renaging on that promise - sorry Mike :)

Smalldatetime conversion - be aware
Jamie Thomson's Blog
I have had a major T-SQL problem in the last 2 days that has had me tearing my hair out. I have now got a solution and I thought that it was worth sharing what I had learned - maybe I can prevent someone else from having the same problems

Improvements to dimension security in Analysis Services 2005
Mosha Pasumansky
What changed with respect to dimension security in Analysis Services 2005 ? A lot ! I will try to touch on most important changes

Why did my context switches grow like crazy on 64-bit?
scalabilityexperts.com
I’ve recently started another round of load testing on SQL 2005 beta 2 64 bit, and I came up with an experience very similar to what I have now found to be not all that uncommon according to other testers. In this example the machine setup was a 4 processor Itanium 2, with 16 GB RAM

Interview Question: Halloween Problem
Randy Dyess
Trying to find information to blog about on a regular basis is going to be one of those issues that will face more and more people as blogs keep growing in popularity. I have always tried to keep this blog on a technical level, but sometimes that policy leaves me without anything to write about. I tried to do a daily Transact-SQL blog but that got boring really fast. This leads me to try something different

Interview Question: Context Switching
Randy Dyess
For today’s question we are going to jump from disk I/O to CPU. This question should be on the list of questions asked during any interview for senior-level and higher positions

Interview Question: Hiding SQL Server
Randy Dyess
Today’s question involves a little bit of security. This question is a good one to ask when leveling potential candidates

Interview Question: Default Virtual Memory
Randy Dyess
How much virtual memory does the user mode portion of a process have by default?

SQL Server 2005 - Management Utilities
Marcin Policht
In the first article of this short series covering new and improved utilities of SQL Server 2005 Beta 2, we presented the SQL Server Management Studio, which provides a single, uniform interface for the majority of administration and programming tasks. We also discussed SQL Profiler and Database Tuning Advisor, which, while operating independently, can be invoked from its Tools menu. Now it is time to review the remaining graphical and command line programs, which should be part of the toolkit of every SQL Server 2005 database administrator and programmer

Microsoft Office Visio 2003 Connector for the Microsoft Baseline Security Analyzer (MBSA)
Microsoft
Do you know the security status of your network? Get a visual. The Visio Connector for MBSA lets you view the results of a Microsoft Baseline Security Analyzer scan in a clear, comprehensive Microsoft Office Visio 2003 network diagram. You must have both Visio 2003 and the Microsoft Baseline Security Analyzer — a free security tool from Microsoft — for this connector to function

Introducing System.Transactions
John Bristowe
System.Transactions is a new namespace introduced in the .NET Framework 2.0 that addresses transaction management. In his whitepaper entitled, "Introducing System.Transactions", Juval Lowy provides a detailed account of this namespace

UNIX timestamp to System.DateTime
Mikkel Rostock
Converting UNIX timestamps to System.DateTime

SQL Server Scripting and WMI
Anthony Loera
During the course of your career, you will be asked to do small miracles for the company that you work for. The worst part of this, is that you may be out with your family at Disney, Chuck-e-Cheese, or the local pizza place when you get the page, or phone call. Regardless of how you get notified, it becomes extremely difficult to suddenly leave your family when an emergency arises. Some emergencies can't be helped, others are likely nuisances that have developed through no fault of your own, but still need to be addressed.

SQL Server 2005 Beta 2 Snapshot Isolation
Kimberly L. Tripp
SQL Server 2005 provides non-locking, non-blocking read consistency to your users via snapshot isolation. Find out when to use it to improve performance and reduce latency in your applications. (59 printed pages)

XML Options in Microsoft SQL Server 2005
Microsoft Corporation
Three options for handling XML data in the Visual Studio 2005/SQL Server 2005 environment are discussed, including usage scenarios and guidelines to help you choose between them. (34 printed pages)

Overview of Native XML Web Services for Microsoft SQL Server 2005
Brad Sarsfield, Srik Raghavan
Get an overview of how to set up and use XML Web Services using SOAP/HTTP inside SQL Server 2005 (formerly known as "Yukon"). Illustrative examples are included. To get the most from this paper, you should have a basic understanding of Web service technologies including HTTP, SOAP, and WSDL. (7 printed pages)

XML Data Type Support in ADO.NET 2.0: Handling XML from SQL Server 2005
Bob Beauchemin, DevelopMentor
See how improvements to XML support in Microsoft ADO.NET 2.0 and Microsoft SQL Server 2005 work together to make handling XML data in your applications easier. (13 printed pages)

What's New in FOR XML in Microsoft SQL Server 2005
Michael Rys
This first in a series of articles by Michael Rys details the major new capabilities of the server-side FOR XML clause in the next version of SQL Server. These enable you to further enhance the XML support in your applications and to write easy-to-maintain relational data-to-XML aggregations. (12 printed pages)

Overview of the Analysis Services Development and Management Environments
Microsoft Corporation
SQL Server 2005 introduces a rich set of tools supporting the development and management of Business Intelligence applications. This includes applications using Analysis Services (OLAP and Data Mining), as well as Reporting Services and Data Transformation Services (DTS). (22 printed pages)

Introduction to the Unified Dimensional Model (UDM)
Paul Sanders
This paper provides an introduction to the Unified Dimensional Model (UDM), including the basic end-user model, and a brief overview of the architecture and security models. (19 printed pages)

A Tutorial for Constructing a Plug-in Viewer
Jesper Lind and Scott Oveson
This article steps through the process of implementing a plug-in viewer and integrating the viewer into Analysis Services. Provides stub code to enable viewer developers to quickly write a plug-in viewer into Analysis Services. (21 printed pages)

SQL Server 2005 Full-Text Search: Internals and Enhancements
Andrew Cencini
See the benefits and new features of SQL Server 2005 full-text search for both developers and database administrators. (23 printed pages)

An Overview of SQL Server 2005 Beta 2 for the Database Administrator
Microsoft Corporation
This document provides an overview of new features in Microsoft® SQL Server™ 2005 for database administration and database availability, scalability, and security.

Business Intelligence and Data Warehousing in SQL Server 2005
Microsoft
This paper provides and overview of the enhancements to the Business Intelligence platform for SQL Server 2005 Beta 2. This paper is not an implementation guide, but rather provides information about the enhancements to the Business Intelligence platform

What's New in SQL Server Agent for Microsoft SQL Server 2005 Beta 2
Microsoft
This document provides an overview of new features for the SQL Server Agent job scheduling service for Microsoft® SQL Server™ 2005 Beta 2.

Migrating from Microsoft SQL Server 2000 Analysis Services to SQL Server 2005 Beta 2 Analysis Services
Richard Tkachuk
Analysis Services 2005 introduces some powerful new concepts: the UDM, a simpler calculation model and many new features. In most cases, cubes designed with Analysis Services 2000 can be easily migrated to Analysis Services 2005 with little or no manual intervention. This document describes those situations where results in a migrated cube may differ from the original.

Fuzzy Lookup and Fuzzy Grouping in Data Transformation Services for SQL Server 2005
Surajit Chaudhuri, Kris Ganjam, Venky Ganti, Vivek Narasayya, Theodore Vassilakis
This paper describes the Fuzzy Lookup transformation and Fuzzy Grouping transformation in Data Transformation Services (DTS) for SQL Server 2005. Fuzzy Grouping transformations are useful for improving data quality at the destination database. Fuzzy Lookup matches input that is "dirty"—because of misspellings, truncations, missing or inserted tokens, null fields, unexpected abbreviations, and other irregularities—with clean records in a reference table. Fuzzy Grouping detects similarities between input rows and determines which rows are duplicates by using their string values. Fuzzy Grouping and Fuzzy Lookup are useful primitives that can simplify a variety of data cleaning and preparation tasks that are frequently encountered in data warehousing. By customizing them for your domain, you can leverage general search and clustering algorithms inside the DTS Designer while avoiding complex custom code. (13 printed pages)

Improving Performance with SQL Server 2005 Indexed Views
Eric Hanson
This document describes the improved indexed views capability of SQL Server 2005 Enterprise Edition. Indexed views are explained and specific scenarios in which they may provide performance improvements are discussed.

SQL Server 2005 Beta 2 Snapshot Isolation
Kimberly L. Tripp
In many systems today, significant read activity is isolated from write activity in the form of a data warehouse or separated system. There are numerous advantages to this approach; read-intensive applications tend to want more index structures, data redundancies and even alternate views of data. Transaction processing systems want throughput; only the most minimal overhead to allow the best write throughput. The access patterns of readers and writers typically differs; readers are more prone to larger analysis types of queries and writers are more prone to singleton inserts, updates and deletes. When these activities are separated the administrator can focus on recovery strategies for a smaller more manageable transaction processing system; OLTP databases tend to be only a fraction of their data redundant Decision Support/Analysis Database cousins. Having said this; however, it is not always possible to clearly make this distinction. Once data is copied/transformed/archived to an analysis-oriented database it must be maintained and/or rebuilt periodically. Users certainly benefit from looking at a transactionally consistent version of the database; however that version is no longer current data, may take many hours to build and index and might not be what the user really needs. Enter snapshot isolation

Strategies for Partitioning Relational Data Warehouses in Microsoft SQL Server
Gandhi Swaminathan
Partitioning, in Microsoft SQL Server, facilitates the effective management of highly available relational data warehouses. This white paper discusses several factors that influence partitioning strategies and design, implementation, and management considerations in this environment.

Where the Rubber Meets the Sky: Bridging the Gap between Databases and Science
Jim Gray; Alex Szalay
Scientists in all domains face a data avalanche – both from better instruments and from improved simulations. We believe that computer science tools and computer scientists are in a position to help all the sciences by building tools and developing techniques to manage, analyze, and visualize peta-scale scientific information. This article is summarizes our experiences over the last seven years trying to bridge the gap between database technology and the needs of the astronomy community in building the World-Wide Telescope.

TerraServer Bricks – A High Availability Cluster Alternative
Tom Barclay; Jim Gray; Wyman Chong
Microsoft® TerraServer stores aerial, satellite, and topographic images of the earth in a SQL database available via the Internet since June 1998. It is a popular online atlas, combining twenty-two terabytes of image data from the United States Geological Survey (USGS). Initially the system demonstrated the scalability of PC hardware and software – Windows and SQL Server – on a single, mainframe-class processor [Barclay98]. Later, we focused on high availability by migrating to an active/passive cluster connected to an 18 terabyte Storage Area Network (SAN) provided by Compaq Computer Corporation [Barclay04]. In November 2003, we replaced the SAN cluster with a duplexed set of “white-box” PCs containing arrays of large, low-cost, Serial ATA disks which we dub TerraServer Bricks. Our goal is to operate the popular TerraServer web site with the same or higher availability than the TerraServer SAN at a fraction of the system and operations cost. This paper describes the hardware and software components of the TerraServer Bricks and our experience in configuring and operating this environment for the first year.

When Database Systems Meet the Grid
Maria A. Nieto-Santisteban; Alexander S. Szalay; Aniruddha R. Thakar; William J. O’Mullane; Jim Gray; James Annis
We illustrate the benefits of combining database systems and grid technologies for data-intensive applications. Using a cluster of SQL servers, we reimplemented an existing grid application that finds galaxy clusters in a large astronomical database. The database implementation runs an order of magnitude faster than the earlier Tcl-C-file-based implementation on a Terabyte Analysis Machine (TAM). We discuss why and how the Grid can take advantage of databases systems

TerraServer Cluster and SAN Experience
Tom Barclay; Jim Gray
Microsoft® TerraServer stores aerial, satellite, and topographic images of the earth in a SQL database available via the Internet since June 1998. It is one of the most popular online atlases, presenting seventeen terabytes of image data from the United States Geological Survey (USGS). Initially the system demonstrated the scalability of PC hardware and software – Windows and SQL Server – on a single, mainframe-class processor. In September 2000, the back-end database application was migrated to 4-node active/passive cluster connected to an 18 terabyte Storage Area Network (SAN). The new configuration was designed to achieve 99.99% availability for the back-end application. This paper describes the hardware and software components of the TerraServer Cluster and SAN, and describes our experience in configuring and operating this system for three years. Not surprisingly, the hardware and architecture delivered better than 4-9’s of availability, but operations mistakes delivered 3-9’s.

There Goes the Neighborhood: Relational Algebra for Spatial Data Search
Jim Gray; Alexander S. Szalay; Gyorgy Fekete Fekete; Maria A. Nieto-Santisteban; William O'Mullane; Aniruddha R. Thakar; Gerd Heber; Arnold H. Rots
We explored ways of doing spatial search within a relational database: (1) hierarchical triangular mesh (a tessellation of the sphere), (2) a zoned bucketing system, and (3) representing areas as disjunctive-normal form constraints. Each of these approaches has merits. They all allow efficient point-in-region queries. A relational representation for regions allows Boolean operations among them and allows quick tests for point-in-region, regions-containing point, and region overlap. The speed of these algorithms is much improved by a zone and multi-scale zone-pyramid scheme. The approach has the virtue that the zone mechanism works well on B-Trees native to all SQL systems and integrates naturally with current query optimizers – rather than requiring a new spatial access method and concomitant query optimizer extensions. Over the last 5 years, we have used these techniques extensively in our work on SkyServer.sdss.org, and SkyQuery.net.

Consensus on Transaction Commit
Jim Gray; Leslie Lamport
The distributed transaction commit problem requires reaching agreement on whether a transaction is committed or aborted. The classic Two-Phase Commit protocol blocks if the coordinator fails. Fault-tolerant consensus algorithms also reach agreement, but do not block whenever any majority of the processes are working. Running a Paxos consensus algorithm on the commit/abort decision of each participant yields a transaction commit protocol that uses 2F +1 coordinators and makes progress if at least F +1 of them are working. In the fault-free case, this algorithm requires one extra message delay but has the same stable-storage write delay as Two- Phase Commit. The classic Two-Phase Commit algorithm is obtained as the special F = 0 case of the general Paxos Commit algorithm.

Data Mining the SDSS SkyServer Database
Jim Gray; Donald Slutz; Alexander Szalay; Ani Thakar; Jan vandenBerg; Peter Kunszt; Chris Stoughton
An earlier paper described the Sloan Digital Sky Survey’s (SDSS) data management needs [Szalay1] by defining twenty database queries and twelve data visualization tasks that a good data management system should support. We built a database and interfaces to support both the query load and also a website for ad-hoc access. This paper reports on the database design, describes the data loading pipeline, and reports on the query implementation and performance. The queries typically translated to a single SQL statement. Most queries run in less than 20 seconds, allowing scientists to interactively explore the database. This paper is an in-depth tour of those queries. Readers should first have studied the companion overview paper “The SDSS SkyServer – Public Access to the Sloan Digital Sky Server Data” [Szalay2].

A Conversation with Jim Gray
acmqueue.org
Sit down, turn off your cellphone, and prepare to be fascinated. Clear your schedule, because once you've started reading this interview, you won't be able to put it down until you've finished it.

Distributed Computing Economics
Jim Gray
Computing economics are changing. Today there is rough price parity between (1) one database access, (2) ten bytes of network traffic, (3) 100,000 instructions, (4) 10 bytes of disk storage, and (5) a megabyte of disk bandwidth. This has implications for how one structures Internet-scale distributed computing: one puts computing as close to the data as possible in order to avoid expensive network traffic.

Spatial Clustering of Galaxies in Large Datasets
Alexander S. Szalay; Tamas Budavari; Andrew Connolly; Jim Gray; Takahiko Matsubara; Adrian Pope; Istvan Szapudi
Datasets with tens of millions of galaxies present new challenges for the analysis of spatial clustering. We have built a framework that integrates a database of object catalogs, tools for creating masks of bad regions, and a fast (NlogN) correlation code. This system has enabled unprecedented efficiency in carrying out the analysis of galaxy clustering in the SDSS catalog. A similar approach is used to compute the three-dimensional spatial clustering of galaxies on very large scales. We describe our strategy to estimate the effect of photometric errors using a database. We discuss our efforts as an early example of data-intensive science. While it would have been possible to get these results without the framework we describe, it will be infeasible to perform these computations on the future huge datasets without using this framework.

Petabyte Scale Data Mining: Dream or Reality?
Alexander S. Szalay; Jim Gray; Jan vandenBerg
Science is becoming very data intensive1. Today’s astronomy datasets with tens of millions of galaxies already present substantial challenges for data mining. In less than 10 years the catalogs are expected to grow to billions of objects, and image archives will reach Petabytes. Imagine having a 100GB database in 1996, when disk scanning speeds were 30MB/s, and database tools were immature. Such a task today is trivial, almost manageable with a laptop. We think that the issue of a PB database will be very similar in six years. In this paper we scale our current experiments in data archiving and analysis on the Sloan Digital Sky Survey2,3 data six years into the future. We analyze these projections and look at the requirements of performing data mining on such data sets. We conclude that the task scales rather well: we could do the job today, although it would be expensive. There do not seem to be any show-stoppers that would prevent us from storing and using a Petabyte dataset six years from today.

Windows 2000 Disk IO Performance
Leonard Chung; Jim Gray; Robert Horst; Bruce Worthington
This paper is an empirical study of the random and sequential I/O performance of Windows 2000™ using the NT File System. It continues the work done by Riedel, et. al. in their 1997 paper exploring sequential IO performance under Windows NT 4.0™. This paper explores the performance and overhead of today’s Intel Pentium III™ based memory and IO subsystems, including the processor bus, the PCI bus, the disk controllers, the SCSI and IDE buses, and the disk media. It also examines the performance available from IDE RAID, a relatively new technology built from inexpensive IDE disks. Network IO performance is briefly covered. We describe how to achieve good throughput, and discuss the major bottlenecks. While Riedel’s model of software performance remains largely unchanged, increases in hardware performance have made the 32bit, 33MHz PCI bus the dominant bottleneck reaching saturation with three disks.

Rules of Thumb in Data Engineering
Jim Gray; Preshant Shenoy
This paper reexamines the rules of thumb for the design of data storage systems. Briefly, it looks at storage, processing, and networking costs, ratios, and trends with a particular focus on performance and price/performance. Amdahl’s ratio laws for system design need only slight revision after 35 years—the major change being the increased use of RAM. An analysis also indicates storage should be used to cache both database and web data to save disk bandwidth, network bandwidth, and people’s time. Surprisingly, the 5-minute rule for disk caching becomes a cache-everything rule for web caching.

Fcast Scalable Multicast File Distribution: Caching and Parameters Optimizations
Jim Gemmell; Jim Gray; Eve Schooler
Reliable data multicast is problematic. ACK/NACK schemes do not scale to large audiences, and simple data replication wastes network bandwidth. Fcast, "file multicasting", combines multicast with Forward Error Correction (FEC) to address both these problems. Like classic multicast, Fcast scales to large audiences, and like other FEC schemes, it uses bandwidth very efficiently. Some of the benefits of this combination were known previously, but Fcast contributes new caching methods that improve disk throughput, and new optimizations for small file transfers. Fcast is the first product based on this technology, to our knowledge. This paper describes Fcast's design, implementation, and API.

Scalability Terminology: Farms, Clones, Partitions, and Packs: RACS and RAPS
Bill Devlin; Jim Gray; Bill Laing; George Spix
Server systems must be able to start small and grow as demand increases. Internet-based eCommerce has made system growth more rapid and dynamic. Application Service Providers that consolidate application processing into large sites must also need dynamic growth. These sites grow by scale up, replacing servers with larger servers, or they grow by scale out adding extra servers. The scale out approach gives the slogans buying computing by the slice and building systems from CyberBricks: the brick or slice is the fundamental building block.

Microsoft TerraServer: A Spatial Data Warehouse
Tom Barclay; Jim Gray; Don Slutz
Microsoft® TerraServer stores aerial, satellite, and topographic images of the earth in a SQL database available via the Internet. It is the world’s largest online atlas, combining eight terabytes of image data from the United States Geological Survey (USGS) and SPIN-2. Internet browsers provide intuitive spatial and text interfaces to the data. Users need no special hardware, software, or knowledge to locate and browse imagery. This paper describes how terabytes of “Internet unfriendly” geo-spatial images were scrubbed and edited into hundreds of millions of “Internet friendly” image tiles and loaded into a SQL data warehouse. All meta-data and imagery are stored in the SQL database. TerraServer demonstrates that general-purpose relational database technology can manage large scale image repositories, and shows that web browsers can be a good geo-spatial image presentation system.

Queues Are Databases
Jim Gray
Message-oriented-middleware (MOM) has become an small industry. MOM offers queued transaction processing as an advance over pure client-server transaction processing.

A Critique of ANSI SQL Isolation Levels
Hal Berenson; Phil Bernstein; Jim Gray; Jim Melton; Elizabeth O'Neil; Patrick O'Neil
ANSI SQL-92 [MS, ANSI] defines Isolation Levels in terms of phenomena: Dirty Reads, Non-Repeatable Reads, and Phantoms. This paper shows that these phenomena and the ANSI SQL definitions fail to characterize several popular isolation levels, including the standard locking implementations of the levels. Investigating the ambiguities of the phenomena leads to clearer definitions; in addition new phenomena that better characterize isolation types are introduced. An important multiversion isolation type, Snapshot Isolation, is defined.

SSIS: Mysterious hangs during execution
Ashvini Sharma
Folks have been running into issues recently about package hanging for mysterious reasons.

So many ways to get your hands on SQL Server 2005
Kimberly L. Tripp
For the past couple of years, the early betas of SQL Server 2005 were very limited and even the events were somewhat limited - limited primarily to large customers under NDA, MVPs, RDs, and very dedicated SQL Server specialists. So far, only the SQL Express 2005 Edition made it on microsoft.com for download (click here if you're interested in SQL Express and the SQL Express Manager downloads)...

Roman's Weekly SQL Server Tip - How to keep the Reporting Services application loaded
Roman Rehak
If you work with Reporting Services, you probably noticed how long it takes to start Report Manager after a period of inactivity. One of the reasons for this is that it actually needs to initialize and load two applications (RM is an ASP.NET web application and the backend Report Server is a web service). You can keep the application loaded in Windows 2003 Server if you open the application pool seettings and uncheck “Shutdown worker process after being idle for...”. After you do this, any web application that uses the application pool will remain loaded.

Interview Question: Agents used by merge replication
Randy Dyess
Is the Distribution Agent used in merge replication?

pwdencrypt and pwdcompare
AG Blog
In SQL Server 2000 is not documented but used at check of passwords function: pwdencrypt and pwdcompare. I have decided to check up compatibility of these functions for SQL Server 2005.

The Rise of the 64-Bit System
Michael Otey
Not terribly long ago, you might have associated 64-bit processors with only the very highest-end systems. The exorbitant cost and limited application set of 64-bit CPUs relegated them to those few scenarios in which their benefits could shine. The ability of the 64-bit platform to take advantage of memory beyond the 4GB barrier imposed by the 32-bit architecture made it a great fit for huge-scale database applications and graphical-rendering applications that need access to prodigious memory and intensive data-throughput capabilities.

Intel Ships x64 Xeon Processor
Paul Thurrott
Intel made its first foray into the world of x64 computing this week when the company released the first Intel microprocessors to take advantage of the massive 64-bit address space. Intel's new x64 Xeon chips are compatible with earlier 64-bit processors from AMD, including the AMD Athlon 64 and AMD Opteron. Servers based on x64 processors can mix and match 32-bit and 64-bit OSs and applications, all of which run at full speed.

SQL Server 2005: The CLR Enters the Relational Stage
Ciprian Jichici
This article describes the CLR integration into the SQL Server 2005 Database Engine in detail and provides some background for answering two integration-related questions. (24 printed pages)

CustomData() MDX function
Chris Webb's BI Blog
Courtesy of Richard Tkachuk, I've just found out about another new MDX function in AS2005: CustomData(). You use it as follows

Importing The Latest File In A Folder Via DTS
David Jackson
One common requirement is to import the latest file in a folder to append to a table for processing. The following package uses a ActiveX task to get the latest file name, a Dynamic Properties Task to set the source connection to it, followed by the usual processing.

XQuery 1.0, XPath 2.0, and XSLT 2.0 are in REALLY Last Call
Michael Rys
A week ago (on April 4th), the W3C announced that XQuery 1.0, XPath 2.0, and XSLT 2.0 went into Last Call. Since this is the second Last Call, let me assure you that the intend of the working group is to make this the final one. The goal is still to get to recommendation within a year. One way to keep this going is that we request that people submit their comments by May 13th (and another one is that we discourage members of the WG to submit too many substantial comments).

Deliver User-Friendly Reports from Your Application with SQL Server Reporting Services
John C. Hancock
Flexible reporting capabilities are a requirement for most business applications and their integration into Web apps makes them more versatile than ever. With the recent release of SQL Server™ 2000 Reporting Services, you can easily add reporting from diverse data sources. In this article I will introduce report authoring using Visual Studio® and Reporting Services and demonstrate how to integrate reports into your Web applications.

Demystifying the SQL Server DATETIME Datatype
Frank Kalis
When you follow online communities dedicated to SQL Server with open eyes, you certainly notice a whole lot of questions are closely related to the DATETIME datatype in one way or the other. Obviously, working with DATETIME not as easy as it may seem.

Introduction to MSSQL Server Analysis Services: Presentation Nuances: CrossTab View - Same Dimension
William Pearson
In this article, we will examine a subject that is near and dear to broadly focused report authors - the use of cube structure to create desired cosmetic effects - in the Cube Browser, and more importantly, in a reporting environment. I constantly get e-mails, and see questions in forums and elsewhere, asking how to achieve effects that are not apparently "available" in "intuitive" cube structures, such as any of those that we see in the sample cubes. One of the apparent "shortfalls" that frustrate users is their inability to display the same dimension on both the "x-" and "y-" axes for presentation purposes.

Managing the "Surface Area" of SQL Server 2005
Mike Gunderloy
As every developer knows by now, Microsoft has focused renewed attention on security in recent product releases. One of the important concepts in this effort is surface area. Roughly speaking, a piece of software has a smaller surface area if there are fewer ways to attack it: fewer open ports, fewer APIs, fewer protocols, and so on. OSQL Server 2005 takes this concept to the next level by letting you explicitly manage the software's surface area. In this article, I'll show you the tools that SQL Server offers for this management, using the current (February 2005) Community Technical Preview build of SQL Server Express as an example. Some changes are inevitable between now and the final product, but the concepts should remain relatively stable.

Microsoft whiffs on tools, database betas
Martin LaMonica
Microsoft has missed its deadline for sending out the latest test versions of its flagship development products, SQL Server and Visual Studio. Last year, the company set a target of the end of March for the release of the second beta of its upcoming Visual Studio 2005 programming tool and SQL Server 2005 database. But it has yet to release those test versions.

Failover clustering in SQL 2005
Adam Machanic
How does failover clustering work in SQL 2005? And how does it compare with the failure support in Oracle and DB2?

Get Ready for XQuery
Roger Jennings
XML Query Language will soon become the "SQL for XML." Be prepared for the next version of Microsoft SQL Server by using a preview of the Microsoft.Xml.XQuery classes.

Managed Data Access Inside SQL Server with ADO.NET and SQLCLR
Pablo Castro
Using the new SQLCLR feature, managed code can use ADO.NET when running inside SQL Server 2005. Learn about SQLCLR via basic scenarios of in-process data access, SQLCLR constructs, and their interactions. (26 printed pages)

SQLIO Disk Subsystem Benchmark Tool
Vinod Kumar's Blog
SQLIO is a tool provided by Microsoft which can also be used to determine the I/O capacity of a given configuration. SQLIO is provided ‘as is’ and there is no support offered for any problems encountered when using the tool. Please refer to the EULA.doc for the license agreement prior to using this tool.

Free Code Translation for .NET (C#<->VB.NET)
Vinod Kumar's Blog
This is a cool one. Using CodeDom life is easy doing translation :). Check it out here.

Eliminating Multiple Evaluations of XML Data Type Methods
SPal's WebLog
I have seen a few scenarios in which a value is extracted from an XML data type instance in SQL Server 2005. The query performs some checks on the value such as its type (e.g. whether it is numeric) or compares it with a constant, and returns a value based on this check. The value extraction is done using the value() method of XML data type, and the method is re-evaluated in the SELECT list. I want to share a simple tip for better performance. Consider the example

Exploit Yukon's XML Data Type
Roger Jennings
Take advantage of SQL Server 2005’s new native XML data type to add XML columns to a table, populate and index the columns, and understand basic XQuery syntax.

Material for my MSDN WebCast "Managing XML Data on the Database with SQL Server 2005 and Visual Studio 2005"
Michael Rys
My apologies for the week long delay. You can get the WebCast recording and copies of the slides from the MSDN website (registration required). I would consider the language of my presentation to be Swiss-American-English and not as the site indicates American-English :-).

Converting XQuery Use Case Queries to Execute Inside SQL Server 2005
XQuery Inside SQL Server 2005
The following is a simple walk-through for converting some of the standard queries from the W3C XML Query Use Cases working-draft document so they can be executed against SQL Server 2005. I chose to use queries from section 1.9 of the use cases document as these deal with strongly typed data and give me the opportunity to introduce the user to all three of the main components of SQL Server that deal with XML i.e. XML storage, validation/typing through XSD and query through XQuery. Since we only support a subset of the full XQuery specification inside SQL Server 2005, it is necessary to alter some of the queries from the use cases (and other) document in order to execute them. This blog entry is intended to explicitly show some of the required changes and workarounds for these issues, in order to enable our users to leverage the useful learning queries contained in these documents.

Oracle Offers Dev Tools for VS.NET
Richard Hundhausen
Oracle's decision to join the VSIP program means more support for the .NET developer community. Oracle Corp. released its Oracle Developer Tools for Visual Studio .NET into beta last week and plans to release the shipping version in the first half of 2005, said Andy Mendelsohn, Senior Vice President of Database Server Technologies for Oracle, in Wednesday's VSLive! keynote. As a new member of Microsoft's Visual Studio Industry Partner (VSIP) program, Oracle is "very committed to the Windows environment," he said.

"Little Diamonds" and how to view them
DMTeam
This tip describes the purpose and interpretation of the little blue diamonds that appear in the data mining viewers

Data Designer Extensibility (DDEX): An Introduction
Jim Glass and the VSXUE Team
Visual Studio 2005 introduces a rich new environment for developing database applications against third-party data sources. While Visual Studio has always offered design-time support for SQL Server development, other data sources have posed more of a challenge.

Exposing Project and Configuration Properties
Jim Glass and the VSXUE Team
New project types might need new project properties. This walkthrough guides you through the steps of creating project and configuration properties and accessing them through the Project Properties dialog box. You add new properties to the project template file. You then modify the managed project sample to display the properties in the Project Property dialog box. You set the property category, display name, and description by creating appropriate string resources.

[В начало]

ФОРУМ SQL.RU

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

Ваше мнение об упражнениях SELECT на http://sql.ipps.ru
База данных - хранилище объектов.
Задай вопрос разработчику MsSQL!
Больше книг хороших и разных!
Зачем вообще нужен primary key ?!?
Transaction count after EXECUTE indicates ...
Импорт данных из MS Excel
Должен ли девелопер под MSSQL что-то компании Microsoft?
проблема с триггером (INSERTED, DELETED)
Кэш для MSSQL
Почему не используется индех.
Администраторы баз данных, защищайте свои сервера!
Господа, а вот как создать временную таблицу при помощи Dynamic SQL чтобы потом ее юзать
Число в строку по маске
db_backupoperator + db_deny_access_to_some_tables Что попадет в backup?
SQL 2005 ????
Access+SQL тормозит поиск
Удаление столбца
Построчный обход таблиц
Почему сервер не воспринимает строку состоящую из '\'и перевода строки и возврата каретки?

[В начало]

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

Сужение объема полнотекстового поиска
Как узнать часовой пояс?
Типа сниффинг
Исключение отменено (код ош ибки 3669)
Присоединение файла .mdf без файла .ldf и последующие проблемы
Вернуть статус из job step?
ServerTrace vs Profiler

[В начало]


Вопросы, предложения, коментарии, замечания, критику и т.п. оставляйте Виталию Степаненко и Александру Гладченко в форуме: Обсуждение рассылки

СЕМИНАРЫ  КОНФЕРЕНЦИИ

МИНИФОРМА
ПОДПИСКИ



ПУБЛИКАЦИИ  АРХИВ


http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.winsoft.sqlhelpyouself
Отписаться

В избранное