2 soluciones para actualizar una base de datos de solo lectura en SQL Server

Comparte ahora:

Si una base de datos es de solo lectura, puede identificar fácilmente el estado de sys.databases o del SSMS. Un hecho bien conocido es que no puede actualizar datos en una base de datos de solo lectura. En este artículo, aprenderemos cómo solucionar problemas y solucionar este problema.

Dos opciones

Actualizar una base de datos de solo lectura en SQL ServerPodemos usar SQL Server Management Studio, es decir, script SSMS o T-SQL para convertir una base de datos de solo lectura en una base de datos de lectura y escritura. Para comprender mejor estas opciones, permítanos

  1. Crea una base de datos
  2. Crea tablas dentro de él
  3. Agregar registros a la tabla
  4. Hacer que la base de datos sea de solo lectura
  5. Intente agregar registros a la misma tabla
  6. Revise el mensaje de error
  7. Convierta la base de datos nuevamente al modo lectura-escritura

Preparar base de datos

Desde SQL Server estudio de gestión, conéctese a su SQL server, haga clic derecho en el nodo “Base de datos” y luego seleccione la opción “Nueva base de datos”. Presione Aceptar después de escribir un nombre para la base de datos. También puede utilizar el script T-SQL como se muestra en el siguiente ejemplo:

CREATE DATABASE [DataNumen]
 CONTAINMENT = NONE
 ON PRIMARY 
( NAME = N'DataNumen', FILENAME = N'E:\Program Files\MSSQL12.MSSQLSERVER\MSSQL\DATA\DataNumen.mdf' , SIZE = 3072KB , FILEGROWTH = 1024KB )
 LOG ON 
( NAME = N'DataNumen_log', FILENAME = N'E:\Program Files\MSSQL12.MSSQLSERVER\MSSQL\DATA\DataNumen_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%)
GO

Cree una tabla desde SSMS seleccionando la base de datos, haga clic derecho en el nodo "Tablas" y luego apunte a "Nuevo" y haga clic en la opción "Tabla ...". Ingrese el nombre de la columna y los tipos de datos y luego guárdelos con un nombre de tabla. Puede utilizar la consulta siguiente para crear una tabla:

USE [DataNumen]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Table1](
 [Col1] [nchar](10) NULL
) ON [PRIMARY]
GO

Agregue registros a la tabla mediante la siguiente consulta:

Insert into [dbo].[Table1] values ('Testvalue')
The result window of SSMS will show the following message:
 
(1 row(s) affected)

El uso de SQL Server Management Studio, haga clic derecho en la base de datos y luego seleccione la opción “Propiedades”. En la página de propiedades de la base de datos, en "Opciones", establezca la opción "Base de datos de sólo lectura" de "Verdadero" a "Falso". También puede cambiar la base de datos a solo lectura usando el script TSQL como se muestra a continuación:

USE [master]
GO
ALTER DATABASE [DataNumen] SET READ_ONLY WITH NO_WAIT
GO

Podía ver que el SSMS ahora mostraría el estado "Solo lectura" cerca del nombre de la base de datos.

Mostrar el estado de solo lectura

Ahora, intentemos insertar un nuevo registro en la tabla.

Insert into [dbo].[Table1] values ('Testvalue2')

El siguiente mensaje de error aparecerá en la ventana de resultados.

Msg 3906, Level 16, State 1, Line 12
Failed to update database "DataNumen" because the database is read-only.

Revertir el estado de la base de datos a lectura-escritura mediante la página Propiedades de la base de datos y establecer la opción de "Solo lectura de base de datos" de "Falso" a "Verdadero" o ejecutar el siguiente script:

USE [master]
GO
ALTER DATABASE [DataNumen] SET READ_WRITE WITH NO_WAIT
GO

Ahora, cuando intenta agregar un registro, aparece el mensaje de error "No se pudo actualizar la base de datos"DataNumen”Porque la base de datos es de solo lectura” desaparecerá. Todos sabemos que las copias de seguridad de la base de datos nos ayudan a reparar SQL Server bases de datos. Sin embargo, una copia de seguridad de la base de datos de solo lectura restaurará una base de datos en modo de solo lectura y no en modo de lectura y escritura.

Introducción del autor:

Neil Varley es un experto en recuperación de datos en DataNumen, Inc., que es el líder mundial en tecnologías de recuperación de datos, incluyendo Recuperación de Outlook y productos de software de recuperación de Excel. Para más información visite www.datanumen.com

Comparte ahora:

Los comentarios están cerrados.