Назад | Перейти на главную страницу

Почему сервер 2008, работающий под управлением SQL 2008, создает исключение FlushFileBuffer?

Я запускаю 64-битный SQL2k8 на 64-битном WS2k8 и создаю резервную копию базы данных в файле UNC. Резервное копирование создает файл, копирует данные и по завершении дает сбой.

Резервное копирование базы данных Infovest на диск = '\ riscsrv-dcm04 \ riscsrv-sql01_backups \ dvc_Infovest_Z.bak' с INIT, STATS = 1 ... 98 процентов обработано. 99 процентов обработано. Обработано 3422232 страницы для базы данных Infovest, файл InfoVest_Data в файле 1. Обработано на 100 процентов. Обработано 14383 страницы для базы данных «Инфовест», файл «InfoVest_Log» в файле 1. Сообщение 3634, уровень 16, состояние 2, строка 1 Операционная система вернула ошибку «64 (не удалось получить текст для этой ошибки. Причина: 15105)» при попытке выполнить «FlushFileBuffers» на «\ riscsrv-dcm04 \ riscsrv-sql01_backups \ dvc_Infovest_Z.bak». Msg 3013, уровень 16, состояние 1, строка 1 BACKUP DATABASE аварийно завершает работу.

Может ли кто-нибудь дать мне совет, как НЕ получить эту ошибку и по-прежнему иметь возможность выполнять резервное копирование по сети? Оба сервера 64-битные (src и dst), имеют много места и используют один и тот же гигабитный коммутатор. Размер db составляет 27 ГБ, а резервные копии других баз данных прекрасны, хотя и меньше. Размер имеет значение ?? Это резервное копирование также терпит неудачу при резервном копировании на устройство, определенное для аналогичного файла, также в том же каталоге.

Я застрял здесь и был бы признателен за поддержку в устранении этой ошибки ОС.

С уважением, Habeeb

Зарегистрируйте обращение в службу поддержки Microsoft, это может быть ошибкой!

Вот что нужно проверить / попробовать:

Имеет ли учетная запись службы SQL Server полный общий доступ и разрешения NTFS для папки \ riscsrv-dcm04 \ riscsrv-sql01_backups \?

Отключите любой антивирус на сервере удаления или что-нибудь еще, что может мешать сохранению файлов на диск.

Попробуйте разделить резервную копию на несколько файлов и посмотрите, возникает ли ошибка. Для этого используйте несколько команд to disk =, например:

Backup database Infovest 
to disk = '\\riscsrv-dcm04\riscsrv-sql01_backups\dvc_Infovest_Z_01.bak'
,  disk = '\\riscsrv-dcm04\riscsrv-sql01_backups\dvc_Infovest_Z_02.bak'
,  disk = '\\riscsrv-dcm04\riscsrv-sql01_backups\dvc_Infovest_Z_03.bak'

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

sp_configure 'show advanced options', 1;
GO
RECONFIGURE WITH OVERRIDE;
GO
sp_configure 'max degree of parallelism', 1;
GO
RECONFIGURE WITH OVERRIDE;
GO