2 լուծում `միայն կարդալու շտեմարանը թարմացնելու համար SQL Server

Կիսվել հիմա ՝

Եթե ​​տվյալների բազան միայն ընթերցման համար է, դուք կարող եք հեշտությամբ ճանաչել կարգավիճակը sys.databases- ից կամ SSMS- ից: Հայտնի փաստ է այն, որ դուք չեք կարող թարմացնել տվյալները միայն կարդալու շտեմարանում: Այս հոդվածում մենք կսովորենք, թե ինչպես կարելի է դա լուծել:

Երկու տարբերակ

Թարմացրեք միայն կարդալու շտեմարանը SQL ServerՄենք կարող ենք կամ օգտագործել SQL Server Կառավարման ստուդիա, այսինքն ՝ SSMS կամ T-SQL սկրիպտ ՝ միայն կարդալու շտեմարանը կարդալու համար գրելու շտեմարանի վերածելու համար: Այս տարբերակները ավելի լավ հասկանալու համար թույլ տվեք մեզ

  1. Ստեղծեք տվյալների բազա
  2. Դրա մեջ սեղաններ ստեղծեք
  3. Աղյուսակում գրառումներ ավելացրեք
  4. Տվյալների բազան դարձրեք միայն կարդալու համար
  5. Փորձեք նույն աղյուսակում գրառումներ ավելացնել
  6. Վերանայեք սխալի հաղորդագրությունը
  7. Տվյալների բազան վերափոխեք կարդալու և գրելու ռեժիմի

Պատրաստել տվյալների բազան

Ձեր կողմից SQL Server կառավարման ստուդիա, միացեք ձեր SQL server, սեղմեք աջ «Տվյալների բազան» հանգույցի վրա, ապա ընտրեք «Նոր բազա» տարբերակը: Տվյալների շտեմարանի անուն մուտքագրելուց հետո սեղմեք Ok: Կարող եք նաև օգտագործել T-SQL գրությունը, ինչպես ցույց է տրված ստորև բերված օրինակում.

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

SSMS- ից սեղան ստեղծեք ՝ ընտրելով տվյալների բազան, աջ կտտացրեք «Աղյուսակներ» հանգույցին, այնուհետև մատնանշեք «Նորը» և կտտացրեք «Աղյուսակ option» տարբերակը: Մուտքագրեք սյունակի անվանումը և տվյալների տեսակները, ապա պահպանեք աղյուսակի անունով: Աղյուսակ ստեղծելու համար կարող եք օգտագործել ստորև ներկայացված հարցումը.

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

Հետևյալ հարցման միջոցով գրառումներ ավելացրեք աղյուսակին.

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

Օգտագործելով SQL Server Կառավարման ստուդիան, սեղմեք տվյալների բազան աջ կտտոցով և ընտրեք «Հատկություններ» տարբերակը: Տվյալների շտեմարանի հատկությունների էջում, «Ընտրանքներ» բաժնում, «abaseիշտ» -ից «Կեղծ» կետը դրեք «Շտեմարանի միայն կարդալու համար» տարբերակը: Դուք կարող եք նաև փոխել տվյալների բազան միայն կարդալու համար, օգտագործելով TSQL գրությունը, ինչպես ցույց է տրված ստորև:

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

Դուք կարող եք տեսնել, որ SSMS- ն այժմ տվյալների շտեմարանի անվան մոտ ցույց կտա «Միայն կարդալու» կարգավիճակը:

Theուցադրել կարգավիճակը միայն կարդալու համար

Այժմ փորձենք նոր գրառում մտցնել աղյուսակի մեջ:

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

Արդյունքի պատուհանում կհայտնվի հետևյալ սխալի հաղորդագրությունը.

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

Վերափոխեք տվյալների շտեմարանի կարգավիճակը տվյալների բազայի հատկությունների էջի միջոցով կարդալու և գրելու համար և ընտրեք «Միայն տվյալների բազա կարդալու» -ից «Կեղծ» -ից «ueիշտ» տարբերակը կամ կատարել հետևյալ սցենարը.

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

Այժմ, երբ փորձում եք գրառում ավելացնել, «Չհաջողվեց թարմացնել տվյալների բազան» սխալի հաղորդագրությունըDataNumen«Քանի որ տվյալների բազան ընթերցման համար է» կվերանա: Բոլորս էլ գիտենք, որ տվյալների բազայի կրկնօրինակումն օգնում է մեզ ուղղել SQL Server շտեմարաններ Այնուամենայնիվ, միայն ընթերցանության շտեմարանի կրկնօրինակը կվերականգնի տվյալների բազան միայն կարդալու և ոչ թե կարդալու ռեժիմի ռեժիմում:

Հեղինակի ներածություն.

Նիլ Վարլին տվյալների վերականգման փորձագետ է DataNumen, Inc., որը տվյալների վերականգման տեխնոլոգիաների համաշխարհային առաջատարն է, այդ թվում Outlook- ի վերականգնում և գերազանցել վերականգնման ծրագրային արտադրանքները: Լրացուցիչ տեղեկությունների համար այցելեք www.datanumen.com

Կիսվել հիմա ՝

Comments փակվում են: