Əgər verilənlər bazası yalnız oxunursa, siz statusu sys.databases və ya SSMS-dən asanlıqla müəyyən edə bilərsiniz. Məlum bir fakt ondan ibarətdir ki, siz yalnız oxumaq üçün verilənlər bazasında məlumatları yeniləyə bilməzsiniz. Bu yazıda bu problemi necə həll edəcəyimizi və düzəltməyi öyrənəcəyik.
İki seçim
İstər istifadə edə bilərik SQL Server Management Studio yəni, SSMS və ya T-SQL skripti, yalnız oxunan verilənlər bazasını oxumaq-yazmaq verilənlər bazasına çevirmək üçün. Bu variantları daha yaxşı başa düşmək üçün gəlin
- Bir verilənlər bazası yaradın
- Onun daxilində cədvəllər yaradın
- Cədvəllərə qeydlər əlavə edin
- Verilənlər bazasını yalnız oxumaq üçün edin
- Eyni cədvələ qeydlər əlavə etməyə çalışın
- Səhv mesajını nəzərdən keçirin
- Verilənlər bazasını yenidən oxu-yazma rejiminə çevirin
Verilənlər Bazasını Hazırlayın
Sizin SQL Server menecment studiyasına qoşulun SQL server, “Verilənlər bazası” node üzərinə sağ klikləyin və sonra “Yeni verilənlər bazası” seçimini seçin. Verilənlər bazası üçün ad daxil etdikdən sonra Ok düyməsini basın. Siz həmçinin aşağıdakı nümunədə göstərildiyi kimi T-SQL skriptindən istifadə edə bilərsiniz:
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
Verilənlər bazasını seçməklə SSMS-dən cədvəl yaradın, “Cədvəllər” qovşağına sağ vurun və sonra “Yeni” üzərinə keçin və “Cədvəl…” seçimini basın. Sütun adını və məlumat növlərini daxil edin və sonra cədvəl adı ilə yadda saxlayın. Cədvəl yaratmaq üçün aşağıdakı sorğudan istifadə edə bilərsiniz:
USE [DataNumen] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Table1]( [Col1] [nchar](10) NULL ) ON [PRIMARY] GO
Aşağıdakı sorğudan istifadə edərək cədvələ qeydlər əlavə edin:
Insert into [dbo].[Table1] values ('Testvalue')
The result window of SSMS will show the following message: (1 row(s) affected)
Istifadə SQL Server Management Studio, verilənlər bazasına sağ vurun və sonra "Xüsusiyyətlər" seçimini seçin. Verilənlər bazasının xassələri səhifəsində, “Seçimlər” altında “Verilənlər bazası yalnız oxunur” seçimini “Doğru”dan “Yanlış”a təyin edin. Siz həmçinin aşağıda göstərildiyi kimi TSQL skriptindən istifadə edərək verilənlər bazasını yalnız oxumaq üçün dəyişə bilərsiniz:
USE [master] GO ALTER DATABASE [DataNumen] SET READ_ONLY WITH NO_WAIT GO
Görə bilərsiniz ki, SSMS indi verilənlər bazası adının yanında “Yalnız oxumaq üçün” statusunu göstərəcək.
İndi cədvələ yeni bir qeyd daxil etməyə çalışaq.
Insert into [dbo].[Table1] values ('Testvalue2')
Nəticə pəncərəsində aşağıdakı səhv mesajı görünəcək.
Msg 3906, Level 16, State 1, Line 12 Failed to update database "DataNumen" because the database is read-only.
Verilənlər Bazasının Xüsusiyyətləri səhifəsindən istifadə edərək oxumaq-yazmaq üçün verilənlər bazası statusunu geri qaytarın və “Yalnız Verilənlər Bazasının oxunması üçün” seçimini “Yanlış”dan “Doğru”ya təyin edin və ya aşağıdakı skripti icra edin:
USE [master] GO ALTER DATABASE [DataNumen] SET READ_WRITE WITH NO_WAIT GO
İndi, bir qeyd əlavə etməyə çalışdığınız zaman, "Verilənlər bazasını yeniləmək alınmadı" səhv mesajıDataNumen"verilənlər bazası yalnız oxunduğu üçün" yox olacaq. Biz hamımız bilirik ki, verilənlər bazası ehtiyat nüsxələri bizə kömək edir düzeltmek SQL Server verilənlər bazaları. Bununla belə, yalnız oxumaq üçün verilənlər bazasının ehtiyat nüsxəsi verilənlər bazasını oxumaq-yazmaq rejimində deyil, yalnız oxumaq rejimində bərpa edəcək.
Müəllif Giriş:
Neil Varley məlumatların bərpası üzrə mütəxəssisdir DataNumendaxil olmaqla məlumatların bərpası texnologiyaları üzrə dünya lideri olan , Inc Outlook bərpası və excel bərpa proqram məhsulları. Ətraflı məlumat üçün ziyarət edin www.datanumen.com