crear base de datos SQL Server desde código

11/02/2008 - 23:17 por Clara | Informe spam
Hola,

Tengo una aplicació casi terminada en c# que se conecta a SQL Server 2005.
Es una aplicación típica de gestión (facturas, albranes). Y ahora quiren
que desde la propia aplicación, puedan crear una réplica de la base de datos
para poder manipular los datos sin afectar a los datos originales.

esto se va a hacer una vez al año, y la réplica solo contendrá los datos del
ejercicio anterior. (estos los manipularan. Editaran, borraran, ...)
Yo habia pensado en, por código, crear un bakup de la bbdd y restaurarla con
otro nombre. Y luego, sobre la recién creada, eliminar todos aquellos datos
que sobren. Luego, cuando inicien la aplicación, en la pantalla de login,
mostrar las ditintas bases de datos, y que escojan a la que se quiren
conectar.


Esto se puede hacer?
Es que se me plantean dudas, como:
- Puedo añadir cadenas de conexiones distintas en el archivo de
configuración?
- Los usuarios de dominiio, solo tienen permisos para ejecutar stored
procedures. Podrán hacer el backup y restaurarlo?

Alguien sabe de ejemplos de cosas así?

grácias!

Preguntas similare

Leer las respuestas

#1 Rolando
12/02/2008 - 01:18 | Informe spam
En el foro de sql server podras obtener informacion mas precisa ya que de lo
que se trataría es de mandar ejecutar comandos t-sql.
En cuanto a la base de datos se puede seleccionar con USE.
Sobre los permisos a procedures puedes poner los procesos de backup y
restore tambien dentro de store procedures.

"Clara" escribió en el mensaje
news:
Hola,

Tengo una aplicació casi terminada en c# que se conecta a SQL Server 2005.
Es una aplicación típica de gestión (facturas, albranes). Y ahora
quiren
que desde la propia aplicación, puedan crear una réplica de la base de
datos
para poder manipular los datos sin afectar a los datos originales.

esto se va a hacer una vez al año, y la réplica solo contendrá los datos
del
ejercicio anterior. (estos los manipularan. Editaran, borraran, ...)
Yo habia pensado en, por código, crear un bakup de la bbdd y restaurarla
con
otro nombre. Y luego, sobre la recién creada, eliminar todos aquellos
datos
que sobren. Luego, cuando inicien la aplicación, en la pantalla de login,
mostrar las ditintas bases de datos, y que escojan a la que se quiren
conectar.


Esto se puede hacer?
Es que se me plantean dudas, como:
- Puedo añadir cadenas de conexiones distintas en el archivo de
configuración?
- Los usuarios de dominiio, solo tienen permisos para ejecutar stored
procedures. Podrán hacer el backup y restaurarlo?

Alguien sabe de ejemplos de cosas así?

grácias!


Respuesta Responder a este mensaje
#2 Alberto Poblacion
12/02/2008 - 08:28 | Informe spam
"Clara" wrote in message
news:
- Puedo añadir cadenas de conexiones distintas en el archivo de
configuración?



Podrías, pero si vas a preguntar en la pantalla de login a qué base de
datos se quieren conectar, entonces es mejor que tengas en el archivo de
configuración una única cadena y que, por programa, sustituyas dentro de
ella (en memoria) la base de datos que te han seleccionado durante el login.

- Los usuarios de dominiio, solo tienen permisos para ejecutar stored
procedures. Podrán hacer el backup y restaurarlo?



No, para hacer y restaurar el backup se necesita el rol de operador de
backup; los usuarios no privilegiados no tienen ese permiso a no ser que se
lo concedas expresamente. Podrías crear unos procedimientos almacenados que
hagan esta operación, y esos procedimientos crearlos con el EXECUTE AS...
para que "eleven" los permisos al ejecutarse.

Alguien sabe de ejemplos de cosas así?



Yo he hecho alguna aplicación parecida, pero en este caso se disponía en
el archivo de configuración de dos cadenas de conexión: una para acceder al
servidor con permisos de usuario (que es la que los usuarios usaban
normalmente para trabajar) y otra con permisos admistrativos, que se usaba
cuando el administrador de la aplicación abría un nuevo ejercicio y tenía
que crear otra base de datos.
En esta aplicación, para crear la base de datos, se usaba un "Create
database..." y luego se enviaban todas las sentencias para crear el esquema.
Después se copiaba la información oportuna desde la base de datos antigua a
la nueva.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida