"Ningún conjunto de copia de seguridad seleccionado para restaurar" SQL Server 2012

150

Tengo una base de datos SQL Server 2012 con filestream habilitado. Sin embargo, cuando hago una copia de seguridad y trato de restaurarla en otra instancia de SQL Server 2012 (en otra máquina), simplemente recibo este mensaje que:

No se seleccionó ningún conjunto de respaldo para restaurar.

Ni siquiera una sola línea de más explicaciones. ¿Qué pasa aquí?

Cualquier otra base de datos sin filestream está bien y se puede restaurar con éxito. ¿Es algo relacionado con filestream? ¿Debo instalar una revisión o algo así?

Saeed Neamati
fuente
1
Aún no lo ha resuelto. Parece que la configuración de SQL Server tiene problemas. Creo que las cosas deberían ser más fáciles que esto.
Saeed Neamati
1
¿Puede proporcionar el T-SQL que está utilizando para intentar la restauración?
Ben Thul
3
Bueno, estoy usando la GUI de SSMS.
Saeed Neamati
Incluso haciéndolo de esa manera, debería haber un botón "script" en algún lugar cerca de la parte superior de la ventana. Después de configurar todo de la manera que cree que se establecería para la restauración, presione eso en lugar de "ok" y aparecerá el T-SQL que se ejecutará en el servidor para la restauración.
Ben Thul
1
También fue un problema de permisos para mí con SQL 2014 Standard (independiente) en WS 2012 R2 (grupos de trabajo) pero tuve que reiniciar dos veces para la 'toma' de permisos. Por lo que vale ... Espero que todos se resuelvan también.
BaldEagle

Respuestas:

177

Tuve este problema y resultó que estaba tratando de restaurar la versión incorrecta de SQL. Si desea obtener más información sobre lo que está sucediendo, intente restaurar la base de datos utilizando el siguiente SQL:

RESTORE DATABASE <YourDatabase> 
FROM DISK='<the path to your backup file>\<YourDatabase>.bak'

Eso debería darle el mensaje de error que necesita para depurar esto.

usuario489998
fuente
¿Qué mensaje de error aparece cuando intenta restaurar utilizando el SQL anterior?
user489998
Parece que restaurar DB usando el script T-SQL haría el trabajo. Creo que debido a que no hemos hecho una copia de seguridad de los datos del flujo de archivos, la UI no puede manejarlo.
Saeed Neamati
1
Agradable, me gusta el enfoque SQL sin formato. Recibo un mensaje como `El conjunto de medios tiene 2 familias de medios, pero solo se proporciona 1. Todos los miembros deben estar provistos. ¿Significa esto que el origen de la copia de seguridad era una versión diferente de SQL Server que el destino del respaldo? Cuando trato con el enfoque de la interfaz de usuario ("Restaurar"), recibo el mensaje @ topNo backupset selected to be restored.
The Red Pea
Si desea reemplazar la base de datos existente, use completamente la opción WITH REPLACERESTORE DATABASE <YourDatabase> FROM DISK='<the path to your backup file>\<YourDatabase>.bak' WITH REPLACE
Iasmini Gomes el
63

Mi problema terminó siendo los permisos . Estoy en una máquina de desarrollo y copiado a través de Homegroup. De alguna manera, probablemente según el lugar donde copié el archivo, los permisos se estropearon y Management Studio no pudo leer el archivo. Como se trata de dev, acabo de dar permisos a Todos al archivo bak y luego pude restaurar con éxito a través de la GUI.

Tyler Forsythe
fuente
Esto terminó funcionando para mí también. Es TAN MALO que mi nombre de usuario puede tener permisos para esa carpeta, pero la única forma de que esto funcione es agregar el grupo "Todos" a los permisos de la carpeta. Muy frustrante, pero gracias por ahorrarme tiempo.
hurleystylee
55
Falta total de mensajes de error útiles en este caso. Mi problema también fue resuelto por esto.
dodgy_coder
1
Booya! Debo amar esos errores genéricos que no te dicen nada. Por supuesto que eran permisos. Me sucedió al restaurar desde servidores sql en diferentes dominios. Se cambió el permiso del archivo .bak a todos. Funcionó bien después de eso.
Presciente
Había experimentado los mismos problemas al intentar restaurar la base de datos del .bakarchivo, que fue creado por el servicio web de carga de archivos, que se ejecuta bajo IISApplicationPoolIdentity
desarrolló el
26

Cuando se ejecuta:

RESTORE DATABASE <YourDatabase> 
FROM DISK='<the path to your backup file>\<YourDatabase>.bak'

Me dio el siguiente error:

La familia de medios en el dispositivo 'C: \ NorthwindDB.bak' está formada incorrectamente. SQL Server no puede procesar esta familia de medios. RESTORE HEADERONLY está terminando anormalmente. (Microsoft SQL Server, error: 3241) Blockquote

Resulta que no puede llevar una base de datos de una versión de SQL superior a una inferior, incluso si el nivel de compatibilidad es el mismo en la base de datos de origen y de destino. Para verificar la versión de SQL, ejecute:

Select @@Version

Para ver la diferencia, simplemente cree una base de datos en su servidor SQL de origen e intente hacer una restauración desde su archivo de copia de seguridad, cuando lo haga con SSMS, una vez que elija el archivo de copia de seguridad, mostrará cierta información al respecto cuando ábralo desde un servidor de versión inferior que dirá "no se seleccionó ningún conjunto de respaldo para restaurar" ingrese la descripción de la imagen aquí

Entonces, si aún necesita mover sus datos a una versión inferior de SQL, marque Esto .

Alon Or
fuente
Entonces, si tomo una copia de seguridad de db de la máquina con SQL Server 2014 Enterprise, ¿se puede restaurar en SQL Server 2014 Express?
chester89
@ chester89 Creo que depende del tipo de funcionalidad que tenga en la base de datos. Y el tipo de respaldo. La versión express no reconoce las copias de seguridad de compresión. Además, si la versión empresarial está utilizando algo exclusivo de la empresa, la versión gratuita (express) no lo reconocerá. Pero, si tiene algo estándar, en teoría debería ser reconocido.
Juan Acosta
@JuanAcosta sí, lo puse todo junto. En mi caso, no hay ninguna funcionalidad específica de la empresa en uso, por lo que he restaurado la copia de seguridad y sin problemas
chester89
@JuanAcosta, ¿puede indicarme una documentación que diga que la edición express no puede restaurar la copia de seguridad comprimida?
chester89
@Chester, consulte la página 234, punto 3. La opción predeterminada es la única disponible en la versión express. books.google.com.au/…
Juan Acosta
15

Ejecute SQL Server Management Studio como administrador (haga clic con el botón derecho en el acceso directo / exe, luego seleccione "Ejecutar como administrador"), luego intente restaurar.

Keith
fuente
10

Pensé que no era lo suficientemente estúpido como para mezclar las versiones; sin embargo, no me di cuenta de que en mi nuevo servidor, una instancia de SQL Server 2005 ya estaba instalada desde su nacimiento SQLEXPRESS. Al intentar restaurar mi base de datos con SQLEXPRESScopia de seguridad de SQL Server 2008 R2 en SSMS 2012 en la instancia, la lista de conjuntos de copias de seguridad estaba vacía.

Finalmente, me di cuenta de que la SQLEXPRESSinstancia en el servidor no era una instancia de 2012, sino una de 2005. Me desconecté y me conecté a la instancia real de 2012 (en mi caso llamada SQLEXPRESS2012), y (obviamente) funcionó.

Frederik Struck-Schøning
fuente
2
Esto me señaló en la dirección correcta para mi problema. Recibí el mismo error que el póster original, pero fue porque estaba intentando restaurar una copia de seguridad de SQL Express 2012 a una instancia de SQL Server 2008. Es comprensible que esto no sea aconsejable, desafortunadamente el error no fue lo suficientemente descriptivo como para llegar al problema raíz.
Menos
1
¡Guauu! He instalado demasiadas correcciones urgentes del sitio, pero ese error no desapareció. Vi esta respuesta e inicié sesión con la instancia de SQL Server 2012 e intenté restaurar, ¡FUNCIONÓ! Huh gracias :)
Ali Baig
1
¿Entonces dice que no puede restaurar de la versión completa a la versión rápida?
Zapnologica
7

Mi problema era que mi usuario estaba en el grupo de Administradores incorporados y no tenía ningún usuario con el rol Sysadmin en SQL Server. Acabo de iniciar Management Studio como administrador. De esta manera fue posible restaurar la base de datos.

Liz
fuente
Utilicé el siguiente artículo para crear un nuevo usuario sysadmin (consulte la Sección 2 con el modo de usuario único): wikihow.com/Reset-SA-Password-in-Sql-Server
Savage
6

FYI: descubrí que al restaurar, necesitaba usar las mismas credenciales (Usuario SQL) para iniciar sesión en SSMS. Primero probé la restauración con una cuenta de autenticación de Windows.

Ben Ripley
fuente
6

En mi caso, fueron los permisos y el hecho de que usé "Restaurar archivos y grupos de archivos ..." en lugar de simplemente "Restaurar base de datos ...".

Eso hizo la diferencia.

ingrese la descripción de la imagen aquí

Brian
fuente
6

Para mí es un problema de privilegio de usuario. Me conecté con un usuario y funciona bien.

Sharfi
fuente
5

Para mí, el problema era tener el archivo .BAK ubicado en una carpeta cifrada en el servidor. Incluso con todos los derechos de administrador, nunca pude obtener SSMS para leer el archivo. Mover el .BAK a una carpeta sin cifrar resolvió mi problema. Tenga en cuenta que después de mover el archivo, es posible que también deba cambiar las propiedades del archivo real para eliminar el cifrado (clic derecho, propiedades, avanzado, desmarque "cifrar contenido para proteger los datos").

GadgetNC
fuente
3

Tuve el mismo problema con SQL Server 2014 (Management Studio no pudo ver la carpeta en la que residía el archivo de copia de seguridad al intentar ubicarlo para una operación de restauración). Este hilo contenía la respuesta que resolvió mi problema. Citar:

La cuenta de servicio de SQL Server se puede encontrar en Inicio-> Panel de control-> Herramientas administrativas-> Servicios. Haga doble clic en el servicio SQL Server-> pestaña Iniciar sesión. Utilizará la "Cuenta del sistema local" o "Esta cuenta" para definir una cuenta específica. Si está utilizando la cuenta del sistema local, no podrá hacer referencia a las copias de seguridad que no son locales en el servidor. Si, en cambio, ha definido la cuenta a utilizar, esta es la cuenta que necesita tener acceso a la ubicación del archivo de respaldo. Su capacidad para acceder a las copias de seguridad utilizando su inicio de sesión personal es irrelevante; es la cuenta de SQL Server que se usa, aunque esté iniciando la copia de seguridad. Su personal de TI debe poder determinar qué derechos se otorgan a cada cuenta.

Espero que ayude a alguien.

BCA
fuente
Aprecio que haya citado la fuente aquí en línea, mucho más fácil de usar esa información sin tener que navegar fuera de esta página.
qxotk
3

En mi caso (nueva instalación del servidor sql, usuario recién creado) mi usuario simplemente no tenía el permiso necesario. Ingresé al Management Studio como sa , luego fui a Seguridad / Inicios de sesión, hice clic con el botón derecho en mi nombre de usuario, Propiedades, luego en la sección Roles del servidor que verifiqué sysadmin.

Marc.2377
fuente
2

Para mí, fue porque el archivo de respaldo todavía estaba abierto por otro proceso. Aquí está el registro de eventos:

BackupDiskFile :: OpenMedia: el dispositivo de copia de seguridad 'X: \ Backups \ MyDatabase \ MyDatabase_backup_2014_08_22_132234_8270986.bak' no se pudo abrir. Error del sistema operativo 32 (el proceso no puede acceder al archivo porque está siendo utilizado por otro proceso).

Simplemente cerrando y volviendo a abrir Sql Server Management Studio lo resolvió (así que obviamente era ssms.exe el que tenía el control ..)

JohnZaj
fuente
1

Otra posible razón de esta falla parece ser Google Drive. Google Drive está comprimiendo archivos bak o algo así, por lo que si desea transferir una copia de seguridad de la base de datos a través de Google Drive, parece que primero debe comprimirla.

James Gould
fuente
1

Si desea reemplazar la base de datos existente, use completamente la opción WITH REPLACE :

RESTORE DATABASE <YourDatabase> 
FROM DISK='<the path to your backup file>\<YourDatabase>.bak'
WITH REPLACE
Iasmini Gomes
fuente
1

En mi caso, fue un problema de permisos.

ingrese la descripción de la imagen aquí

Para el usuario de Windows, estaba usando no tenía dbcreatorfunción.

Entonces seguí los pasos a continuación

  1. Conéctese saal servidor SQL
  2. Expandir Securityen el Explorador de objetos
  3. Expandir Logins
  4. Haga clic derecho en el usuario de Windows en cuestión
  5. Haga clic en Propiedades.
  6. Seleccionar Server Rolesde Select a pageopciones
  7. Comprobar dbcreatorrol para el usuario
  8. Haga clic en Aceptar

ingrese la descripción de la imagen aquí

Devraj Gadhavi
fuente
0

Usando SQL Server 2012 Express.

Mi error (desde el Administrador de SQL - Cuadro de diálogo Restaurar base de datos):

No backupset selected to be restored

Además, no había conjuntos de copias de seguridad en la lista para seleccionar.

El problema era que había movido 1 de los 5 archivos de copia de seguridad a una carpeta donde el usuario de inicio de sesión del servicio SQL Server no tenía permisos. Intenté agregar ese usuario, pero no pude obtener el usuario NT Service \ MSSQL $ SQLEXPRESS en la seguridad lista.

Moví el archivo debajo de la carpeta Documentos para el usuario del servicio, y eso le permitió leer todos los archivos que había seleccionado - 4 en ese momento - y el error cambió a "falta el conjunto de medios" - luego busqué otro archivo de respaldo , y cuando agregué que pude restaurar.

Las respuestas en esta pregunta me ayudaron a buscar en los lugares correctos y a encontrar una solución.

revs condiosluzverde
fuente
0

Para mí, fue un problema de permiso. Instalé el servidor SQL usando una cuenta de usuario local y antes de unirme al dominio de mi empresa. Más tarde, intenté restaurar una base de datos usando mi cuenta de dominio que no tiene los permisos necesarios para restaurar las bases de datos del servidor SQL. Debe corregir el permiso para su cuenta de dominio y otorgarle permiso de administrador del sistema en la instancia del servidor SQL que tenga.

Anas Ghanem
fuente
0

Recibí el mismo mensaje de error a pesar de que hice una copia de seguridad y restauré en la misma máquina.

El problema era de aquí: cuando hice una copia de seguridad, tenía 2 elementos en el cuadro de destino.

Entonces, la solución sería: asegúrese de que solo 1 elemento en el cuadro 'destino'. Elimine todos los demás si los hay.

Danniel Little
fuente
0

Me he encontrado con el mismo problema. Ejecute SSMS como administrador, luego haga clic derecho y restaure la base de datos. Deberia trabajar.

Jonny Boy
fuente
0

Creo que recibí el premio por la razón más descabellada para obtener este error. En el cuadro de diálogo Restaurar base de datos, el menú desplegable de la base de datos en Fuente es gris y pensé que estaba deshabilitado. Pasé al menú desplegable de la base de datos en Destino pensando que era la fuente e hice una selección. Hacer esto hará que se muestre este mensaje de error.

Gabe
fuente