2 Zgjidhje për të përditësuar një bazë të dhënash vetëm për lexim në SQL Server

Nëse një bazë të dhënash është vetëm për lexim, mund ta identifikoni lehtësisht statusin nga bazat e të dhënave sys. ose nga SSMS. Një fakt i njohur është se nuk mund të përditësoni të dhënat në një bazë të dhënash vetëm për lexim. Në këtë artikull, ne do të mësojmë se si ta zgjidhim dhe rregullojmë këtë.

Dy opsione

Përditëso një bazë të dhënash vetëm për lexim në SQL ServerNe mund të përdorim ose SQL Server Management Studio dmth., skript SSMS ose T-SQL për të kthyer një bazë të dhënash vetëm për lexim në një bazë të dhënash lexim-shkruaj. Për t'i kuptuar më mirë këto opsione, na lejoni

  1. Krijo një bazë të dhënash
  2. Krijo tabela brenda saj
  3. Shtoni të dhënat në tabelë
  4. Bëjeni bazën e të dhënave si vetëm për lexim
  5. Provoni të shtoni të dhëna në të njëjtën tabelë
  6. Rishikoni mesazhin e gabimit
  7. Kthejeni bazën e të dhënave përsëri në modalitetin lexim-shkrim

Përgatitja e bazës së të dhënave

Nga tuajat SQL Server studio menaxhimi, lidheni me tuajin SQL server, kliko me të djathtën në nyjen “Baza e të dhënave” dhe më pas zgjidh opsionin “Baza e re e të dhënave”. Shtypni Ok pasi të shkruani një emër për bazën e të dhënave. Ju gjithashtu mund të përdorni skriptin T-SQL siç tregohet në shembullin më poshtë:

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

Krijoni një tabelë nga SSMS duke zgjedhur bazën e të dhënave, klikoni me të djathtën në nyjen “Tables” dhe më pas tregoni “New” dhe klikoni opsionin “Tabela…”. Futni emrin e kolonës dhe llojet e të dhënave dhe më pas ruajeni me një emër tabele. Ju mund të përdorni pyetjen e mëposhtme për të krijuar një tabelë:

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

Shtoni të dhënat në tabelë duke përdorur pyetjen e mëposhtme:

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

Përdorim SQL Server Management Studio, kliko me të djathtën në bazën e të dhënave dhe më pas zgjidhni opsionin "Properties". Në faqen e vetive të bazës së të dhënave, nën "Opsionet", vendosni opsionin "Vetëm për lexim të bazës së të dhënave" nga "E vërtetë" në "E gabuar". Ju gjithashtu mund ta ndërroni bazën e të dhënave në vetëm për lexim duke përdorur skriptin TSQL siç tregohet më poshtë:

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

Mund të shihni se SSMS tani do të shfaqte statusin "Vetëm për lexim" pranë emrit të bazës së të dhënave.

Shfaq statusin vetëm për lexim

Tani, le të përpiqemi të fusim një rekord të ri në tabelë.

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

Mesazhi i mëposhtëm i gabimit do të shfaqet në dritaren e rezultatit.

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

Kthejeni statusin e bazës së të dhënave për të lexuar-shkruar duke përdorur faqen Vetitë e bazës së të dhënave dhe vendosni opsionin nga "Baza e të dhënave vetëm për lexim" nga "False" në "E vërtetë" ose ekzekutoni skriptin e mëposhtëm:

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

Tani, kur përpiqeni të shtoni një rekord, mesazhi i gabimit "Dështoi të përditësojë bazën e të dhënave"DataNumen"Sepse baza e të dhënave është vetëm për lexim" do të zhduket. Të gjithë e dimë se kopjet rezervë të bazës së të dhënave na ndihmojnë fix SQL Server bazat e të dhënave. Megjithatë, një kopje rezervë e bazës së të dhënave vetëm për lexim do të rivendosë një bazë të dhënash në modalitetin vetëm për lexim dhe jo në modalitetin lexim-shkrim.

Hyrje e autorit:

Neil Varley është një ekspert i rikuperimit të të dhënave në DataNumen, Inc., e cila është lider botëror në teknologjitë e rikuperimit të të dhënave, duke përfshirë Rimëkëmbja e opinionit dhe produkte softuerike të rimëkëmbjes excel. Për më shumë informacion vizitoni www.datanumen.com

Komentet janë të mbyllura.