19.1.23

Боремся с неявным приведением типов в SQL Server

http://www.sql.ru/blogs/decolores/1112

Автор: DeColo®es

Неявное приведение типов данных, которое в определенных случаях допускается в T-SQL - очень удобная штука. Для новичка. С приобретением опыта, разработчики стараются держать все под контролем и чаще скорее сами стараются определить, каким образом значение должно преобразовываться из одного типа в другой. Дело дошло до того, что возможность полного запрета на неявную конвертацию регулярно запрашивается сообществом пользователей SQL Server у разработчиков...
Чем же так плохо наличие вроде бы очень удобного, прощающего ошибки и сокращающего код функционала СУБД?

Анализ использования параметров процедур в SQL Server

 http://www.sql.ru/blogs/decolores/1089

Автор: DeColo®es

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

Просмотр списка баз на сервере и пути последних бэкапов SQL Server

http://www.sql.ru/blogs/decolores/1067

добавлено: 27 окт 11

Автор: DeColo®es

Как-то, для систематизации бэкапов баз, потребовалось составить список баз с информацией о том, когда и куда был сделан последний бэкап, текущем размере базы и т.д.

Собственно, делюсь скриптами.
Скрипты разные для версии 2000 и всех от 2005 и старше.
Тот, который написан для 2000 конечно будет работать и на 2005+, но он медленнее из-за необходимости обновления информации о реальном распределении пространства внутри файла данных.

Не очень известный факт о кластерном индексе

Ray D's blog

Казалось бы все уже давно разжевано, однако об одном интересном факте мало кто знает - если кластерный индекс уникальный, то при создании неуникальных некластерных индексов, ключ кластерного индекса будет не только на листовом уровне дерева, но и в промежуточных узлах.

Даем возможность пользователю создавать логины в SQL Server, не давая прав администратора.

http://www.sql.ru/blogs/decolores/950

добавлено: 08 апр 11
Автор: DeColo®es

Очень популярный на форумах по SQL Server вопрос - "Как защититься от администратора?".
Самый популярный ответ "А не надо пущать!"
Но что делать, когда кто-то должен все-таки управлять сервером?
Например, создавать логины новых пользователей...

17.1.23

Полезные флаги трассировки SQL Server

По материалам статьи Randy Dyess " Documented and Undocumented Trace Flags for SQL Server 2000 and 7.0"

Информация в этой статье относится к Microsoft SQL Server 7.0/2000 (все издания)

Флаги трассировки (Trace flags) обычно используются для временного отключения некоторых функций базы данных, что позволяет изменять заданное по умолчанию поведение СУБД или наблюдать её обычно скрытые проявления. Как правило, их действие остаётся в силе пока они не будут выключены вручную, или не будет перезапущен SQL сервер. Имейте в виду, что большинство флагов не документированны и Microsoft может изменять их поведение в последующих версиях SQL сервера или с выходом сервисных пакетов и заплат. Флаг может быть установлен или при запуске SQL сервера, используя опцию -Ttrace#, или с помощью команды DBCC TRACEON. Для отключения флага в первом случае нужно перезапустить SQL сервер, а во втором случае используется команда DBCC TRACEOFF.

Обоснование использования динамических SQL запросов

По материалам статьи Robert Marda на сайте sqlservercentral.com: When to Use Dynamic SQL

Динамический SQL запрос - это некоторый код, который создаётся и сохраняется в переменной, пока не возникнет необходимость его выполнения. Большинство DBA и разработчиков предпочитают не использовать динамические SQL запросы по целому ряду причин. Среди наиболее типичных таких причин то, что план выполнения динамического запроса не будет кэшироваться и то, что безопасность должна устанавливаться другими способами. Тем не менее, автор использует динамические запросы всякий раз, когда, считает, что это лучший способ получения результата, и твёрдо полает, что для динамических запросов есть место почти в каждой базе данных.

Древовидные структуры в SQL

По материалам статьи Joe Celko на intelligententerprise.com " Trees in SQL"

Обзор некоторых общих вопросов, касающихся древовидных структур и иерархии в SQL.

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

Цепочки владения в SQL Server

По материалам статьи Amol Kulkarni: Ownership Chains in Yukon

Перевод Виталия Степаненко

Когда объекты базы данных последовательно обращаются друг к другу, такая последовательность называется "цепочкой". Хотя эти цепочки не существуют независимо, когда SQL Server рассматривает ссылки в цепочке, то он оценивает права пользователя на доступ к объектам иначе, чем если бы пользователь обращался к ним по отдельности. Эти различия имеют большое влияние на управление безопасностью.

В этой статье мы рассмотрим, как работают цепочки владения в Yukon. Для демонстрации, мы используем троих пользователей (Mary, John и Scott) и рассмотрим три сценария.

Отсутствующие значения

Глава из книги Кена Хендерсона: Профессиональное руководство по Transact-SQL. Для профессионалов

Авторы блога благодарят издательским домом ПИТЕР за предоставленные к публикации материалы.

Аннотация издательства

Кен Хендерсон хотел написать самую лучшую из возможных книг о практическом программировании на Transact-SQL. И ему это удалось. «Профессиональное руководство по Transact-SQL» будет для вас чем-то вроде путеводителя. Эту книгу легко читать, в ней много новых интересных идей и примеров кода. Хотя она посвящена исключительно Transact-SQL, вы увидите, что многие из подходов и методов будут работать с любым SQL-продуктом, ведь здесь описывается разработка высококачественного кода, независимо от его применения. Автор поставил перед собой задачу написать не только полезную, но и интересную книгу для программистов, в которой не было бы формализмов и от которой не веяло бы нафталином. Кен Хендерсон уверен, что технический писатель должен писать так, как говорят читатели. Так что читайте и наслаждайтесь!

Введение

Из тридцати шести альтернатив лучшей является побег. (Китайская пословица)

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