Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
 обслуживание БД  [new]
artem_air
Member

Откуда:
Сообщений: 20
Всем Здравствуйте!!!
Я начинающий администратор БД SQL. Версия SQL Server 2008 Express, в которой не работает Агент SQL. Поэтому не могу создать план обслуживания БД. Делаю обслуживание вручную запросами:
- Обновление статистик по всем таблицам БД exec sp_msforeachtable N'UPDATE STATISTICS ? WITH FULLSCAN'
- Очистка процедурного КЭШа DBCC FREEPROCCACHE
- Дефрагментация индексов sp_msforeachtable N'DBCC INDEXDEFRAG (имя БД, "?")'
- Реиндексация таблиц БД sp_msforeachtable N'DBCC DBREINDEX ("?")'
- Проверка целостности БД DBCC CHECKDB ('Имя БД') WITH NO_INFOMSGS, ALL_ERRORMSGS
Подскажите, пожалуйста, правильно ли я делаю? В какой последовательности нужно делать эти операции? Какие еще можно добавить запросы? Как часто нужно это делать?
Возможно ли сделать автоматическое выполнение этих запросов в определенное время?
Заранее благодарен за любую помощь!
1 апр 15, 10:07    [17457601]     Ответить | Цитировать Сообщить модератору
 Re: обслуживание БД  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
начните с того что прочтите какую-нибудь книжку по ms sql для чайников начинающих.
1 апр 15, 10:30    [17457766]     Ответить | Цитировать Сообщить модератору
 Re: обслуживание БД  [new]
invm
Member

Откуда: Москва
Сообщений: 9406
artem_air
- Обновление статистик по всем таблицам БД exec sp_msforeachtable N'UPDATE STATISTICS ? WITH FULLSCAN'
Нет смысла обновлять всю статистику, если в дальнейшем перестраиваются индексы. Обновляйте только статистику по столбцам.
artem_air
- Очистка процедурного КЭШа DBCC FREEPROCCACHE
Зачем?
artem_air
- Дефрагментация индексов sp_msforeachtable N'DBCC INDEXDEFRAG (имя БД, "?")'
- Реиндексация таблиц БД sp_msforeachtable N'DBCC DBREINDEX ("?")'
Зачем все индексы дефрагментировать, а потом перестраивать?

artem_air
Возможно ли сделать автоматическое выполнение этих запросов в определенное время?
Можно. Windows Scheduler + sqlcmd.
1 апр 15, 10:33    [17457787]     Ответить | Цитировать Сообщить модератору
 Re: обслуживание БД  [new]
Glory
Member

Откуда:
Сообщений: 104760
artem_air
- Дефрагментация индексов sp_msforeachtable N'DBCC INDEXDEFRAG (имя БД, "?")'
- Реиндексация таблиц БД sp_msforeachtable N'DBCC DBREINDEX ("?")'

https://msdn.microsoft.com/en-us/library/ms189858(v=sql.100).aspx

artem_air
Возможно ли сделать автоматическое выполнение этих запросов в определенное время?

Любой шедулер может запускать sqlcmd
1 апр 15, 10:35    [17457802]     Ответить | Цитировать Сообщить модератору
 Re: обслуживание БД  [new]
artem_air
Member

Откуда:
Сообщений: 20
invm,

Спасибо Вам за ответ. Скажите, пожалуйста, что и как правильно мне нужно делать???
1 апр 15, 10:43    [17457872]     Ответить | Цитировать Сообщить модератору
 Re: обслуживание БД  [new]
invm
Member

Откуда: Москва
Сообщений: 9406
artem_air
Скажите, пожалуйста, что и как правильно мне нужно делать???
Прекратить читать статьи сомнительного содержания и начать читать правильные статьи. Например вот эту: Лучшие советы по эффективному обслуживанию баз данных
1 апр 15, 10:51    [17457933]     Ответить | Цитировать Сообщить модератору
 Re: обслуживание БД  [new]
artem_air
Member

Откуда:
Сообщений: 20
invm,

Спасибо еще раз! =) Буду разбираться. Еще такой вопрос: сделал полную резервную копию БД и заметил, что размер копии 11,4 Гб, хотя файл данных базы всего 3,5 Гб - Это Нормально???
1 апр 15, 11:07    [17458047]     Ответить | Цитировать Сообщить модератору
 Re: обслуживание БД  [new]
o-o
Guest
artem_air,

скорее всего, уже в 4-ый раз делаете бэкап в тот же файл.
ну и если одновременно с бэкапом делалось что-то вроде полного перестроения всех индексов,
то можно объем базы в бэкапе дважды получить: допишется все перестроение в виде записей из лога
1 апр 15, 11:15    [17458107]     Ответить | Цитировать Сообщить модератору
 Re: обслуживание БД  [new]
o-o
Guest
restore headeronly from disk = ...

сколько записей возвращает?
столько бэкапов вы сложили в этот файл
1 апр 15, 11:18    [17458131]     Ответить | Цитировать Сообщить модератору
 Re: обслуживание БД  [new]
artem_air
Member

Откуда:
Сообщений: 20
o-o,

не понял насчет restore headeronly from disk ...
Вместо двоеточия указываю путь к фалу с бэкапом С:...\Base_v647.bak и пишет неверный синтаксис?
1 апр 15, 11:33    [17458252]     Ответить | Цитировать Сообщить модератору
 Re: обслуживание БД  [new]
o-o
Guest
artem_air,

двоеточие это вот: ":"
"..." -- это многоточие.
restore headeronly from disk = 'С:...\Base_v647.bak'
1 апр 15, 11:36    [17458284]     Ответить | Цитировать Сообщить модератору
 Re: обслуживание БД  [new]
artem_air
Member

Откуда:
Сообщений: 20
o-o,

С двоеточием опечаточка вышла, Вы правы. В файл записывались резервные копии несколько раз.
1 апр 15, 11:45    [17458353]     Ответить | Цитировать Сообщить модератору
 Re: обслуживание БД  [new]
artem_air
Member

Откуда:
Сообщений: 20
Главная проблема заключается в "плохой" работе клиентского приложения.
Более подробно:
Посмотрел, как программа А (клиентское приложение) влияет на быстродействие системы.
Запустил А, ничего не нажимал, просто наблюдал за хронологией Загрузки ЦП (Смотреть прикрепленный файл).
В мониторе ресурсов Aroganit.exe состояние: то не отвечает (как на скрине) – это когда загрузка процессора резко увеличивается, то выполняется – это когда загрузка падает (в программе в этот момент можно выполнить какие-то действия без задержки отклика в течение нескольких секунд).
Так скачками все время и идет: несколько секунд работает, несколько секунд не отвечает. Загрузка ЦП доходит до 100%.
Повторю, что я ничего в этот момент не нажимал, а просто наблюдал!

Что кто может сказать по этому поводу?
Почему так происходит?
Возможно ли это устранить?

К сообщению приложен файл. Размер - 144Kb
1 апр 15, 12:52    [17458850]     Ответить | Цитировать Сообщить модератору
 Re: обслуживание БД  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
artem_air
Главная проблема заключается в "плохой" работе клиентского приложения.
Что кто может сказать по этому поводу?
Приложение плохо написано.
artem_air
Почему так происходит?
Приложение плохо написано.
artem_air
Возможно ли это устранить?
Можно.
1 апр 15, 23:01    [17461986]     Ответить | Цитировать Сообщить модератору
 Re: обслуживание БД  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2396
Mind
Приложение плохо написано.


а может и "это не баг, это фича", т.е. приложение написано хорошо, но автор не знает его функционала
2 апр 15, 09:55    [17462795]     Ответить | Цитировать Сообщить модератору
 Re: обслуживание БД  [new]
artem_air
Member

Откуда:
Сообщений: 20
Mind,

Приложение плохо написано...
Приложение установлено примерно на 10 компьютерах в разных организациях + одна Главная организация. Приложение предназначено для открытия заявок, которые видят в своем приложении эти организации, если они (организации) прикреплены к этим заявкам. Эти организации (каждая, кроме главной) подключаются к серверу БД на своем компьютере, приложение у них работает нормально, без зависаний.
Данный скрин с узла Главной организации (он подключается к серверу БД, на который стекаются (РЕПЛИЦИРУЮТСЯ) вообще все заявки. главный компьютер подключается к серверу БД на компьютере-сервере.
Разработчик находится в другом городе и говорит, что это особенность SQL Server и исправить нет возможности. И еще говорит, что база данных на главном Узле слишком разрослась, надо мол ее почистить.
Я почистил таблицы (10 из 260), которые он мне сказал, Но эффекта от этого никакого.

Вы пишете, что можно исправить. Подскажите как?
2 апр 15, 13:01    [17463894]     Ответить | Цитировать Сообщить модератору
 Re: обслуживание БД  [new]
Glory
Member

Откуда:
Сообщений: 104760
artem_air
Разработчик находится в другом городе и говорит, что это особенность SQL Server и исправить нет возможности

Особенностью SQL Server является его принуждение приложения к использованию 50% процессора и переходу приложения в "Не отвечает" ?

artem_air
Я почистил таблицы (10 из 260), которые он мне сказал, Но эффекта от этого никакого.

А как сервер может повлиять на производительность приложения ?
2 апр 15, 13:06    [17463928]     Ответить | Цитировать Сообщить модератору
 Re: обслуживание БД  [new]
artem_air
Member

Откуда:
Сообщений: 20
Glory,

Вот и мне тоже это не понятно (((
2 апр 15, 13:09    [17463964]     Ответить | Цитировать Сообщить модератору
 Re: обслуживание БД  [new]
Glory
Member

Откуда:
Сообщений: 104760
artem_air
Вот и мне тоже это не понятно (((

Ну так пусть ваш разработчик и объяснит - что это за "особенность SQL Server"
2 апр 15, 13:12    [17463999]     Ответить | Цитировать Сообщить модератору
 Re: обслуживание БД  [new]
artem_air
Member

Откуда:
Сообщений: 20
Glory,

А может сразу задать ему еще какие "грамотные" вопросы?
2 апр 15, 13:14    [17464011]     Ответить | Цитировать Сообщить модератору
 Re: обслуживание БД  [new]
Glory
Member

Откуда:
Сообщений: 104760
artem_air
Glory,

А может сразу задать ему еще какие "грамотные" вопросы?

Задайте
Как производительность созданных им запросов зависит от количества данных в базе ?
2 апр 15, 13:16    [17464025]     Ответить | Цитировать Сообщить модератору
 Re: обслуживание БД  [new]
artem_air
Member

Откуда:
Сообщений: 20
Glory,
Вопрос задал, жду ответа =)
2 апр 15, 13:36    [17464138]     Ответить | Цитировать Сообщить модератору
 Re: обслуживание БД  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31438
artem_air
Разработчик ... говорит, что это особенность SQL Server и исправить нет возможности.
Желательно, что бы хотя бы кто то один (администратор либо разработчик) разбирался в сиквеле. Если оба не разбираются, то будет плохо.

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

Раз разработчик такой, какой есть, попросите в вашей организации хотя бы админа дать на время.
2 апр 15, 13:55    [17464274]     Ответить | Цитировать Сообщить модератору
 Re: обслуживание БД  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
artem_air
Разработчик находится в другом городе
Это вы намекаете на отсутствие возможности приехать и набить ему морду?
artem_air
и говорит, что это особенность SQL Server и исправить нет возможности. И еще говорит, что база данных на главном Узле слишком разрослась, надо мол ее почистить.
Я почистил таблицы (10 из 260), которые он мне сказал, Но эффекта от этого никакого.

Вы пишете, что можно исправить. Подскажите как?
Если у вас нет исходников, то тогда только два варианта: либо заставить разработчика исправить свой говнопродукт, либо найти другого разработчика.
2 апр 15, 19:45    [17466417]     Ответить | Цитировать Сообщить модератору
 Re: обслуживание БД  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1451
Mind
Это вы намекаете на отсутствие возможности приехать и набить ему морду?


alexeyvg

Раз разработчик такой, какой есть, попросите в вашей организации хотя бы админа дать на время.


Чтобы набить админу морду? :D


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

Другой момент что она отжирает ресурсы ЦП что по идеи дает возможность предполагать что непосредственно сама программа что то внутри у себя считает и тогда и правда можно грешить на разработчика.

Вы хотябы трасировку сняли в момент момент ваших этих зависаний.
Насколько я понимаю интерфейс лочиться ожидая данных от сервера пока тот считает вам результаты - гриды выводит или отчеты пилит? а интерфейс видать писался не под многопоточность
2 апр 15, 23:27    [17467043]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить