SQL Server - Poner bbdd en modo offline

 
Vista:

Poner bbdd en modo offline

Publicado por Begoña (5 intervenciones) el 25/03/2021 18:26:35
Buenas tardes

Estoy programando un procedimiento almacenado para modificar los ficheros lógicos y físicos de una base de datos, que es una base de datos clonada. Quiero que los nombres tengan correspondencia con el nombre de la bbdd clonada.

Para ello tengo que poner la bbdd en modo offline

Mi pregunta es si para ello obligatoriamente debo hacer

USE master

O puedo utilizar otra base datos.

USE Plantilla
Por lo que he leído, USE no se puede aplicar en los procedimientos almacenados, por lo que lo que se me ocurre es estar conectada a Plantilla.

Tengo una bbdd plantilla donde tengo todas las programaciones. Esta bbdd no es la que quiero poner offline.

Gracias por la ayuda

Un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Poner bbdd en modo offline

Publicado por Isaias (4558 intervenciones) el 26/03/2021 03:41:04
Lo siento, leí mas de 2 veces y no comprendí cual es la duda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Poner bbdd en modo offline

Publicado por Begoña (5 intervenciones) el 26/03/2021 06:54:51
Hola
Disculpa, intento explicarlo mejor

Tengo una bbdd que la uso de plantilla, ya que la uso para crear nuevas bases de datos clonadas porque tiene la estructura de datos que necesito reproducir cada vez que un usuario pida una nieva bbdd.
Al clonar , los nombres lógicos y físicos de la bbdd clonada tienen un nombre que no se corresponde con el nombre de la bbdd creada( tiene el nombre de la bbdd clonada).

Tengo un procedimiento almacenado que me cambia tanto el nombre lógico como el físico de una bbdd. Lo lanzo desde una aplicación de usuario.

En las referencias de código que he visto, antes de poner la base de datos cuyos nombres quiero cambiar, lanza USE master.
Entiendo que es para salir de la bbdd que vamos a poner un modo offline.

Mi pregunta es si en lugar de tener que hacer USE master puedo hacer USE bbddPlantilla.

Algo así es lo que comento:

use master

ALTER DATABASE [MiBaseDeDatos] SET OFFLINE –Pone fuera de linea la base de datos
go

ALTER DATABASE [MiBaseDeDatos] MODIFY FILE (NAME=N’NombreAnterior’, NEWNAME=N’NuevoNombre’)
GO

ALTER DATABASE [MiBaseDeDatos] MODIFY FILE (NAME=N’NombreAnterior_log’, NEWNAME=N’NuevoNombre_log’)
GO

ALTER DATABASE [MiBaseDeDatos] SET ONLINE –Reactiva la base de datos

Espero haberlo aclarado algo

Muchas gracias por su ayuda

Un saludo
Begoña
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Poner bbdd en modo offline

Publicado por Isaias (4558 intervenciones) el 27/03/2021 02:51:34
Pues veamos si con esto queda claro, si estas arriba del techo de tu casa y quieres quitar ese techo, ¿que tienes que hacer?, quitarte del techo, ¿cierto?

NO PUEDES poner USE <Tubase> y luego ponerla OFFLINE, ¿Me explico?

Es por eso que la instruccion:

1
2
ALTER DATABASE [MiBaseDeDatos] SET OFFLINE –Pone fuera de linea la base de datos
go

Se ejecuta desde la base MATER
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Poner bbdd en modo offline

Publicado por Begoña (5 intervenciones) el 28/03/2021 18:14:07
Perfecto
Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar