Егер дерекқор тек оқуға арналған болса, сіз күйді sys.databases немесе SSMS-тен оңай анықтай аласыз. Белгілі факт - тек оқуға арналған мәліметтер базасындағы деректерді жаңарту мүмкін емес. Бұл мақалада біз ақаулықтарды жою және жою туралы білеміз.
Екі нұсқа
Біз не қолдана аламыз SQL Server Тек оқуға арналған дерекқорды оқу-жазу базасына түрлендіруге арналған Management Studio яғни SSMS немесе T-SQL сценарийі. Осы нұсқаларды жақсы түсіну үшін бізге рұқсат беріңіз
- Мәліметтер базасын жасаңыз
- Оның ішінде кестелер жасаңыз
- Кестеге жазбаларды қосыңыз
- Деректер базасын тек оқуға болатындай етіп жасаңыз
- Бір кестеге жазбаларды қосып көріңіз
- Қате туралы хабарламаны қарап шығыңыз
- Деректерді оқу-жазу режиміне қайта айналдырыңыз
Деректер базасын дайындаңыз
Сізден 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
Мәліметтер базасын таңдау арқылы СМЖ-дан кесте құрыңыз, «Кестелер» түйінін тінтуірдің оң жағымен нұқыңыз, содан кейін «Жаңа» тармағын көрсетіп, «Кесте ...» опциясын басыңыз. Баған атауы мен деректер түрлерін енгізіп, кесте атауымен сақтаңыз. Кесте құру үшін төмендегі сұранысты пайдалануға болады:
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 Management Studio, мәліметтер базасын тінтуірдің оң жақ түймешігімен нұқыңыз, содан кейін «Сипаттар» опциясын таңдаңыз. Деректер базасының қасиеттері бетінде «Параметрлер» астында «Деректер тек оқу үшін» параметрін «Шын» -дан «Жалған» күйіне орнатыңыз. Төменде көрсетілгендей TSQL сценарийін қолдану арқылы мәліметтер базасын тек оқуға ауыстыруға болады:
USE [master] GO ALTER DATABASE [DataNumen] SET READ_ONLY WITH NO_WAIT GO
Сіз енді МӘМС дерекқор атауының жанында «Тек оқу үшін» күйін көрсететінін көрдіңіз.
Енді кестеге жаңа жазбаны енгізуге тырысайық.
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.
Мәліметтер қорының қасиеттері бетін қолданып, дерекқордың күйін оқу-жазуға қайтарыңыз және «Деректер тек оқуға арналған» -дан «Жалған» -дан «Шынға» параметрін орнатыңыз немесе келесі сценарийді орындаңыз:
USE [master] GO ALTER DATABASE [DataNumen] SET READ_WRITE WITH NO_WAIT GO
Енді жазбаны қосуға тырысқанда, «Деректер базасын жаңарту мүмкін болмады» деген қате туралы хабарламаDataNumen”Өйткені дерекқор тек оқуға арналған” жойылады. Барлығымызға мәліметтер қорының сақтық көшірмелері көмектесетінін білеміз бекіту SQL Server мәліметтер базасы. Сонымен, тек оқуға арналған дерекқордың сақтық көшірмесі оқуды жазу режимінде емес, тек оқу режимінде қалпына келтіреді.
Автордың кіріспесі:
Нил Варли - деректерді қалпына келтіру бойынша сарапшы DataNumen, Соның ішінде деректерді қалпына келтіру технологиялары бойынша әлемдік көшбасшы болып табылатын Inc. Outlook қалпына келтіру және excel қалпына келтіру бағдарламалық жасақтама өнімдері. Қосымша ақпарат алу үшін кіріңіз WWW.datanumen.com