Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

importar datos (.BAK) a sql server

Estas en el tema de importar datos (.BAK) a sql server en el foro de Bases de Datos General en Foros del Web. hola. resulta que les he pedido a mi hosting que me recuperaran una copia de una tabla de mi base de datos sql server(porque habia ...
  #1 (permalink)  
Antiguo 21/05/2003, 10:11
Avatar de Ruchu  
Fecha de Ingreso: octubre-2001
Mensajes: 698
Antigüedad: 22 años, 5 meses
Puntos: 2
importar datos (.BAK) a sql server

hola.

resulta que les he pedido a mi hosting que me recuperaran una copia de una tabla de mi base de datos sql server(porque habia sufrido una perdida de datos por un error mio) y me han mandado por email un archivo (que es esa tabla) y resulta que es un archivo .BAK

¿como lo importo al servidor de mi base dedatos?

con el asistente importar/exportar del administrador corporativo no veo ninguna opción para que coja datos de un .BAK

¿?¿?¿?
  #2 (permalink)  
Antiguo 21/05/2003, 10:13
Avatar de Jorge_Mota  
Fecha de Ingreso: diciembre-2002
Ubicación: Chapinlandia :-D
Mensajes: 725
Antigüedad: 21 años, 3 meses
Puntos: 11
mmm puede ser un backup
intenta click derecho sobre la base de datos / Restore
Seleccionas From Device
Add...

seleccionas el archivo
y ok
ok

a ver si funciona.
__________________
Jorge Mota
Blog
Gubiz estafa
  #3 (permalink)  
Antiguo 21/05/2003, 11:35
Avatar de Ruchu  
Fecha de Ingreso: octubre-2001
Mensajes: 698
Antigüedad: 22 años, 5 meses
Puntos: 2
eso que comentas me da problemas o no se hacerlo bien.

alguien me puede explicar paso a paso como se hace o algun manuel online que lo explique??
  #4 (permalink)  
Antiguo 21/05/2003, 12:20
Avatar de Jorge_Mota  
Fecha de Ingreso: diciembre-2002
Ubicación: Chapinlandia :-D
Mensajes: 725
Antigüedad: 21 años, 3 meses
Puntos: 11
que problema te da ?
__________________
Jorge Mota
Blog
Gubiz estafa
  #5 (permalink)  
Antiguo 21/05/2003, 12:52
Avatar de Ruchu  
Fecha de Ingreso: octubre-2001
Mensajes: 698
Antigüedad: 22 años, 5 meses
Puntos: 2
yo hago click en la bd > restaurar base de datos > eligo la opcion de la pestaña General "Desde dispositivo" > sale ruta predeterminada del servidor backup (D:\....) > click para cambiar ruta y no me deja seleccionar de mi disco.

no se, si sirve de algo tengo el admin corporativo sqlserver 2000.
  #6 (permalink)  
Antiguo 22/05/2003, 16:20
Avatar de Ruchu  
Fecha de Ingreso: octubre-2001
Mensajes: 698
Antigüedad: 22 años, 5 meses
Puntos: 2
bueno, creo que pedire a mi hosting que me hagan la tarea ellos. nadie sabe????
  #7 (permalink)  
Antiguo 22/05/2003, 22:32
 
Fecha de Ingreso: abril-2003
Mensajes: 606
Antigüedad: 20 años, 11 meses
Puntos: 2
Creo que mas bien el problema es que tu no eres el administrador del manejador de tu hosting, por lo cual supongo que no tienes permisos. Lo más seguro es que solo ellos lo puedan hacer
  #8 (permalink)  
Antiguo 23/05/2003, 02:08
Avatar de Ruchu  
Fecha de Ingreso: octubre-2001
Mensajes: 698
Antigüedad: 22 años, 5 meses
Puntos: 2
yo diria que tambien, que no tengo permisos para hacerlo. pero entonces porque me han mandado un .bak el cual carezco de permisos para volver a subirlo al servidor?? son tontos o esque realmente si que se puede??

jaajaj, la ostia....
  #9 (permalink)  
Antiguo 23/05/2003, 08:59
 
Fecha de Ingreso: enero-2002
Ubicación: Zaragoza
Mensajes: 144
Antigüedad: 22 años, 2 meses
Puntos: 0
Esta información de la ayuda de SQL server, creo que te aclarará un poco las cosas:

Programa sqlmaint
El programa sqlmaint realiza un conjunto especificado de operaciones de mantenimiento en una o varias bases de datos. Utilice sqlmaint para ejecutar comprobaciones de DBCC, realizar una copia de seguridad de una base de datos y su registro de transacciones, actualizar estadísticas y volver a generar índices. Todas las actividades de mantenimiento de la base de datos generan un informe que se puede enviar a un archivo de texto, un archivo HTML o una cuenta de correo electrónico que se designe.

Sintaxis
sqlmaint
[-?] |
[
[-S servidor]
[-U IdInicioSesión [-P contraseña]]
{
[ -D nombreBaseDatos | -PlanName nombre | -PlanID GUID ]
[-Rpt archivoTexto [-DelTxtRpt <período>] ]
[-To nombreOperador]
[-HtmlRpt archivoHtml [-DelHtmlRpt <período>] ]
[-RmUnusedSpace porcentajeUmbral porcentajeLibre]
[-CkDB | -CkDBNoIdx]
[-CkAl | -CkAlNoIdx]
[-CkTxtAl]
[-CkCat]
[-UpdSts]
[-UpdOptiStats porcentajeMuestra]
[-RebldIdx espacioLibre]
[-WriteHistory]
[
{-BkUpDB [rutaCopiaSeguridad] | -BkUpLog [rutaCopiaSeguridad] }
{-BkUpMedia
{DISK [ [-DelBkUps <período>]
[-CrBkSubDir ] [ -UseDefDir ]
]
| TAPE
}
}
[-BkUpOnlyIfClean]
[-VrfyBackup]
]
}
]

<período> ::=
número[minutes | hours | days | weeks | months]


--------------------------------------------------------------------------------

Nota Los parámetros y sus valores deben estar separados por un espacio. Por ejemplo, debe haber un espacio entre -S y servidor.


--------------------------------------------------------------------------------

Argumentos
-?
Especifica que se devuelva el diagrama de sintaxis para sqlmaint. Este parámetro debe utilizarse solo.
-S servidor
Especifica el servidor de destino. Si no se especifica, se asume que Microsoft® SQL Server™ se encuentra en el equipo local. La versión de SQL Server no puede ser la 6.5 ni anterior. Utilice la versión 6.5 de sqlmaint para las versiones anteriores de SQL Server.
-U IdInicioSesión
Especifica el Id. de inicio de sesión que va a utilizarse para conectar al servidor. Si no se especifica, sqlmaint intenta utilizar la Autenticación de Windows NT. Si IdInicioSesión contiene caracteres especiales, debe incluirse entre dobles comillas (“); de lo contrario, las dobles comillas son opcionales.
-P contraseña
Especifica la contraseña para el Id. de inicio de sesión. Sólo tiene validez si también se especifica el parámetro -U. Si contraseña contiene caracteres especiales, deberá incluirse entre dobles comillas; de lo contrario, las dobles comillas son opcionales.
-D nombreBaseDatos
Especifica el nombre de la base de datos en que se va a realizar la operación de mantenimiento. Si nombreBaseDatos contiene caracteres especiales, deberá incluirse entre dobles comillas; de lo contrario, las dobles comillas son opcionales.
-PlanName nombre
Especifica el nombre de un plan de mantenimiento de base de datos definido mediante el Asistente para planes de mantenimiento de bases de datos. La única información del plan que sqlmaint utiliza es la lista de las bases de datos. Todas las actividades de mantenimiento que se especifiquen en los demás parámetros de sqlmaint se aplicarán a esta lista de bases de datos. Puede obtener el nombre del plan en el Administrador corporativo de SQL Server.
-PlanID GUID
Especifica el identificador exclusivo global (GUID) de un plan de mantenimiento de base de datos definido mediante el Asistente para planes de mantenimiento de bases de datos. La única información del plan que sqlmaint utiliza es la lista de las bases de datos. Todas las actividades de mantenimiento que se especifiquen en los demás parámetros de sqlmaint se aplicarán a esta lista de bases de datos. Debe coincidir con un valor de plan_id en msdb.dbo.sysdbmaintplans.
-Rpt archivoTexto
Especifica la ruta de acceso completa y el nombre del archivo en que se va a generar el informe. También se genera el informe en la pantalla. El informe mantiene información de la versión al agregar la fecha al nombre de archivo. La fecha se genera del modo siguiente: al final del nombre del archivo, pero antes del punto, en la forma _aaaaMMddhhm. Aaaa = año, MM = mes, dd = día, hh = hora, mm = minuto.
Si ejecuta el programa a las 10:23 a.m. del 1 de diciembre de 1996 y éste es el valor de archivoTexto:

c:\mssql7\backup\Nwind_maint.rpt



el nombre del archivo generado será:

c:\mssql7\backup\Nwind_maint_199612011023.rpt


Se requiere el nombre UNC completo del archivo para archivoTexto cuando sqlmaint tiene acceso a un servidor remoto.

-DelTxtRpt <período>
Especifica que debe eliminarse cualquier informe de texto del directorio de informes si el intervalo posterior a la creación del archivo de informe supera el <período>.
-DelTextRpt busca archivos cuyo nombre se ajuste al patrón generado a partir del parámetro archivoTexto. Si archivoTexto es C:\Mssql7\Backup\Nwind_maint.rpt, entonces -DelTxtRpt causará que sqlmaint elimine todos los archivos cuyos nombres coincidan con el patrón C:\Mssql7\Backup\Nwind_maint*.rpt y que sean más antiguos que el <período> especificado.

-To nombreOperador
Especifica el operador al que se enviará el informe generado a través de SQL Mail. Es posible definir el operador mediante el Administrador corporativo de SQL Server.
-HtmlRpt archivoHtml
Especifica la ruta de acceso completa y el nombre del archivo en el que se va a generar el informe HTML. sqlmaint genera el nombre del archivo al incluir una cadena con el formato _aaaaMMddhhmm en el nombre de archivo, al igual que con el parámetro -Rpt.
Se requiere el nombre UNC completo del archivo para archivoHtml cuando sqlmaint tiene acceso a un servidor remoto.

-DelHtmlRpt <período>
Especifica que debe eliminarse cualquier informe HTML del directorio de informes si el intervalo posterior a la creación del archivo de informe supera el <período>.
-DelHtmlRpt busca archivos cuyo nombre se ajuste al patrón generado a partir del parámetro archivoHtml. Si archivoHtml es C:\Mssql7\Backup\Nwind_maint.htm, entonces -DelHtmlRpt causará que sqlmaint elimine todos los archivos cuyos nombres coincidan con el patrón C:\Mssql7\Backup\Nwind_maint*.htm y que sean más antiguos que el <período> especificado.

-RmUnusedSpace porcentajeUmbral porcentajeLibre
Indica que se quite el espacio no utilizado de la base de datos especificada en -D. Esta opción sólo es útil con las bases de datos definidas de manera que puedan crecer automáticamente. porcentajeUmbral especifica el tamaño en megabytes que debe alcanzar la base de datos antes de que sqlmaint intente quitar el espacio de datos no utilizado. Si la base de datos es más pequeña que porcentajeUmbral, no se lleva a cabo ninguna acción. porcentajeLibre especifica cuánto espacio no utilizado debe quedar en la base de datos; se indica como un porcentaje del tamaño final de la base de datos. Por ejemplo, si una base de datos de 200 MB contiene 100 MB de datos y se especifica el valor 10 para porcentajeLibre, el tamaño final de la base de datos será de 110 MB. La base de datos no se ampliará si ocupa menos espacio que la suma de porcentajeLibre más el espacio ocupado por los datos de la base de datos. Por ejemplo, si una base de datos de 108 MB tiene 100 MB de datos y se especifica 10 para porcentajeLibre, no se ampliará la base de datos a 110 MB; se mantendrá con un espacio de 108 MB.
-CkDB | -CkDBNoIdx
Especifica que se ejecute una instrucción DBCC CHECKDB o una instrucción DBCC CHECKDB con la opción NOINDEX en la base de datos especificada en -D. Para obtener más información, consulte DBCC CHECKDB. Se escribe una advertencia en archivoTexto si la base de datos se está utilizando cuando se ejecuta sqlmaint.
-CkAl | -CkAlNoIdx
Especifica que se ejecute una instrucción DBCC NEWALLOC o una instrucción DBCC NEWALLOC con la opción NOINDEX en la base de datos especificada en -D. Para obtener más información, consulte DBCC NEWALLOC. -CkTxtAl
Especifica que se ejecute una instrucción DBCC TEXTALL en la base de datos especificada en -D. Para obtener más información, consulte DBCC TEXTALL. -CkCat

Especifica que se ejecute una instrucción DBCC CHECKCATALOG en la base de datos especificada en -D. Para obtener más información, consulte DBCC CHECKCATALOG. -UpdSts

Especifica que se ejecute la instrucción siguiente en cada una de las tablas de la base de datos:

UPDATE STATISTICS table



Para obtener más información, consulte. UPDATE STATISTICS. -UpdOptiStats porcentajeMuestra

Especifica que se ejecute la instrucción siguiente en cada una de las tablas de la base de datos:

UPDATE STATISTICS table WITH SAMPLE sample_percent PERCENT



Para obtener más información, consulte. UPDATE STATISTICS. -RebldIdx espacioLibre

Especifica que se deben volver a generar los índices de las tablas de la base de datos de destino mediante el valor porcentual de espacioLibre en proporción inversa al factor de relleno. Por ejemplo, si el porcentaje de espacioLibre es 30, el factor de relleno utilizado será 70. Si se especifica un valor de 100 como porcentaje de espacioLibre, se volverán a generar los índices con el valor de factor de relleno original.

-WriteHistory
Especifica que se escriba una entrada en msdb.dbo.sysdbmaintplan_history para cada acción de mantenimiento realizada por sqlmaint. Si se especifica -PlanName o -PlanID, las entradas de sysdbmaintplan_history utilizan el Id. de plan especificado. Si se especifica -D, las entradas de sysdbmaintplan_history para el Id. de plan estarán compuestas de ceros.
-BkUpDB [rutaCopiaSeguridad] | -BkUpLog [rutaCopiaSeguridad]
Especifica una operación de copia de seguridad. -BkUpDb realiza una copia de seguridad de toda la base de datos. -BkUpLog realiza una copia de seguridad del registro de transacciones únicamente.
[rutaCopiaSeguridad] especifica el directorio para la copia de seguridad. [rutaCopiaSeguridad] no se necesita si también se especifica -UseDefDir, y se suplanta con -UseDefDir si se especifican los dos parámetros. La copia de seguridad se puede colocar en un directorio o en una dirección de dispositivo de cinta (por ejemplo, \\.\TAPE0). El nombre de archivo de una copia de seguridad de base de datos se genera automáticamente del modo siguiente:

dbname_db_yyyyMMddhhmm.BAK



donde

nombreBD es el nombre de la base de datos de la que se realiza una copia de seguridad.
aaaaMMddhhmm es el tiempo que dura la operación de copia de seguridad, donde aaaa = año, MM = mes, dd = día, hh = hora y mm = minuto.
El nombre del archivo para una copia de seguridad de transacciones se genera automáticamente con un formato similar:

dbname_log_yyyymmddhhmm.BAK



Si utiliza el parámetro -BkUpDB, también deberá especificar el medio con el parámetro -BkUpMedia.

-BkUpMedia
Especifica el tipo de medio para la copia de seguridad.
DISK
Especifica que el medio de la copia de seguridad es un disco.
-DelBkUps <período>
Especifica que deben eliminarse todos los archivos de copia de seguridad del directorio de copia de seguridad si el intervalo posterior a la creación de la copia de seguridad supera el <período>.
-CrBkSubDir
Indica que se cree un subdirectorio en el directorio [rutaCopiaSeguridad] o en el directorio de copia de seguridad predeterminado si también se especifica -UseDefDir. El nombre del subdirectorio se genera a partir del nombre de la base de datos especificado en -D. -CrBkSubDir ofrece un método sencillo para colocar todas las copias de seguridad de bases de datos distintas en subdirectorios independientes sin necesidad de cambiar el parámetro [rutaCopiaSeguridad].
-UseDefDir
Indica que se cree el archivo de copia de seguridad en el directorio de copia de seguridad predeterminado. UseDefDir suplanta a [rutaCopiaSeguridad] si se especifican ambos parámetros. Con una instalación predeterminada de SQL Server, el directorio predeterminado de copia de seguridad es C:\Mssql7\Backup.
TAPE
Especifica que el medio de copia de seguridad es una cinta.
-BkUpOnlyIfClean
Indica que sólo se realice la copia de seguridad si las comprobaciones -Ck especificadas no han detectado problemas en los datos. Las acciones de mantenimiento se ejecutan en la misma secuencia en que aparecen en el símbolo del sistema. Especifique los parámetros -CkDB, -CkDBNoIdx, -CkAl, -CkAlNoIdx, -CkTxtAl o -CkCat antes del parámetro o de los parámetros -BkUpDB/-BkUpLog si también va a especificar -BkUpOnlyIfClean o si la copia de seguridad se realizará independientemente de que la comprobación informe o no de que han surgido problemas.
-VrfyBackup
Especifica que sólo se ejecute RESTORE VERIFYONLY en la copia de seguridad cuando finalice.
número[minutes | hours | days | weeks | months]
Especifica el intervalo de tiempo que se utiliza para determinar si un informe o un archivo de copia de seguridad son suficientemente antiguos para poder eliminarlos. número es un número entero; por ejemplo, 12weeks (12 semanas), 3months (3 meses) o 15days (15 días). Si sólo se especifica número, la parte de fecha predeterminada es weeks (semanas).
Observaciones
sqlmaint realiza operaciones de mantenimiento en una o varias bases de datos. Si se especifica -D, las operaciones especificadas en los restantes modificadores sólo se realizan en la base de datos indicada. Si se especifica -PlanName o -PlanID, la única información que sqlmaint recupera del plan de mantenimiento indicado es la lista de bases de datos. Todas las operaciones especificadas en los parámetros sqlmaint restantes se aplican a cada base de datos de la lista obtenida a partir del plan. sqlmaint no aplica ninguna de las actividades de mantenimiento definidas en el propio plan.

El programa sqlmaint es una aplicación SQL-DMO, por lo que es necesario registrar SQL-DMO en el equipo en que desee ejecutar sqlmaint. Si SQL Server o el Administrador corporativo de SQL Server están instalados en el equipo, SQL-DMO ya estará registrado.

Para registrar SQL-DMO, escriba lo siguiente en el símbolo del sistema:

regsvr32 c:\mssql7\binn\sqldmo.enu



El programa sqlmaint devuelve 0 si se ejecuta correctamente o devuelve 1 si falla. Se informa del error:

Si falla alguna de las operaciones de mantenimiento.
Si las comprobaciones -CkDB, -CkDBNoIdx, -CkAl, -CkAlNoIdx, -CkTxtAl o -CkCat detectan algún problema con los datos.
Si se detecta un error general.
Por ejemplo, sqlmaint devuelve 1 si no se ha registrado SQL-DMO.

Ejemplos
A. Realizar comprobaciones DBCC en la base de datos Northwind. Crear un informe de texto y eliminar todos los informes existentes con más de 3 meses de antigüedad
sqlmaint -S MyServer -U "sa" -P "SaPwd" -D Northwind -CkDB -CkAl -CkTxtAl -CkCat -Rpt C:\MyReports\Nwind_chk.rpt -DelRpt 3months



B. Actualizar estadísticas mediante una muestra del 15% en todas las bases de datos de un plan. Además, reducir todas las bases de datos que hayan alcanzado los 110 MB para que tengan sólo el 10% de espacio libre
sqlmaint -S MyServer -U "sa" -P "SaPwd" -PlanName MyUserDBPlan -UpdOptiStats 15 -RmUnusedSpace 110 10



C. Realizar una copia de seguridad de todas las bases de datos de un plan en sus subdirectorios respectivos, en el directorio predeterminado C:\Mssql7\Backup.Además, eliminar las copias de seguridad con una antigüedad superior a 2 semanas
sqlmaint -S MyServer -U "sa" -P "SaPwd" -PlanName MyUserDBPlan -BkUpDB -BkUpMedia DISK -UseDefDir -CrBkSubDir -DelBkUps 2weeks



Espero que te sirva
  #10 (permalink)  
Antiguo 23/05/2003, 10:35
Avatar de Ruchu  
Fecha de Ingreso: octubre-2001
Mensajes: 698
Antigüedad: 22 años, 5 meses
Puntos: 2
me parece entender que todo esto que has puesto aqui tiene que ver con el tema de hacer backups de bases dedatos sql server, desde el punto de vista del administrador del sistema, cosa que no soy yo en este caso.

ahora entiendo mejor lo que son los .bak, si, ficheros de backups. pero la gran pregunta:

¿¿como importo al servidor de mi base dedatos un .bak??
  #11 (permalink)  
Antiguo 23/05/2003, 14:34
 
Fecha de Ingreso: abril-2003
Mensajes: 606
Antigüedad: 20 años, 11 meses
Puntos: 2
Te lo dan para que puedas tener un respaldo de tu BD, lo cual no es lo mismo que te den permisos para restaurar la misma, además ese .bak lo puedes restaurar en local.
  #12 (permalink)  
Antiguo 23/05/2003, 15:42
Avatar de Ruchu  
Fecha de Ingreso: octubre-2001
Mensajes: 698
Antigüedad: 22 años, 5 meses
Puntos: 2
entonces si le digo yo a mi hosting que quiero restaurar una tabla de mi bd a una fecha anterior porque he perdido datos por un error mio y ellos me mandan por mail un .bak (que es la base de datos completa) es que son gilipollas o subnormales. como coño voy a volver a subirla al servidor??
  #13 (permalink)  
Antiguo 23/05/2003, 15:54
 
Fecha de Ingreso: abril-2003
Mensajes: 606
Antigüedad: 20 años, 11 meses
Puntos: 2
Tan facil como pedirles que ellos te la restauren y punto. Claro, si es un buen servicio de hosting
  #14 (permalink)  
Antiguo 23/05/2003, 18:31
Avatar de Ruchu  
Fecha de Ingreso: octubre-2001
Mensajes: 698
Antigüedad: 22 años, 5 meses
Puntos: 2
si no hay problema, ya me lo han restaurado, pero me he quedado con la intriga de como importar los datos de este .bak = backup.
  #15 (permalink)  
Antiguo 23/05/2003, 22:07
 
Fecha de Ingreso: abril-2003
Mensajes: 606
Antigüedad: 20 años, 11 meses
Puntos: 2
NO se puede si no tienes una cuenta de Administrador, no eres el unico yo en mi hosting tampoco puedo hacer ni restaurar backups por que esas son tareas administrativas
  #16 (permalink)  
Antiguo 24/05/2003, 05:55
Avatar de Ruchu  
Fecha de Ingreso: octubre-2001
Mensajes: 698
Antigüedad: 22 años, 5 meses
Puntos: 2
pues si. y pues vuelvo a decir lo de antes, los de mi hosting son gilipollas. pa que coño me han mandado un .bak si no puedo restaurar nada.
  #17 (permalink)  
Antiguo 26/05/2003, 03:42
 
Fecha de Ingreso: enero-2002
Ubicación: Zaragoza
Mensajes: 144
Antigüedad: 22 años, 2 meses
Puntos: 0
Los de tu hosting entienden que tu tambien quieres restaurar una copia local de tu base de datos SQL SERVER.

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 21:23.