Сейчас читаю книгу по Oracle: Том Кайт. Oracle для профессионалов.
Очень нравится.
Есть ли подобная книга по Sql Server?
В книге не должно быть:
Синтаксиса SQL
Нормальных форм и общих методик проектирования БД
Общего (не специфического для SQL Server), разжеванного описания, что такое транзакции, индексы, блокировки
UI утилиты
Специфические, не всегда используемые средства, типа Reporting, OLAP, Data mining, GIS
В книге должно быть:
Архитектура СУБД: как в SQL Server архитектурно организованы запись на диск, индексы, блокировки, транзакции, их изоляция, типы данных, сетевые подключения, фоновые процессы и их настройка
Наиболее распространенные ошибки разработчиков связанные с особенностями SQL Server
Оптимизация производительности
Отвечайте на это сообщение, только если у Вас хорошее настроение и в Вашем ответе планируются только конструктивные вопросы и замечания http://rsdn.ru/Info/rules.xml
Во-первых вот: Redgate Books
Хорошие, бесплатные, небольшие книги.
Мне в свое врема Хендерсон нравился. Но он умер и на смену ему пришел Итцык Бен Ган. Itzek Ben Gan, посмотрите у него несколько хороших книг. В зависимости от того какой раздел SQL Server вас интересует.
Также могу порекомендовать книгу Дмитрия Короткевича:
Здравствуйте, igor-booch, Вы писали:
IB>Общего (не специфического для SQL Server), разжеванного описания, что такое транзакции, индексы, блокировки
Ты не поверишь, но стандартных понятий "транзакция", "индекс", "блокировка" для любой СУБД не существует.
Есть стандарт ANSI, который описывает только транзакции в смысле поведения, которое должно обеспечиваться обязательно и их изоляции
в терминах т.н. феноменов, которые очень плохо описывают поведение реальных систем поддержки транзакций в СУБД.
Понятие "индекс" в стандартах не определяется, понятие "блокировка" также.
По SQLServer -- на самом деле стандартные руководства по SQLServer вполне вменяемы, можно читать их.
MZ>Ты не поверишь, но стандартных понятий "транзакция", "индекс", "блокировка" для любой СУБД не существует. MZ>Есть стандарт ANSI, который описывает только транзакции в смысле поведения, которое должно обеспечиваться обязательно и их изоляции
Верю, согласен. Строго говоря, конечно, не существует. В разных СУБД они могут реализованы по-разному.
Но как паттерн, как идея, понятия "транзакция", "индекс", "блокировка" без привязки к конкретной СУБД существуют.
Так вот, идеи понятны, нужно описание как они реализованы в SQL Server.
Часто встречается описание этих идей на примере SQL Server (или другой СУБД), но это также не то, что нужно.
Отвечайте на это сообщение, только если у Вас хорошее настроение и в Вашем ответе планируются только конструктивные вопросы и замечания http://rsdn.ru/Info/rules.xml
Здравствуйте, igor-booch, Вы писали:
IB>Сейчас читаю книгу по Oracle: Том Кайт. Oracle для профессионалов. IB>Очень нравится. IB>Есть ли подобная книга по Sql Server?
SQL Server Internals. Автор Kalen Delaney. По новым версиям книги нет, но если исключить новую функциональность, всё осталось примерно тем же.
Не читал Кайта, но всё, что ты хочешь там есть, как и нет того, чего ты не хочешь.
По оптимизации. Там нет таких глубоких деталей, как в первой книге, но тем не менее, стоит почитать:
Professional SQL Server 2012 Internals and Troubleshooting
Ну и серии книг от Red Gate, как уже сказали. Ими можно добить новую функциональность. Собственно, та же
Кален перешла на написание книг для RG и кое-что из серии Internals для новых версий там есть.