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

Откуда:
Сообщений: 681
Доброе утро!
Помогите кто может!
Microsoft SQL Server 2008 (SP2) - 10.0.4000.0 (X64) Sep 16 2010 19:43:16 Copyright (c) 1988-2008 Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

Ситуация такая.

Делаю full backup 29 баз на сетевой диск. Размер каждой ~10-20 ГБ.
При backup - е обнаруживаю что, сделался backup не всех баз. И так каждый раз. В каждый раз не делается backup произольных баз.
Что может быть?

Скрипт такой:


use msdb
 EXEC sp_update_job @job_name = 'BackupAllDB_LOG' , @enabled = 0

DECLARE @name VARCHAR(50) -- database name  
DECLARE @path VARCHAR(256) -- path for backup files  
DECLARE @fileName VARCHAR(256) -- filename for backup  
DECLARE @fileDate VARCHAR(20) -- used for file name 

SET @path = '\\back-01\path'  

SELECT @fileDate = (SELECT REPLACE(REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR(23),CURRENT_TIMESTAMP,126),'T',''),':',''),'-',''),'.','')); 

DECLARE db_cursor CURSOR FOR  
SELECT name 
FROM master.dbo.sysdatabases 
WHERE name NOT IN ('master','msdb','model','tempdb')  
OPEN db_cursor   
FETCH NEXT FROM db_cursor INTO @name   

WHILE @@FETCH_STATUS = 0   
BEGIN   
      -- SET @fileName = @path + @name + '_' + @fileDate + '.BAK'  
       declare @DBFolder varchar(300)
declare @SQLString varchar(max)
declare @Folder table (FileExists int,
                       IsDirectory int,
                       ParentDirectory int)

set @DBFolder = @path + '\' + @name+'\'
print @DBFolder
insert into @Folder
exec sys.xp_fileexist @DBFolder

if exists (select 1 from @Folder where IsDirectory = 0)
begin
EXECUTE master.dbo.xp_create_subdir @DBFolder

end
SET @fileName =@DBFolder  + @name + '_' + @fileDate + '.BAK'
       BACKUP DATABASE @name TO DISK = @fileName
			WITH COMPRESSION, CHECKSUM
       FETCH NEXT FROM db_cursor INTO @name   
END   

CLOSE db_cursor   
DEALLOCATE db_cursor
 use msdb
 EXEC sp_update_job @job_name = 'BackupAllDB_LOG' , @enabled = 1


Сообщение было отредактировано: 4 сен 12, 10:19
4 сен 12, 09:25    [13109577]     Ответить | Цитировать Сообщить модератору
 Re: Не все базы бэкапятся  [new]
Glory
Member

Откуда:
Сообщений: 104760
beaver06
В каждый раз не делается backup произольных баз.
Что может быть?

Наверное про это написано в сообщении об ошибке.
4 сен 12, 09:28    [13109588]     Ответить | Цитировать Сообщить модератору
 Re: Не все базы бэкапятся  [new]
beaver06
Member

Откуда:
Сообщений: 681
Glory,
нигде ничего не пишется. Job заканичвается succesfull. В sql server log тоже нет ошибок. Даже зацепиться не за что.
В log - е job-а просто идут записи о выполнении backup - а баз.
4 сен 12, 09:31    [13109598]     Ответить | Цитировать Сообщить модератору
 Re: Не все базы бэкапятся  [new]
Glory
Member

Откуда:
Сообщений: 104760
beaver06
Glory,
нигде ничего не пишется. Job заканичвается succesfull. В sql server log тоже нет ошибок. Даже зацепиться не за что.
В log - е job-а просто идут записи о выполнении backup - а баз.

Тогда откуда вы знаете, для каких баз команда backup вообще запускается ?
4 сен 12, 09:33    [13109603]     Ответить | Цитировать Сообщить модератору
 Re: Не все базы бэкапятся  [new]
beaver06
Member

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

в том -то и дело не знаю. Как можно продиагностировать ситуацию
Может дело в курсоре? Или из-за таймаута?

Через maintenence plan все работает.
4 сен 12, 09:37    [13109611]     Ответить | Цитировать Сообщить модератору
 Re: Не все базы бэкапятся  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
beaver06
Glory,

в том -то и дело не знаю. Как можно продиагностировать ситуацию
Может дело в курсоре? Или из-за таймаута?

Через maintenence plan все работает.

вместо exec print. Выполнить в студии
Посмотрите какая команда сформируется.
4 сен 12, 09:38    [13109613]     Ответить | Цитировать Сообщить модератору
 Re: Не все базы бэкапятся  [new]
Glory
Member

Откуда:
Сообщений: 104760
beaver06
в том -то и дело не знаю. Как можно продиагностировать ситуацию

Поставить в скрипт элементарное логирование/отладочные выводы действий ?
4 сен 12, 09:39    [13109616]     Ответить | Цитировать Сообщить модератору
 Re: Не все базы бэкапятся  [new]
beaver06
Member

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

через консоль (при print) выводятся список всех баз.
При exec в консоли надо проверить... Щас...
4 сен 12, 09:43    [13109630]     Ответить | Цитировать Сообщить модератору
 Re: Не все базы бэкапятся  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
beaver06
Ozerov,

через консоль (при print) выводятся список всех баз.
При exec в консоли надо проверить... Щас...


Что выводится - хорошо. А если исполнить то, что выводится (скопировать и исполнить). Все отработает ?
4 сен 12, 09:45    [13109636]     Ответить | Цитировать Сообщить модератору
 Re: Не все базы бэкапятся  [new]
beaver06
Member

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

запустил, проверю. Часика через 2 будет результат
4 сен 12, 09:46    [13109637]     Ответить | Цитировать Сообщить модератору
 Re: Не все базы бэкапятся  [new]
beaver06
Member

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

через консоль забэкапил 5 баз из 29 и закончил с Query executed successful
4 сен 12, 10:11    [13109751]     Ответить | Цитировать Сообщить модератору
 Re: Не все базы бэкапятся  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
beaver06
Ozerov,

через консоль забэкапил 5 баз из 29 и закончил с Query executed successful


Хм. т.е. отработали все команды ? а можно посмотреть, что print вернул и что Вы исполняли ?
4 сен 12, 10:23    [13109806]     Ответить | Цитировать Сообщить модератору
 Re: Не все базы бэкапятся  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37068
DECLARE db_cursor CURSOR local fast_forward FOR  
SELECT name 
FROM master.dbo.sysdatabases 
WHERE name NOT IN ('master','msdb','model','tempdb') 
order by name
4 сен 12, 10:25    [13109813]     Ответить | Цитировать Сообщить модератору
 Re: Не все базы бэкапятся  [new]
beaver06
Member

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

консоль сообщила, что были сделаны backup - ы таких-то БД (5 штук) и successful
4 сен 12, 10:27    [13109820]     Ответить | Цитировать Сообщить модератору
 Re: Не все базы бэкапятся  [new]
Glory
Member

Откуда:
Сообщений: 104760
beaver06
консоль сообщила, что были сделаны backup - ы таких-то БД (5 штук) и successful

Сколько команд BACKUP было запущено ?
Сколько раз сработал цикл ?
Если 5 и 5, то какие вопросы к серверу ?
4 сен 12, 10:31    [13109834]     Ответить | Цитировать Сообщить модератору
 Re: Не все базы бэкапятся  [new]
nicescar
Member

Откуда:
Сообщений: 94
Создаются ли папки для бэкапов тех баз, которые не бэкапятся?
Достаточно ли прав учетной записи SQL-сервера для работы с этими папками?
4 сен 12, 10:38    [13109878]     Ответить | Цитировать Сообщить модератору
 Re: Не все базы бэкапятся  [new]
beaver06
Member

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

да папки уже созданы, права есть полные
4 сен 12, 10:40    [13109886]     Ответить | Цитировать Сообщить модератору
 Re: Не все базы бэкапятся  [new]
Spartakich
Member

Откуда: Riga
Сообщений: 380
beaver06,

к тому ли инстансу подключаемся, тот ли инстанс бекапим ? :)
4 сен 12, 10:40    [13109887]     Ответить | Цитировать Сообщить модератору
 Re: Не все базы бэкапятся  [new]
beaver06
Member

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

цикл сработал 5 раз... больше не захотел.
Но select для курсора выодит 29 баз
4 сен 12, 10:42    [13109894]     Ответить | Цитировать Сообщить модератору
 Re: Не все базы бэкапятся  [new]
beaver06
Member

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

да
4 сен 12, 10:42    [13109897]     Ответить | Цитировать Сообщить модератору
 Re: Не все базы бэкапятся  [new]
beaver06
Member

Откуда:
Сообщений: 681
Щас остановил SQL Agent, пробую через консоль.
Может job какой срубает.
В начале увидел что этот job срубает job по backup - у логов. Job backup log отключил. Все равно срубается...
4 сен 12, 10:45    [13109918]     Ответить | Цитировать Сообщить модератору
 Re: Не все базы бэкапятся  [new]
nicescar
Member

Откуда:
Сообщений: 94
BACKUP DATABASE @name TO DISK = @fileName
			WITH COMPRESSION, CHECKSUM

Может это в Dynamic SQL загнать? Плюс, добавить [] вокруг имени базы.
4 сен 12, 10:47    [13109925]     Ответить | Цитировать Сообщить модератору
 Re: Не все базы бэкапятся  [new]
Glory
Member

Откуда:
Сообщений: 104760
beaver06
цикл сработал 5 раз... больше не захотел.
Но select для курсора выодит 29 баз

А какое отношение select имеет к циклу ?
Ваш _цикл_ сработал 5 раз. Как за 5 итераций можно 29 раз выполнить бэкап ?
4 сен 12, 10:48    [13109934]     Ответить | Цитировать Сообщить модератору
 Re: Не все базы бэкапятся  [new]
beaver06
Member

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

так цикл выполнился 5 раз и команда на backup запустилась 5 раз, и появилось 5 backup- ов
4 сен 12, 10:52    [13109957]     Ответить | Цитировать Сообщить модератору
 Re: Не все базы бэкапятся  [new]
Glory
Member

Откуда:
Сообщений: 104760
beaver06
так цикл выполнился 5 раз и команда на backup запустилась 5 раз, и появилось 5 backup- ов

Ну так разберитесь со своим циклом.
4 сен 12, 10:53    [13109960]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить