Copias de bases de datos

¿Cómo hago para que una coopia de una base de datos me la reconozca el sql server en otro pc?

1 Respuesta

Respuesta
1
Sugiero que en el paquete de instalación coloques la instalación de una MSDE si vas a trabajar tu sistema que se instale en un equipo sin sql server, por aquello de las licencias, el MSDE es gratuito y lo puedes redistribuir sin problemas, lo anexas en primer lugar en tu paquete, también tus bases de datos y cuando todo termine, deberás ejecutar desde tu proyecto la instrucción de anexar la base de datos si esta no existe en el servidor.
También los archivos de la base de datos los deberás de incluir en tu paquete de instalación.
Lo de la instancia ya lo tengo.
Bueno, manualmente.
Otra cosa es hacerlo dentro del proceso de instalación.
Porque se supone, que en el pc donde se va a instalar, no tenga el sql server ni la instancia. Quiero que lo instale, el archivo de configuración o un script o algo.
¿Entiendes l oq te digo?
En el pc que estoy haciendo las pruebas, es el pc de casa, solo tengo instalado el sql server con una instancia.
En el portátil es donde tengo todo el visual studio y donde hago los programas.
Espero que no te moleste demasiado.
1.- Si tienes un respaldo o backup hecho de tu base de datos, simplemente lo restauras o restore en el equipo que quieres y listo.
2.- Claro que esta en la ayuda:
sp_attach_db
Adjunta una base de datos a un servidor.
Sintaxis
sp_attach_db [ @dbname = ] 'dbname'
, [ @filename1 = ] 'filename_n' [ ,...16 ]
Argumentos
[@dbname =] 'dbname'
Es el nombre de la base de datos que se va adjuntar al servidor. El nombre debe ser único. El argumento dbname es de tipo sysname y tiene un valor predeterminado de NULL.
[@filename1 =] 'filename_n'
Se trata del nombre físico, incluida la ruta de acceso, de un archivo de base de datos. El argumento filename_n es de tipo nvarchar(260) y tiene un valor predeterminado de NULL. Se pueden especificar hasta 16 nombres de archivos. Los nombres de parámetro comienzan en @filename1 y se incrementan hasta @filename16. La lista de nombres de archivos debe contener al menos el archivo principal, que contiene las tablas del sistema que apuntan a otros archivos de la base de datos. La lista también debe contener los archivos que se hayan movido después de separar la base de datos.
Valores del código de retorno
0 (correcto) o 1 (error)
Conjuntos de resultados
Ninguna
Observaciones
Sólo se debe ejecutar sp_attach_db en bases de datos que se hayan separado previamente del servidor de bases de datos con una operación sp_detach_db explícita. Si debe especificar más de 16 archivos, utilice CREATE DATABASE con la cláusula FOR ATTACH.
Si adjunta una base de datos a un servidor distinto de aquél del que se separó y la base de datos separada estaba habilitada para duplicación, deberá ejecutar sp_removedbreplication para quitar la duplicación de la base de datos.
Permisos
Sólo pueden ejecutar este procedimiento los miembros de las funciones fijas de servidor sysadmin y dbcreator.
Ejemplos
Este ejemplo adjunta dos archivos de la base de datos pubs al servidor actual.
EXEC sp_attach_db @dbname = N'pubs',
@filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf',
@filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf'
Véase también
CREATE DATABASE
sp_attach_single_file_db
sp_detach_db
sp_helpfile
sp_removedbreplication
Procedimientos almacenados del sistema
©1988-2000 Microsoft Corporation. Reservados todos los derechos.
Ojo, para las dos opciones se tiene que tener instalada una instancia de sql server en el equipo destino.
¿Puedes explicármelo mejor?
¿U otro modo que funcione mejor a aparte del solo copiar los archivos mdf y ldf
eso de sp_attach_db como funciona? ¿Está en la ayuda?
Si creaste un respaldo lo tienes que restaurar en el servidor al que usas en la otra pc.
Si es solamente una copia de los archivos MDF y LDF, simplemente los puedes atachar con el sp_attach_db o con el administrador corporativo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas