Помилка резервного копіювання SQL Server 2008 - Помилка операційної системи 5 (не вдалося отримати текст для цієї помилки. Причина: 15105) [закрито]


77

Хто-небудь може мені допомогти, я намагаюся зробити резервну копію бази даних, що знаходиться на localhost \ SQLEXPRESS, але я постійно отримую таку помилку:

Backup failed for Server 'localhost\SqlExpress'.  (Microsoft.SqlServer.SmoExtended)

For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.0.2531.0+((Katmai_PCU_Main).090329-1045+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Backup+Server&LinkId=20476


ADDITIONAL INFORMATION:

System.Data.SqlClient.SqlError: Cannot open backup device 'C:\backup.bak'. Operating system error 5(failed to retrieve text for this error. Reason: 15105). (Microsoft.SqlServer.Smo)

For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.0.2531.0+((Katmai_PCU_Main).090329-1045+)&LinkId=20476

Хтось може пояснити, що я тут роблю неправильно ??

Дякую


3
У Windows 7/2008 збереження файлів у кореневій папці C заборонено, тому, якщо ви використовуєте одну з цих двох ОС, це має сенс.
Пітер

8
Можливо, поза темою, але корисно для мене!
kravits88

у мене виникла проблема, і вона була спричинена вже існуючим файлом. Мені потрібно було додати код для обробки цього - і, можливо, шукати опцію в об'єкті Backup (я використовую c # для запуску резервної копії в моїй програмі)
da Bich

Попередній коментар Пітера спрацював на мене. Читання файлу резервної копії з C: \ Users \ <ІМЯ КОРИСТУВАЧА> спричинило помилку, тоді як переміщення його на інший диск вирішило проблему.
snowmonkey

Відповіді:


88

Схоже, SQL Server не має дозволу на доступ до файлу C: \ backup.bak. Я б перевірив дозволи облікового запису, призначеного для облікового запису служби SQL Server.

Як частина рішення, ви можете захотіти зберегти файли резервних копій в іншому місці, ніж в корені диска C:. Це може бути однією з причин, чому у вас виникають проблеми з дозволом.


45

Я зіткнувся з цією помилкою, коли не вистачало вільного місця для створення резервної копії.


17
У мене була точно така ж проблема. Просте і легке повідомлення про помилку про те, що бракує місця на диску, дуже допомогло б. спасибі microsoft
Stefan Arn

Я також отримав цю помилку та вирішив її, розширивши дисковий простір серверів.
Джордж Норберг

Yepp, прочитавши цю відповідь, я перевірив свій диск, щоб лише вразитись, залишилось мізерних 300 Мб місця: D Видалення старих застарілих резервних копій вивільнилося досить.
gabore

1
збережи мою годину! Дякую
HATCHA

Будь ласка. Йдуть роки, але ми все ще бачимо це «корисне повідомлення».
Найменший

15

Якщо припустити, що файл * .bak знаходиться на тій самій машині, що і екземпляр SQL Express, це може бути проблемою дозволів.

Якщо ви завантажуєте procmon http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx, ви можете відфільтрувати шлях до цього файлу, знайдіть помилки ACCESS_DENIED, і якщо вони є, ви можете побачити назву облікового запису, до якої не вдається дістатися доступ.


2
У мене була зовсім інша проблема (недостатньо місця на диску), яка проявлялася під тим самим номером помилки - procmon вказав мене в правильному напрямку - точно, яку слід запам'ятати на майбутнє. Дякую Мартіне.
Годдерс

@Martin: Чи можна було б знати, як можна дізнатися повідомлення про помилку за допомогою ProcMon?
Баахубалі,

10

Я теж отримав цю помилку.

Проблема виявилася просто в тому, що мені довелося вручну створити повну структуру каталогів для розташування файлів MDF та LDF.

Ганьба SQL-серверу за неналежне повідомлення про зниклий каталог!


5

У мене така сама помилка. Я намагався це виправити, встановивши вищий дозвіл на обліковий запис, який працює під керуванням служби клієнта SQL, проте це не допомогло. Проблема полягала в тому, що я запускаю студію MS Sql Management безпосередньо у своєму обліковому записі. Отже, наступного разу ... переконайтесь, що ви запускаєте його як Запуск від імені адміністратора , якщо ви використовуєте Win7 з увімкненим UAC.


3

Так, це питання безпеки. Перевірте дозволи на папки та обліковий запис служби, під яким запускається SQL Server 2008.


3

У мене сталася ця помилка. У мене нічого не працювало, поки я не відкрив файл журналу SQLServer у папці журналу "MSSQL10_50". Це чітко зазначало, який файл не можна перезаписати. Виявилося, що файл .mdf записується у папку даних "MSSQL10". Я переконався, що папка має ті самі дозволи користувача SQLServer, що і еквівалентна папка "MSSQL10_50". Тоді все працювало.

Проблема полягає в тому, що деталі помилки реєструються, але не повідомляються, тому перевірте журнали.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.