Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Кто, зачем и как использует всякие полезности при разработки/администрировании БД  [new]
Павел-П
Guest
Привет.
Вот решил узнать кто, зачем и как использует всякие полезности при разработки/администрировании БД.
Пример того, что хотелось услышать.
1. А вот у нас стоит job, который проверяет наличие свободного места на диске и нам это очень помогает.
2. А вот мы логируем все DDL-изменения и соответственно быстро находим всяких нехороших людей, которые их делают.
3. А вот мы используем Service Broker + Notification events для того, чтобы логировать deadlock-графы и блокирующие друг друга процессы и нам это очень помогает.
4. А вот у меня есть запрос, который выбирает из DMVs индексы, которые не используются и он нам очень полезен.

Вообщем как-то так.
30 мар 10, 15:11    [8554199]     Ответить | Цитировать Сообщить модератору
 Re: Кто, зачем и как использует всякие полезности при разработки/администрировании БД  [new]
Glory
Member

Откуда:
Сообщений: 104751
Мы делаем бэкапы :)
30 мар 10, 15:13    [8554217]     Ответить | Цитировать Сообщить модератору
 Re: Кто, зачем и как использует всякие полезности при разработки/администрировании БД  [new]
Павел-П
Guest
Glory,

Зря, backup-ы делают только трусы :-)
Но совет действительно хороший на все 100%.
30 мар 10, 15:24    [8554313]     Ответить | Цитировать Сообщить модератору
 Re: Кто, зачем и как использует всякие полезности при разработки/администрировании БД  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6727
Вам нужны именно детали?

Ну есть всё это + логи, размеров файлов, памяти. Подключённый контроль версий объектов прям на серваке. Соответственно еженедельные отчёты по изменениям, стандартные и специальные.
Банальный активити монитор (и даже sql heartbeat ) Свои запросы по активности сессий и дерева блокировок. Куева туча всевозможных алертов в Agent-е, иначе фиг за всем уследишь.
Некоторое настроено не субд админами, а админами серверов (инфраструктуры). Да вот аудит неплохой в 2008м появился.

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

Ща хочется добавить авто-форматирование кода с серверной стороны - проще следить за изменениями кода. И наработать сборщик скрипта изменений по проекту/проггеру.
30 мар 10, 16:04    [8554601]     Ответить | Цитировать Сообщить модератору
 Re: Кто, зачем и как использует всякие полезности при разработки/администрировании БД  [new]
Павел-П
Guest
Mnior,

Я думаю, что если каждый напишет о 1 или 2-ух features, которые использует (ему реально нравятся помогают решать проблемы и полезны, да и еще интересно реализованы), будет неплохо и людям полезно. Ну а если писать - ну у меня много чего есть. От этого пользы не будет.
30 мар 10, 17:02    [8554964]     Ответить | Цитировать Сообщить модератору
 Re: Кто, зачем и как использует всякие полезности при разработки/администрировании БД  [new]
Павел-П
Guest
Mnior,

Спрошу, что такое "Подключённый контроль версий объектов прям на серваке."
Ибо слов много, а что это такое, зачем используется и чем реально помогает - непонятно.
30 мар 10, 17:04    [8554980]     Ответить | Цитировать Сообщить модератору
 Re: Кто, зачем и как использует всякие полезности при разработки/администрировании БД  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6727
Павел-П
Я думаю, что если каждый напишет о 1 или 2-ух features
А незачто зацепится глазу, всё главное. :(

Павел-П
что такое "Подключённый контроль версий объектов прям на серваке."
Банально. Через Database triggers (DDL) вешается например CLR, которая на основании пользователя и сгенерированного скрипта объекта и его имени делает CheckIn, например в SourceSafe. (Ну там ещё есть пару камней) Это к вопросу о разработке.

Есть ещё скрипты по генерации (в нужном формате) графа dependency всех объектов.
"Рекомпиляции" всех зависимых объектов при контроле целостности - слава богу всё всё реже и реже используется.
30 мар 10, 17:42    [8555207]     Ответить | Цитировать Сообщить модератору
 Re: Кто, зачем и как использует всякие полезности при разработки/администрировании БД  [new]
Павел-П
Guest
Mnior,

"Рекомпиляции" всех зависимых объектов при контроле целостности - слава богу всё всё реже и реже используется.

Буду еще спрашивать. В принципе почти понятно зачем это надо. Хотя я возможно все и неправильно понял.

Просто если у вас есть хранимая процедура, которая ссылается на несуществующую таблицу, рекомпилируйте ее, не рекомпилируйте - будете получать положительный результат, пока не выполните и не получите ошибку.
30 мар 10, 17:50    [8555255]     Ответить | Цитировать Сообщить модератору
 Re: Кто, зачем и как использует всякие полезности при разработки/администрировании БД  [new]
Павел-П
Guest
Mnior,

"А незачто зацепится глазу, всё главное. :("

Всегда можно сделать select top 2 * from [Главное]

:-)
30 мар 10, 17:52    [8555263]     Ответить | Цитировать Сообщить модератору
 Re: Кто, зачем и как использует всякие полезности при разработки/администрировании БД  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6727
Павел-П
Просто если у вас есть хранимая процедура, которая ссылается на несуществующую таблицу, рекомпилируйте ее, не рекомпилируйте - будете получать положительный результат, пока не выполните и не получите ошибку.
Когда меняется какой либо объект хочеца сразу видеть где что сломалось. :)
Если меняется интерфейс вызова, то при "рекомпиляции" сиквел будет сразу ругается на сломанный вызов. Конечно всё покрыть нельзя. При отсутствии объекта сиквел варнингует.

Вторая сторона "рекомпиляции" это восстановление dependency, они как мы знаем пропадают для ссылающихся объектов. Хотя кое где юзается SCHEMABINDING.
31 мар 10, 09:58    [8556920]     Ответить | Цитировать Сообщить модератору
 Re: Кто, зачем и как использует всякие полезности при разработки/администрировании БД  [new]
DeColo®es
Member

Откуда: Москва
Сообщений: 5503
Блог
У нас много чего используется, недавно начали юзать еще вот это: TSQL Analyzer

Еще рекомендую статью товарища Гладченко.
31 мар 10, 10:07    [8556963]     Ответить | Цитировать Сообщить модератору
 Re: Кто, зачем и как использует всякие полезности при разработки/администрировании БД  [new]
Павел-П
Guest
Mnior,

Ой, немного запутался, что подразумевается под "рекомпиляцией" и как вы ее производите.
К примеру, есть хранимая процедура:
GO
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[spTest]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[spTest]
GO
CREATE PROCEDURE [dbo].[spTest]
AS

SELECT *
FROM dbo.NotExistedTable
GO

Она явно ссылается на несуществующий объект и будет создана без всяких предупреждений. Правда, это всего лишь создание объекта, а не рекомпиляция.
Как я понимаю, единственный способ увидеть, что процедура поломалась - это ее выполнить.
Поэтому и хочу знать как Вы делаете эту самую рекомпиляцию.
31 мар 10, 10:15    [8557012]     Ответить | Цитировать Сообщить модератору
 Re: Кто, зачем и как использует всякие полезности при разработки/администрировании БД  [new]
Павел-П
Guest
DeColo®es,

Спасибо за полезные штуки. Как раз то, что и хотелось бы видеть в этой теме.
31 мар 10, 10:25    [8557061]     Ответить | Цитировать Сообщить модератору
 Re: Кто, зачем и как использует всякие полезности при разработки/администрировании БД  [new]
x-x
Member

Откуда:
Сообщений: 230
Павел-П,
Quest spotlight нравится, хотя автоматизации там не так и много (да и вообще у Questa хорошие продукты, дороговаты правда)

Есть набор тестовых заданий (самописные, свои для каждого из приложений), которые выполняются по ночам. Статистика их выполнения заносится в таблицу, что позволяет иметь некоторое представление о тенденциях по производительности на каждом из серверов.

Утилиты, плагины разнообразные.
31 мар 10, 11:26    [8557613]     Ответить | Цитировать Сообщить модератору
 Re: Кто, зачем и как использует всякие полезности при разработки/администрировании БД  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6727
Павел-П
Она явно ссылается на несуществующий объект и будет создана без всяких предупреждений.
Такое ощущение что хотите затроллить. :)

Писал же что всё покрыть нельзя. Уточню, что ругается при вызове объекта, т.е. всяких SP и FN.
При удалении таблиц смысла "рекомпиляции" ваще нет никакой. Да и этот подход полезен только при огромном бардаке, как говорится на безрыбье. :) Сейчас больше рулит dependency и например при удалении объектов заранее видно на что это влияет.
31 мар 10, 11:31    [8557669]     Ответить | Цитировать Сообщить модератору
 Re: Кто, зачем и как использует всякие полезности при разработки/администрировании БД  [new]
Павел-П
Guest
Mnior,

Как-то вы непонятно пишите. Так и не понял, что вы делаете, когда делаете, зачем делаете и как это работает.

"Писал же что всё покрыть нельзя."
Можно все покрыть. Для этого придумали Database Unit Test-ы. Покроите ими 100% функциональности БД - покроете все.
31 мар 10, 11:40    [8557748]     Ответить | Цитировать Сообщить модератору
 Re: Кто, зачем и как использует всякие полезности при разработки/администрировании БД  [new]
Denis Reznik
Member

Откуда: Киев
Сообщений: 156
Используем много чего, но я до сих пор горд за то, что доказал заказчику что Data Collection нужная штука. Позволяет ответить на вопросы типа "А почему сервер тормозил в 5 часов утра? (в америке как раз вечер)", получить информацию о производительности системы из разных источников одном месте и довольно удобно.
1 апр 10, 01:03    [8562117]     Ответить | Цитировать Сообщить модератору
 Re: Кто, зачем и как использует всякие полезности при разработки/администрировании БД  [new]
Павел-П
Guest
Denis Reznik,

Спасибо за ответ. Data collection действительно полезная штука, а может есть что-нибудь очень интересное, что как Вам кажется используется только у Вас?
1 апр 10, 10:15    [8563014]     Ответить | Цитировать Сообщить модератору
 Re: Кто, зачем и как использует всякие полезности при разработки/администрировании БД  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6727
Павел-П
Как-то вы непонятно пишите. Так и не понял, что вы делаете, когда делаете, зачем делаете и как это работает.

"Писал же что всё покрыть нельзя."
Можно все покрыть. Для этого придумали Database Unit Test-ы. Покроите ими 100% функциональности БД - покроете все.
Всё очень просто, я просто не умею читать ваши мысли.
Вы ставите себе одни задачи, я себе другие. А потом вы утверждаете что я делаю неправильно.

Будем пошагово абиснять:
1. Вы знаете что такое dependencies и зачем нужно?
2. Вы знаете что при ALTER они удаляются у зависимых объектов?
3. Триггер "перекомпиляции" их восстанавливает.
4. PROFIT
5. Заодно (в некоторых случаях) Триггер "перекомпиляции" ругается при нарушении целостности, что ещё дополнительно помогает.
1 апр 10, 10:19    [8563044]     Ответить | Цитировать Сообщить модератору
 Re: Кто, зачем и как использует всякие полезности при разработки/администрировании БД  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6727
Блин.
Павел-П, вы стебётесь?
Вы сами понимаете, что при бардаке (в старых проектах) ни о каких Unit тестах речи быть не может. Тем более что чем раньше узнаётся о проблемах тем лучше. А триггер позволяет ещё на момент модификации узнать о проблемах.

Кстати, кто их присутствующих ими (Database UT) пользуется?
1 апр 10, 10:35    [8563209]     Ответить | Цитировать Сообщить модератору
 Re: Кто, зачем и как использует всякие полезности при разработки/администрировании БД  [new]
Павел-П
Guest
Mnior,

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

С проблемой зависимостей в 2000 и 2005 знаком. В 2008 вроде бы ее решили. Поэтому и хочу узнать поподробнее как работает ваш триггер рекомпиляции???
Если где-нибудь в сети есть ресурс, где описан схожий подход - с удовольствием почитаю.
1 апр 10, 10:42    [8563279]     Ответить | Цитировать Сообщить модератору
 Re: Кто, зачем и как использует всякие полезности при разработки/администрировании БД  [new]
Павел-П
Guest
Denis Reznik,

А можете еще по-детальнее рассказать, какие Collection Sets используете, какие считаете наиболее полезными и т.д.
1 апр 10, 10:51    [8563362]     Ответить | Цитировать Сообщить модератору
 Re: Кто, зачем и как использует всякие полезности при разработки/администрировании БД  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6727
Павел-П
В 2008 вроде бы ее решили.
Ага. :)
1 апр 10, 12:15    [8564283]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Кто, зачем и как использует всякие полезности при разработки/администрировании БД  [new]
Wizandr
Member

Откуда: Империя Добра
Сообщений: 37099
автор
А вот мы используем Service Broker + Notification events для того, чтобы логировать deadlock-графы и блокирующие друг друга процессы и нам это очень помогает.


зачем тут нужен Service Broker?
ведь Extended Events сами все прекрасно логируют
14 июл 14, 11:23    [16300167]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить