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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
Serg0FFan



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Решил таки проблему. Перевел базы из модели восстановления "Полная" в модель "С неполным протоколированием" и все заработало как надо. Но до сих пор не понятно, почему в "Полной" не работает?

Всего записей: 3031 | Зарегистр. 25-12-2002 | Отправлено: 19:21 08-07-2014
Serg0FFan



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Работало с неполной моделью, все ок, решил добавить разностную копию и.. опять все перестало работать как надо. Какое-то шаманство
Т.е. если я делаю раз в месяц 1го числа полную копию, потом ежедневно разностную в 3 ночи, а в течении дня каждый час копию лога, то за текущие сутки все нормально восстанавливается, а вот если хочу восстановить за вчерашние то получается описанная на прошлой странице ерунда. Помогите люди добрые!

Всего записей: 3031 | Зарегистр. 25-12-2002 | Отправлено: 12:42 10-07-2014
bigsloth



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Serg0FFan
Попробуйте отловить профайлером какие инструкции GUI посылает SQL Server'у при попытке восстановления БД.
Никогда не пользовался GUI и вот это вот восстановление "из базы данных" сильно смущает, так же смущает, что у полного бэкапа на ваших скриншотах не заполнено имя. MSDN особой ясности вот в это "из базы данных" для меня не внёс.

Всего записей: 239 | Зарегистр. 18-09-2009 | Отправлено: 13:05 10-07-2014
Serg0FFan



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bigsloth
Имена файлов:
   
Причем расширение *.bak имеют и полные копии и разностные, файлы копий лога имеют расширение *.trn
 
На представленном скрине пока только один файл полной копии (делал с утра) и остальные копии лога транзакций (каждый час). Разностное копирование пока убрал из плана т.к. непонятки с ним.

Всего записей: 3031 | Зарегистр. 25-12-2002 | Отправлено: 14:18 10-07-2014
bigsloth



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Serg0FFan
Я имел в виду, что вот на этом вашем скриншоте, поле с именем пустое.
Покажите, пожалуйста, скриншот с содержимым папки D:\!sqldata!\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\kscentr, на котором видно все бэкапы за 30.06. Или на любую другую дату, меньше сегодняшней, при попытке восстановления на котороую, вы получаете ошибку.

Всего записей: 239 | Зарегистр. 18-09-2009 | Отправлено: 05:02 11-07-2014
Serg0FFan



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bigsloth
http://ipic.su/img/img7/fs/kiss_116kb.1405317185.png тут скрин папки с файлами.
Пытался восстановить копию на вчерашний день (13/07) на 12:00, выдало опять такую же ошибку, если пытаться восстановить на текущее состояние базу, то все нормально.

Всего записей: 3031 | Зарегистр. 25-12-2002 | Отправлено: 09:54 14-07-2014
bigsloth



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Serg0FFan
\\server1c\t$\devices\kscenter - это тоже самое, что D:\!sqldata!\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\kscenter?
Такое чувство, что вы перемещаете полный бэкап за прошлый день и sql server просто не видит его.
Вы пробовали отловить профайлером код, который отправляется "мастером восстановления" и приводит к ошибке?
 
Если попробовать вручную через RESTORE DATABASE восстановить БД - ошибок не появляется?

Всего записей: 239 | Зарегистр. 18-09-2009 | Отправлено: 10:23 14-07-2014
Serg0FFan



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

Цитата:
\\server1c\t$\devices\kscenter - это тоже самое, что D:\!sqldata!\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\kscenter?

да, это одно и тоже, просто первый пост содержал скрины с самого сервера, а то что дал постом выше это с рабочего компа делал скрин.
 
Профилером не пользовался ни разу, потому и не знаю как это изобразить
 
Сейчас попробую восстановить вручную.
 
Добавлено:
bigsloth
вот сценарий:

Код:
RESTORE DATABASE [copy_pkf] FROM  DISK = N'S:\!sqlback!\1c_actual\kscenter.bak' WITH  FILE = 1,  MOVE N'kscenter' TO N'D:\!sqldata!\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\copy_pkf.mdf',  MOVE N'kscenter_log' TO N'D:\!sqldata!\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\copy_pkf_log.LDF',  NORECOVERY,  NOUNLOAD,  REPLACE,  STATS = 10
GO
RESTORE LOG [copy_pkf] FROM  DISK = N'D:\!sqldata!\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\kscenter\kscenter_backup_2014_07_13_060656_2956091.trn' WITH  FILE = 1,  NORECOVERY,  NOUNLOAD,  STATS = 10,  STOPAT = N'2014-07-13T12:39:19'
GO
RESTORE LOG [copy_pkf] FROM  DISK = N'D:\!sqldata!\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\kscenter\kscenter_backup_2014_07_13_070508_6239334.trn' WITH  FILE = 1,  NORECOVERY,  NOUNLOAD,  STATS = 10,  STOPAT = N'2014-07-13T12:39:19'
GO
RESTORE LOG [copy_pkf] FROM  DISK = N'D:\!sqldata!\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\kscenter\kscenter_backup_2014_07_13_080726_4007533.trn' WITH  FILE = 1,  NORECOVERY,  NOUNLOAD,  STATS = 10,  STOPAT = N'2014-07-13T12:39:19'
GO
RESTORE LOG [copy_pkf] FROM  DISK = N'D:\!sqldata!\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\kscenter\kscenter_backup_2014_07_13_090501_7586714.trn' WITH  FILE = 1,  NORECOVERY,  NOUNLOAD,  STATS = 10,  STOPAT = N'2014-07-13T12:39:19'
GO
RESTORE LOG [copy_pkf] FROM  DISK = N'D:\!sqldata!\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\kscenter\kscenter_backup_2014_07_13_100501_8254254.trn' WITH  FILE = 1,  NORECOVERY,  NOUNLOAD,  STATS = 10,  STOPAT = N'2014-07-13T12:39:19'
GO
RESTORE LOG [copy_pkf] FROM  DISK = N'D:\!sqldata!\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\kscenter\kscenter_backup_2014_07_13_110501_4241802.trn' WITH  FILE = 1,  NORECOVERY,  NOUNLOAD,  STATS = 10,  STOPAT = N'2014-07-13T12:39:19'
GO
RESTORE LOG [copy_pkf] FROM  DISK = N'D:\!sqldata!\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\kscenter\kscenter_backup_2014_07_13_120501_1635663.trn' WITH  FILE = 1,  NORECOVERY,  NOUNLOAD,  STATS = 10,  STOPAT = N'2014-07-13T12:39:19'
GO
RESTORE LOG [copy_pkf] FROM  DISK = N'D:\!sqldata!\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\kscenter\kscenter_backup_2014_07_13_130507_6688805.trn' WITH  FILE = 1,  NOUNLOAD,  STATS = 10,  STOPAT = N'2014-07-13T12:39:19'
GO

а вот ошибка его выполнения:

Код:
10 проц. обработано.
20 проц. обработано.
30 проц. обработано.
40 проц. обработано.
50 проц. обработано.
60 проц. обработано.
70 проц. обработано.
80 проц. обработано.
90 проц. обработано.
100 проц. обработано.
Обработано 14176 страниц для базы данных "copy_pkf", файл "kscenter" для файла 1.
Обработано 2 страниц для базы данных "copy_pkf", файл "kscenter_log" для файла 1.
RESTORE DATABASE успешно обработал 14178 страниц за 0.981 секунд (112.908 MБ/сек).
Сообщение 4326, уровень 16, состояние 1, строка 1
Журнал в этом резервном наборе данных заканчивается на номере LSN 164016000000059700001, который является слишком ранним для применения к базе данных. Можно восстановить более позднюю резервную копию журналов, включающую номер LSN 164262000000075400001.
Сообщение 3013, уровень 16, состояние 1, строка 1
RESTORE LOG прервано с ошибкой.
Сообщение 4326, уровень 16, состояние 1, строка 1
Журнал в этом резервном наборе данных заканчивается на номере LSN 164017000000031600001, который является слишком ранним для применения к базе данных. Можно восстановить более позднюю резервную копию журналов, включающую номер LSN 164262000000075400001.
Сообщение 3013, уровень 16, состояние 1, строка 1
RESTORE LOG прервано с ошибкой.
Сообщение 4326, уровень 16, состояние 1, строка 1
Журнал в этом резервном наборе данных заканчивается на номере LSN 164136000000157100001, который является слишком ранним для применения к базе данных. Можно восстановить более позднюю резервную копию журналов, включающую номер LSN 164262000000075400001.
Сообщение 3013, уровень 16, состояние 1, строка 1
RESTORE LOG прервано с ошибкой.
Сообщение 4326, уровень 16, состояние 1, строка 1
Журнал в этом резервном наборе данных заканчивается на номере LSN 164136000000220600001, который является слишком ранним для применения к базе данных. Можно восстановить более позднюю резервную копию журналов, включающую номер LSN 164262000000075400001.
Сообщение 3013, уровень 16, состояние 1, строка 1
RESTORE LOG прервано с ошибкой.
Сообщение 4326, уровень 16, состояние 1, строка 1
Журнал в этом резервном наборе данных заканчивается на номере LSN 164136000000264400001, который является слишком ранним для применения к базе данных. Можно восстановить более позднюю резервную копию журналов, включающую номер LSN 164262000000075400001.
Сообщение 3013, уровень 16, состояние 1, строка 1
RESTORE LOG прервано с ошибкой.
Сообщение 4326, уровень 16, состояние 1, строка 1
Журнал в этом резервном наборе данных заканчивается на номере LSN 164138000000004600001, который является слишком ранним для применения к базе данных. Можно восстановить более позднюю резервную копию журналов, включающую номер LSN 164262000000075400001.
Сообщение 3013, уровень 16, состояние 1, строка 1
RESTORE LOG прервано с ошибкой.
Сообщение 4326, уровень 16, состояние 1, строка 1
Журнал в этом резервном наборе данных заканчивается на номере LSN 164139000000021100001, который является слишком ранним для применения к базе данных. Можно восстановить более позднюю резервную копию журналов, включающую номер LSN 164262000000075400001.
Сообщение 3013, уровень 16, состояние 1, строка 1
RESTORE LOG прервано с ошибкой.
Сообщение 4326, уровень 16, состояние 1, строка 1
Журнал в этом резервном наборе данных заканчивается на номере LSN 164161000000037000001, который является слишком ранним для применения к базе данных. Можно восстановить более позднюю резервную копию журналов, включающую номер LSN 164262000000075400001.
Сообщение 3013, уровень 16, состояние 1, строка 1
RESTORE LOG прервано с ошибкой.

Всего записей: 3031 | Зарегистр. 25-12-2002 | Отправлено: 12:36 14-07-2014
bigsloth



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Serg0FFan
'S:\!sqlback!\1c_actual\kscenter.bak' - это вы его откуда взяли? Судя по ошибке - это последний полный бэкап, а не вчерашний. На последний бэкап вы, конечно, не сможете "накатить" старые бэкапы логов. Используйте kscenter_backup_2014_07_13_030241_1441105.bak (имя взял с вашего последнего скриншота).

Всего записей: 239 | Зарегистр. 18-09-2009 | Отправлено: 13:04 14-07-2014
Serg0FFan



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bigsloth
хм, а откуда интересно система берет его в таком случае? %) Скрипт создаётся автоматом... Но за мысль спасибо! Терепь бы разобраться почему менеджмент студио имя файла не то подставляет...  
 
Добавлено:
bigsloth
Все, разобрался в источнике ошибки! Спасибо!
Оказывается вот почему:  
в системе есть два бекапа баз, 1 бекап делается средствами самого SQL сервера, с помощью заданий. В 3 ночи 1го числа полная копия, в 3:30 каждый день - разностная, в течении каждого часа копия лога транзакций. Причем все это сохраняется по пути T:\devices\kscenter (кидал ранее скриншот с содержимым). Второй бекап делается в 6 утра, каждый день с помощью виндового планировщика, выполняется скрипт, который сохраняет базы в папку на том же сервере но по адресу S:\!sqlback!\1c_actual

Код:
@sqlcmd -Usa -Pпароль -i C:\Bin\1c\2\sqlscript.sql -o C:\Bin\1c\logs\dumps.log

содержимое файла C:\Bin\1c\2\sqlscript.sql

Код:
USE master
DECLARE @folder nvarchar(3000)  
SET @folder = 'S:\!sqlback!\1c_actual'
DECLARE @path nvarchar(4000)  
 
SET @path = @folder+'\kscenter.bak'
BACKUP DATABASE kscenter TO DISK = @path

а далее в 6:30 акронис содержимое папки S:\!sqlback!\1c_actual жмёт и сохраняет на другом сервере в сети. Ну и менеджмент студио почему-то подставляет для полной копии ту которая делалась в S:\!sqlback!\1c_actual. В итоге получается кавардак %) Как избавиться от него ума не приложу
 
 
 

Всего записей: 3031 | Зарегистр. 25-12-2002 | Отправлено: 13:24 14-07-2014
bigsloth



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Serg0FFan
Самое простое - не пользоваться мастером для восстановления. Используйте скрипт, который у вас уже есть. Просто на другие даты заменять имена файлов (ну и дописать пару строк, если на более позднее время нужно будет восстановиться).

Всего записей: 239 | Зарегистр. 18-09-2009 | Отправлено: 13:42 14-07-2014
Serg0FFan



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bigsloth
я вот думаю, а если на 3 часа перенести второе задание, а потом за ним уже, в 4 скажем, пустить задание которое в плане обслуживания? Тогда по идее цепочка должна быть правильной. Пробовал сейчас заменить имя полного бекапа, опять выдало ошибку. Видимо лог "связан" с бекапом который делается в папку  S:\!sqlback!\1c_actual а не с тем с чем нужно - бекапом из папки T:\devices\kscenter  
 
Добавлено:
bigsloth
мысль сейчас родилась, а нету ли у sqlcmd  параметров каких то, которые бы указывали что это просто палная копия ни с какими другими не связанная? Чтобы система (SQL) не пытался её использовать нигде как это получилось в моём случае?
 
Добавлено:
bigsloth
нет, наверное это все же не параметром можно регулировать, а в самом файле скрипта что то дописать надо, вот только что именно?

Всего записей: 3031 | Зарегистр. 25-12-2002 | Отправлено: 13:49 14-07-2014
bigsloth



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Serg0FFan
1) нет, полный бэкап в sql server 2005, 2008 и т.д. не разрывает цепочку восстановления. Я проглядел - в вашем скрипте перечисление бэкапов лога начинается с 6 утра, а должно с 3 (судя по скриншоту с бэкапами). Т.е. вам надо после восстановления полного бэкапа добавить ещё 3 инструкции restore log на 3, 4 и 5 часов последовательно.
 
2) есть возможность дописать WITH COPY_ONLY (актуально для бэкапов лога обычно), может быть поможет, но я не уверен.

Всего записей: 239 | Зарегистр. 18-09-2009 | Отправлено: 13:56 14-07-2014
Serg0FFan



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bigsloth
Спасибо за помощь и за
Цитата:
WITH COPY_ONLY
, все поправил, через пару дней проверю

Всего записей: 3031 | Зарегистр. 25-12-2002 | Отправлено: 14:16 14-07-2014
Serg0FFan



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bigsloth
проверил сейчас восстановление, пытался восстановиться на вчерашний день на 15:30, все окей, все восстановилось, одно маленькое "но" не критичное осталось. Почему то ставит галку на полной копии и на копии лога транзакции сделаной в 16:05, а вот всю цепочку начиная с полной копии и до предпоследнего не выделила - по-русски если, то галки поставила на первой копии и последней в цепочке. Ессно при таких настройках при восстановлении вылетела ошибка. Указал всю цепочку последовательно и все восстановилось замечательно Завтра еще попробую, мало ли.

Всего записей: 3031 | Зарегистр. 25-12-2002 | Отправлено: 09:41 15-07-2014
bigsloth



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Serg0FFan
хорошо, что заработало, но я бы всё равно делал восстановление вручную (скриптом), не доверяю wizard'ам

Всего записей: 239 | Зарегистр. 18-09-2009 | Отправлено: 10:38 15-07-2014
Serg0FFan



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bigsloth
ну можно в визарде сделать скрипт и уже его выполнять Я вручную не умею Больше чем установить/настроить SQL сервер моих знаний не хватает, потому все через визард.

Всего записей: 3031 | Зарегистр. 25-12-2002 | Отправлено: 11:58 15-07-2014
Serg0FFan



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bigsloth
все окей, все работает, спасибо за помощь!!!

Всего записей: 3031 | Зарегистр. 25-12-2002 | Отправлено: 10:03 16-07-2014
elite128

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как уменьшить длину поля столбца в одной из таблиц? (См скрин)
 
http://joxi.ru/wwTRU4wyTJCiLjUHgPs
 
длину столбца  SettingsKey нужно уменьшить с 256 до 44 (данных длинее 44 нет)
меняю в SQL Studio, но затем не могу сохранить
SQL 2008 R2

Всего записей: 1492 | Зарегистр. 26-08-2002 | Отправлено: 17:08 24-07-2014
vikkiv



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
elite128
А что пишет когда отказывается сохранять изменения? Может права доступа? Или Locked? Или запрет на пересоздание таблицы при изменении (типа drop and recreated если верно помню, там в настройках SSMS можно дать разрешение)?
Можешь попробовать вот так:
alter table _SystemSettings alter column _SettingsKey nvarchar(44) not null
Только копию DB сделай прежде чем изменения вносить..
----
кстати nvarchar(xx) насколько помню и не резервирует полную (максимальную) длинну, nchar(хх) делает такое (или text)
можешь n убрать если там только латиница будет (сократит объём в 2 раза) .. оставить varchar(44)

Всего записей: 747 | Зарегистр. 10-11-2005 | Отправлено: 18:42 24-07-2014 | Исправлено: vikkiv, 18:51 24-07-2014
Открыть новую тему     Написать ответ в эту тему

Страницы: 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