У меня есть файл .bak, созданный сегодня кем-то другим, вручную созданный через SSMS 2008 R2. Я пытаюсь вручную восстановить базу данных, к сожалению, файл не появляется, когда я просматриваю его.
Я могу написать сценарий процесса восстановления, но я видел эту проблему раньше, и я не уверен, что может привести к тому, что .bak не появится.
sql-server
backup
ssms
Шон Лонг
источник
источник
Ответы:
У нас была такая же проблема сегодня. Как выяснилось в некоторых других ответах, это была проблема с разрешениями. Разница в том, что аккаунт, который нам нужно было добавить, был
NT SERVICE\MSSQLSERVER
.Я идентифицировал учетную запись, сравнив разрешения по умолчанию для разрешений папки SQL Backup с папкой, содержащей файл резервной копии.
Добавление учетной записи службы не так просто, как кажется. Вот что сработало для меня. (Server 2012 R2)
NT SERVICE\MSSQLSERVER
поле для имени. (Не нажимайте Проверить имена)Вы должны увидеть учетную запись службы, указанную в настройках безопасности, и можете соответствующим образом настроить разрешения.
После добавления разрешений (я добавил полный доступ, чтобы соответствовать папке резервного копирования SQL по умолчанию) и перезапуска консоли управления SQL Server, я смог выбрать и восстановить файл резервной копии.
источник
s
виртуальная учетная записьNT Service\s
, даже если служба не работает под этой учетной записью.NT Service\MSSQL$SQLSERVER2014
, возможно, потому, что я назвал свой экземплярSQLSERVER2014
Я получил это сегодня.
Я отключил общий доступ к файлам, индексацию и очистил все открытые сеансы (люди вошли в систему для копирования резервных копий), но проблема не исчезла.
Пошел в проводник Windows, скопировал резервные копии в другую папку и просмотрел ее в Management Studio, и я смог увидеть ее там.
Удалил исходную папку и воссоздал ее, снова скопировал содержимое и перешел к
.bak
файлам, и он вернулся к нормальной работе.Надеюсь, это кому-нибудь поможет.
источник
Я сталкивался с этой проблемой пару раз. Проблема не в SQL Server, а в разрешении папки Windows. Вы должны добавить соответствующие разрешения в папку, куда вы скопировали файл .bak (я думаю, что
System Network
роль).Более простое решение - переместить файл в резервную папку по умолчанию в Program Files. Имеет все необходимые разрешения. Для SQL Server 2012 это
источник
Я также столкнулся с той же проблемой сегодня. Мне дали файл для восстановления, но он не был виден мне во время просмотра. Однако я смог получить доступ к файловой системе, но в мастере восстановления с помощью
SQL Server management Studio
.Потратив немного, я обнаружил, что это проблема с разрешениями. Служба SQL Server работает с использованием,
Network Service
но уNetwork Service
учетной записи не было разрешений на доступ к папке. После предоставления разрешения наNetwork Service
. Резервный файл был виден для восстановления.Для деталей, пожалуйста, проверьте блог .
источник
Если вы можете найти его в Windows Explorer, то вам нужно написать
RESTORE DATABASE
команду, а не полагаться на неуклюжий графический интерфейс, чтобы найти ее для вас. Кто знает, что за код там происходит и почему он не может найти файл - извините, у меня есть только обходной путь, а не решение.Также убедитесь, что файл на самом деле что-то .bak, а не что-то. Bak.txt (Windows может «услужливо» скрывать расширение от вас. Я ненавижу это поведение по умолчанию.)
источник
Это случилось со мной сегодня на моей коробке разработчика. В моем случае служебная учетная запись имела права доступа к папке, а моя учетная запись пользователя - нет. После того, как я предоставил разрешения учетной записи для папки, я смог видеть файлы .BAK.
источник