Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Microsoft SQL SERVER

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119

Открыть новую тему     Написать ответ в эту тему

aidar



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Microsoft SQL Server
 
В данном разделе рассматриваются вопросы по установке, настройке и администрированию MS SQL.
Вопросы по выборкам, созданию процедур, индексов и прочему программированию - лучше обращаться сюда: Microsoft SQL Server в разделе Прикладное Программирование


Полезные ресурсы:
Ссылки на официальные ресурсы:   TechNet Rus по SQL   TechNet Eng по SQL 2000    TechNet Eng по SQL 2005     MS SQL Server на форумах TechNet Rus
 
Полезные ресурсы, где можно найти дополнительную информацию:
http://www.sql.ru - один из самых больших и популярных ресурсов в ру-нете по MSSQL.
http://sqlserverbuilds.blogspot.com - информация о ВСЕХ билдах и версиях SQL Server
 
Где найти дистрибутив?



Microsoft SQL Server 2000
 
Текущий и наверное Последний Service Pack: SP4 (build 8.00.2039)
Последний кумулятивный пакет хотфиксов после SP4: build 8.00.2187
Список всех хотфиксов после SP4 на текущий момент: Cumulative list of the hotfixes that are available for SQL Server 2000 SP4
SQL Server 2000 Books Online June 2007 Update
Сравнение редакций, совместимость с ОС



Microsoft SQL Server 2005
 
Блог Александра Гладченко - MVP по MS SQL. Заглядывайте периодически, очень интересные статьи.
 
Текущая версия:
Последний Service Pack - 2
Их было два, оба с одинаковым билдом - 9.00.3042
Здесь (ENG) описано, почему так произошло и как отличить "правильный" от "не правильного".
 
Здесь можно посмотреть, какой апдейт на сегодняшний день крайний для MS SQL SP2:
The SQL Server 2005 builds that were released after SQL Server 2005 Service Pack 2 was released (ENG)

Всего записей: 255 | Зарегистр. 20-09-2001 | Отправлено: 17:21 08-01-2003 | Исправлено: SkySandy, 02:26 20-08-2014
M_Volkov



Gold Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Sergey333

Цитата:
Базы при установке поверх остаются нетронутыми или тоже надо конвертить?

Во время установки 2008 будет задан вопрос типа, нужны ли Вам новые возможности...

Всего записей: 5783 | Зарегистр. 23-06-2008 | Отправлено: 19:10 25-12-2012
OktoHaron



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем доброго времени суток.
Помогите пожалуйста с решением такой проблемы.
После сбоя в дисковой системе (вылетел диск из RAID1) DBCC CHECKDB находит ошибки согласованности (consistency errors).  При этом DBCC CHECKDB с NOIDEX ошибок не находит. Базы пока работают, но нужно устранить ошибки не потеряв данные. Но мне не совсем понятно как это сделать.
Думаю наилучший способ это восстановление из бэкапа, но тут не совсем понятно. Сбой произошёл три дня назад. Есть бэкапы за все эти дни. Система бэкапа такая: каждую ночь делается полный бэкап базы плюс бэкап журнала транзакций. В течении дня делаются бэкапы журнала транзакций каждый час. Режим восстановления баз full.
В полных бэкапах за последние три дня есть ошибки (накатывала на другую базу, делал DBCC CHECKDB - те же ошибки что и в рабочей базе). Не поврежденному бэкапу четыре дня.
Вопрос в следующем: как правильно восстановить базу использую полный бэкап четырёхдневной давности и бэкапы журналов транзакций сделанные после него? В режиме восстановления Restore database можно выбрать только последний полный бекап, но он повреждён. Нужно восстанавливать файлы?
Или есть какие-то другие способы избавится от ошибок? Может ребилд индексов может помочь?
СУБД SQL Server 2005, база используется для 1C. Еще хороший вопрос как потом проверить не потерялось ли чего?

Всего записей: 12 | Зарегистр. 06-08-2010 | Отправлено: 06:08 18-01-2013
Oleg_Kurilin



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
OktoHaron
Думаю, в такой ситуации стоит выгрузить базу средствами 1с. После этого запустить DBCC CHECKDB с REPAIR_REBUILD. Если не поможет - два варианта: REPAIR_ALLOW_DATA_LOSS или, предпочтительней, пересоздать базу и загрузить сохранённое средствами 1с.
Ну а потерялось ли что, это уже только пользователи смогут обнаружить, например если расползлись проводки за предыдущие периоды.

Всего записей: 960 | Зарегистр. 01-09-2003 | Отправлено: 07:17 18-01-2013
bigsloth



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
OktoHaron
Во-первых, посмотрите вот этот пост: http://habrahabr.ru/post/136979/. Возможно все ваши ошибки несерьёзные и полетели только некластерные индексы, тогда их можно будет пересоздать и всё будет окей.
Во-вторых, если всё-таки ошибки серьёзные, тогда восстанавливайте из бэкапа. Восстановление возможно ТОЛЬКО в том случае, если у вас есть старый полный бэкап и ВСЕ, АБСОЛЮТНО ВСЕ, бэкапы журналов транзакций. Если все бэкапы есть, ваши действия такие:
1. Пишете в SSMS
RESTORE DATABASE [имя вашей базы данных]
FROM DISK = 'путь к вашему старому полному бэкапу'
WITH REPLACE, NORECOVERY, STATS = 1
, MOVE 'логическое имя файла данных' TO 'путь к физическому месту хранения файла данных'
, MOVE 'логическое имя файла журнала' TO 'путь к физическому месту хранения файла журнала'
 
Запускаете выполняться. Опишу параметры:
REPLACE - заменяет имеющуюся БД с указанным именем [имя вашей базы данных], если сомневаетесь, укажите имя отличное от имени поверждённой бд - сделаете копию базы, потом, если всё нормально, пересоздадите базу на сервере 1С
NORECOVERY - этот параметр оставляет базу в состоянии "восстановления". Вы не сможете к ней подключиться, но сможете накатить на неё бэкапы журнала транзакций
STATS = 1 - на вкладке MESSAGES будет отмечаться прогресс выполнения операции с шагом 1 процент, можете поставить 5, 10, сколько вам надо. Можете вообще убрать.
MOVE'ы переносят файлы в указанную папку с указанными именами, т.е. их заполнять надо целиком, например MOVE 'myDb' TO 'D:\SQLBase\mydb_something.mdf'
 
2. После того как операция завершится, БД останется в состоянии restoring. Удаляете то что написано выше и пишете:
RESTORE LOG [тоже самое имя бд, которое вы писали выше]
FROM DISK = 'путь к самому СТАРОМУ бэкапа лога'
WITH NORECOVERY, STATS = 10
 
RESTORE LOG [тоже самое имя бд, которое вы писали выше]
FROM DISK = 'путь к следующему за самым старым бэкапа лога бэкапом'
WITH NORECOVERY, STATS = 10
 
...
 
RESTORE LOG [тоже самое имя бд, которое вы писали выше]
FROM DISK = 'путь к самому ПОСЛЕДНЕМУ (новому) бэкапу лога'
WITH RECOVERY, STATS = 10
 
Обратите внимание, что во всех командах RESTORE LOG, кроме последней, вы пишете WITH NORECOVERY, а в последней RECOVERY. Если вы в последней команде тоже написали NORECOVERY, то вам надо будет выполнить следующую команду, чтобы перевести базу в нормальное состояние (чтобы с ней можно было работать):
 
RESTORE DATABASE [тоже самое имя бд, которое вы писали выше] WITH RECOVERY
 
В общем, ничего сложного в этом нет, но требуется аккуратность и внимательность. Успехов.
Ещё раз напомню, что это возможно только при наличии ВСЕХ бэкапов лога, созданных после создания полной резервной копии! Так же, если вы переводили базу в режим simple, либо делали BACKUP LOG ... with truncate_only, ничего не выйдет, увы. Советую вам в любом случае, проверить восстановление на копии.
 
Обратите внимание ещё вот на что. Если в повреждённой базе данных работают пользователи, у вас всё равно будет потеря данных за время от времени создания последней резервной копии журнала транзакций и до "текущего" момента времени. Чтобы этого не произошло, вам нужно будет сделать tail-log backup и именно его восстанавливать с параметром RECOVERY. В этом нет ничего сложного, но моё косноязычие не позволит это доступно объяснить. Прочитайте, если вам это актуально, статью на msdn.
 
 
Добавлено:
Oleg_Kurilin

Цитата:
После этого запустить DBCC CHECKDB с REPAIR_REBUILD. Если не поможет - два варианта: REPAIR_ALLOW_DATA_LOSS

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

Всего записей: 239 | Зарегистр. 18-09-2009 | Отправлено: 08:14 18-01-2013 | Исправлено: bigsloth, 08:20 18-01-2013
Oleg_Kurilin



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
bigsloth

Цитата:
очень, очень вредный совет.

Согласен, по тому и предложил REPAIR_ALLOW_DATA_LOSS как менее предпочтительный вариант. Думаю даже до него и не дойдёт, индексы вполне пересоберутся во время REPAIR_REBUILD. В противном случае восстанавливать, но не средствами SQL:
Цитата:
В полных бэкапах за последние три дня есть ошибки (накатывала на другую базу, делал DBCC CHECKDB - те же ошибки что и в рабочей базе).
(хотя, почему и нет?)
В любом случае выгруженную базу средствами 1с иметь желательно.  

Всего записей: 960 | Зарегистр. 01-09-2003 | Отправлено: 12:59 20-01-2013
OktoHaron



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bigsloth, Oleg_Kurilin, большое спасибо за помощь, особенно bigsloth за столь развёрнутый ответ и ссылку на хабр, очень полезная статья.
Как я понял прочитав статью, все ошибки в базе относились к повреждениям некластерных индексов. Вот результат работы DBCC CHECKDB если кому интересно. Подробнее...
Сначала попробовал REPAIR_REBILD. Не помогло, не одной ошибки не устранено.
В итоге выгрузил и загрузил базу средствами 1с и ошибки исчезли.
 
Хочу попросить ещё совет
На данный момент стоит SQL SERVER 2005 без сервиспаков. About
Поскольку на дворе 2013 думаю стоит обновить до SP4.
Может ли процесс обновления СУБД вызвать какие-то проблемы с базами или ещё что-то? Что надо учесть при обновлении?

Всего записей: 12 | Зарегистр. 06-08-2010 | Отправлено: 20:54 20-01-2013 | Исправлено: OktoHaron, 20:55 20-01-2013
M_Volkov



Gold Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Oleg_Kurilin

Цитата:
После этого запустить DBCC CHECKDB с REPAIR_REBUILD. Если не поможет - два варианта: REPAIR_ALLOW_DATA_LOSS  
 
очень, очень вредный совет

И все же, как это запускоется, и в чем их суть? Один из дисков массива сдох в начале дня, потери были небольшие, но все же... больную базу перенес на другой сервер, хочу потренероваться
 
Добавлено:
База 1С УТ10.3, по журналу документов вроде все на месте, но при попытке открыть любой документ, вывыливается SQL ошибка!? Нумерация доков сохранилась, и то ладно. Все заказы были импортированы из другой базы, на основании их восстановлено все остальное. Платежи тоже - из клиент-банка, вручную почти ничего бить не пришлось.

Всего записей: 5783 | Зарегистр. 23-06-2008 | Отправлено: 04:50 21-01-2013
OktoHaron



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
И все же, как это запускоется, и в чем их суть?

Запускается в SSMS New Query: DBCC CHECKDB ('MyBase', REPAIR_REBUILD) или соответственно DBCC CHECKDB ('MyBase', REPAIR_ALLOW_DATA_LOSS  ).
Суть такова:

Цитата:
 REPAIR_ALLOW_DATA_LOSS | REPAIR_FAST | REPAIR_REBUILD
 
    Указывает, что инструкция DBCC CHECKDB должна исправить обнаруженные ошибки. Для применения описанных ниже параметров исправления указанная база данных должна находиться в однопользовательском режиме.
 
    REPAIR_ALLOW_DATA_LOSS
 
        Пытается устранить все обнаруженные ошибки. Эти исправления могут привести к частичной потере данных.
    REPAIR_FAST
 
        Синтаксис поддерживается только для обеспечения обратной совместимости. Действия по восстановлению не выполняются.
    REPAIR_REBUILD
 
        Выполняет действия по восстановлению данных, которые можно выполнить без риска их потери. Это может быть быстрое восстановление (например, восстановление отсутствующих строк в некластеризованных индексах) или более ресурсоемкие операции (например, перестроение индекса).
 
        REPAIR_REBUILD не исправляет ошибки, связанные с данными FILESTREAM.
 

http://msdn.microsoft.com/ru-ru/library/ms176064.aspx

Всего записей: 12 | Зарегистр. 06-08-2010 | Отправлено: 08:30 21-01-2013
FreeLSD_md



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Huston, we-ve got a problem! Есть плановое задание по обслуживанию БД 2008 r2 - обновление статистик.
Предположительно после установки обновлений ОСи перестала запускаться служба SSIS и соотвествтвенно перестало выполняться это очень важное задание. Вот, какой выхлоп в логах:
 
Подробнее...
 
Уважаемые знатоки, внимание, вопрос: Что делать? Помогите пожалуйста.
 
P.S. Ошибко запуска службы из системного жернала:Подробнее...
 
P.P.S. Что было проделано:
1 - были удалены последние обновы, проблема осталась,
2 - в установщике MS SQL 2008 r2 присутствует такая фича - Repair: только при повторном запуске закончилась success'ом - проблема осталась!

Всего записей: 711 | Зарегистр. 10-10-2006 | Отправлено: 02:34 01-02-2013 | Исправлено: FreeLSD_md, 03:21 01-02-2013
bigsloth



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
FreeLSD_md

Цитата:
 Failed to acquire connection "Local server connection". Connection may not be configured correctly or you may not have the right permissions on this connection.

Попробуйте следующее: открыть этот план обслуживания SSMS, нажать в нём кнопку "Manage Connections" (она сверху, слева от кнопки "Add subplan"), создать в открывшемся окне новое соединение и уже это новое соединение использовать в задаче "update statistics task"
   
У меня такое было, когда я как-то неудачно развернул msdb из бэкапа

Всего записей: 239 | Зарегистр. 18-09-2009 | Отправлено: 05:30 01-02-2013 | Исправлено: bigsloth, 05:31 01-02-2013
FreeLSD_md



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
bigsloth
Спасибо за оперативность!
Этот метод не помог.
Мне кажется, что собака зарыта в том моменте, где не стартует служба SSIS. В предыдущем посте приводил сообщение об ошибке из системного журнала при попытке запустить службу. Ещё идеи?

Всего записей: 711 | Зарегистр. 10-10-2006 | Отправлено: 12:55 01-02-2013
bigsloth



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
FreeLSD_md
служба Integration Services далеко не всегда нужна для выполнения планов обслуживания, я этот компонент не устанавливаю вообще. На SQL Server 2008 cu3 или sp1 и старше (или sql server 2005 sp2 и старше) он не нужен. На SQL Server 2008 r2, емнип, тоже. В приницпе, если вы поставите SP1, то эта служба точно будет не нужна.
Покажите, пожалуйста, сообщение из лога джоба (то, что у вас было в первой "портянке"), после того как вы изменили в нём соединение.

Всего записей: 239 | Зарегистр. 18-09-2009 | Отправлено: 13:12 01-02-2013
FreeLSD_md



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
служба Integration Services далеко не всегда нужна

Так и есть: используемый план обслуживания бд был настроен до доустановки компонента SSIS - изначально SSIS не было вообще и план выполнялся, потом доустановили SSIS и план по прежнему выполнялся. А теперь ещё и такое: процес sqlserv.exe зашкаливает по всем процам, щас разберусь сначала, потом скину лог...
 
Добавлено:

Цитата:
сообщение из лога джоба

Подробнее...
 
Вот на всякий для сравнения пример лога с параметрами соединения, где в качестве сервера указана "." точка.Подробнее...
 
Добавлено:
раз уж на то пошло, как правильно накатать обновления на SQL? текущая версия:Подробнее...

Всего записей: 711 | Зарегистр. 10-10-2006 | Отправлено: 14:24 01-02-2013
bigsloth



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
FreeLSD_md
Покажите скриншот плана выполнения, скриншот окна, появляющегося по нажатию на кнопку Manage Connections и скриншот "Execute SQL Task", на котором видно какое соединение используется. Судя по тому что ошибка не изменилась (так же как и имя соединения в логе), новое соединение, если и было создано, так же "не работает".

Всего записей: 239 | Зарегистр. 18-09-2009 | Отправлено: 05:06 04-02-2013
FreeLSD_md



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Значится скриншот плана выполненияСсылка
и скриншот окна, появляющегося по нажатию на кнопку Manage Connections Ссылка
 
а вот с последним скриншотом, не могли бы вы указать как именно вызывается нужное окно
Цитата:
"Execute SQL Task", на котором видно какое соединение используется

Всего записей: 711 | Зарегистр. 10-10-2006 | Отправлено: 12:14 04-02-2013 | Исправлено: FreeLSD_md, 12:28 04-02-2013
bigsloth



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
FreeLSD_md
У вас же по прежнему в Update Statistics Task выбрано "Local Server Connection". Попробуйте выбрать new_connection1, нажать ок, сохранить и выполнить план. И выложите лог выполнения джоба потом, если будут ошибки.

Всего записей: 239 | Зарегистр. 18-09-2009 | Отправлено: 12:26 04-02-2013
FreeLSD_md



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
bigsloth
Короче говоря, снёс SSIS, а вновь создаваемые планы обслуживания, всёравно в Jobs - Job Step Properties - отображаются Type : SQL Server Integration Services
 
Подскажите пожалуйста, какого типа должны быть джобы в отсутствии SSIS?

Всего записей: 711 | Зарегистр. 10-10-2006 | Отправлено: 12:38 04-02-2013 | Исправлено: FreeLSD_md, 12:58 04-02-2013
bigsloth



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
FreeLSD_md
У меня SSIS не стоял, тип джоба такой же как у вас. Мне кажется, что вы всё-таки не туда смотрите. В логах джоба у вас явно указана ошибка:
 

Цитата:
Error: 2013-02-01 12:34:29.37     Code: 0xC00291EC     Source: {53A3CB51-6948-4B60-9E5E-603330897597} Execute SQL Task     Description: Failed to acquire connection "Local server connection". Connection may not be configured correctly or you may not have the right permissions on this connection.  End Error

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

Цитата:
same error message as above, however the problem was caused by the login that ran the SQL Server Agent service has a default database that I had taken offline. Once I changed it to master, the maintenance plans worked

 
Посмотрите под кем у вас запускает SQL Server Agent. Хватает ли ему прав? Попробуйте на время запустить его от админской учётки и проверить - будут изменения или нет.

Всего записей: 239 | Зарегистр. 18-09-2009 | Отправлено: 12:59 04-02-2013
FreeLSD_md



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
SQL Server Agent запускался от учётки Администратор. Подумалось, должно быть правильней от системной учётной записи - поменял - перезапустил SQL Server Agent, попытался запустить Job - Лог идентичен, за исключением
Цитата:
The Job was invoked by User ACCOUNT\система.
и сей момент остался мне не ясен, так ли должно указываться имя уч записи системы в рабочей группе ACCOUNT компьютера и именем DBPLUS? тут нету AD на всякий...
 
Добавлено:
чисто делая вывод из того, что явно кривых телодвижений не было сделано никаких, быть может сотит вернуться к вопросу обновлению MS SQL  текущая версия далеко не самая последняя, я как понял. При этом система была обновлени через Центр обновления.

Всего записей: 711 | Зарегистр. 10-10-2006 | Отправлено: 18:10 04-02-2013 | Исправлено: FreeLSD_md, 18:11 04-02-2013
FreeLSD_md



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Накатал обновления на SQL  - проблема осталась.
 
Следующим шагом планирую полную переустановку SQL сервера.
Наиболее явный способ, на который осталась надежда получить результат. Будьте так добры, кто выполнял процедуру полной переустановкой(на туже версию), какие есть рекомендации, дабы не наткнуться на траблы в процессе (переименование экземпляров сервера и тд и тп) ?

Всего записей: 711 | Зарегистр. 10-10-2006 | Отправлено: 18:07 05-02-2013
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Microsoft SQL SERVER


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru