2 Alternatívne riešenia na aktualizáciu databázy iba na čítanie v systéme Windows SQL Server

Zdieľať teraz:

Ak je databáza určená iba na čítanie, môžete ľahko zistiť jej stav zo súborov sys.databases alebo SSMS. Známym faktom je, že nemôžete aktualizovať údaje v databáze iba na čítanie. V tomto článku sa dozvieme, ako tento problém vyriešiť a vyriešiť.

Dve možnosti

Aktualizujte databázu iba na čítanie v SQL ServerMôžeme buď použiť SQL Server Management Studio, tj. Skript SSMS alebo T-SQL na konverziu databázy iba na čítanie do databázy na čítanie a zápis. Aby sme týmto možnostiam lepšie porozumeli, dovoľte nám

  1. Vytvorte databázu
  2. Vytvorte v ňom tabuľky
  3. Pridajte záznamy do tabuľky
  4. Vytvorte databázu iba na čítanie
  5. Skúste pridať záznamy do tej istej tabuľky
  6. Skontrolujte chybové hlásenie
  7. Preveďte databázu späť do režimu čítania a zápisu

Pripravte databázu

Z vášho SQL Server štúdio pre správu, pripojte sa k svojmu SQL server, kliknite pravým tlačidlom myši na uzol „Databáza“ a potom vyberte možnosť „Nová databáza“. Po zadaní názvu databázy stlačte kláves Ok. Môžete tiež použiť skript T-SQL, ako je znázornené v príklade nižšie:

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

Vytvorte tabuľku z SSMS výberom databázy, kliknite pravým tlačidlom myši na uzol „Tabuľky“ a potom ukážte na „Nový“ a kliknite na možnosť „Tabuľka ...“. Zadajte názov stĺpca a dátové typy a potom uložte s názvom tabuľky. Pomocou dotazu nižšie môžete vytvoriť tabuľku:

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

Pridajte záznamy do tabuľky pomocou nasledujúceho dotazu:

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

Použitím SQL Server Management Studio, kliknite pravým tlačidlom myši na databázu a potom vyberte možnosť „Vlastnosti“. Na stránke Vlastnosti databázy v časti „Možnosti“ nastavte možnosť „Databáza iba na čítanie“ z hodnoty „True“ na „False“. Databázu môžete tiež prepnúť do režimu iba na čítanie pomocou skriptu TSQL, ako je uvedené nižšie:

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

Mohli ste vidieť, že SSMS teraz zobrazuje stav „Iba na čítanie“ blízko názvu databázy.

Zobraziť stav Iba na čítanie

Skúsme teraz vložiť do tabuľky nový záznam.

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

V okne s výsledkami sa zobrazí nasledujúce chybové hlásenie.

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

Vráťte stav databázy na čítanie a zápis pomocou stránky Vlastnosti databázy a nastavte voľbu z „Iba na čítanie databázy“ z „Falošná“ na „Pravda“ alebo vykonajte nasledujúci skript:

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

Teraz, keď sa pokúsite pridať záznam, zobrazí sa chybové hlásenie „Nepodarilo sa aktualizovať databázu“DataNumen„Pretože databáza je iba na čítanie“ zmizne. Všetci vieme, že zálohovanie databázy nám pomáha fixné SQL Server databázy. Záloha databázy iba na čítanie však obnoví databázu v režime iba na čítanie a nie v režime na čítanie a zápis.

Úvod autora:

Neil Varley je odborníkom na obnovu dát v odbore DataNumen, Inc., ktorá je svetovým lídrom v oblasti technológií obnovy dát, vrátane Obnova programu Outlook a vynikajúce softvérové ​​produkty na obnovenie. Pre viac informácií navštívte www.datanumen. S

Zdieľať teraz:

Komentáre sú uzavreté.