Хэрэв өгөгдлийн сан нь зөвхөн унших боломжтой бол та sys.database эсвэл SSMS-ээс статусыг хялбархан тодорхойлох боломжтой. Та зөвхөн унших боломжтой мэдээллийн сан дахь өгөгдлийг шинэчлэх боломжгүй гэдгийг сайн мэддэг баримт юм. Энэ нийтлэлд бид үүнийг хэрхэн олж засварлах, засах талаар сурах болно.
Хоёр сонголт
Бид аль аль нь ашиглаж болно SQL Server Удирдлагын студи, өөрөөр хэлбэл, зөвхөн унших боломжтой мэдээллийн санг унших-бичих мэдээллийн сан болгон хувиргах 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
Өгөгдлийн санг сонгох замаар SSMS-ээс хүснэгт үүсгэж, "Хүснэгтүүд" зангилаа дээр хулганы баруун товчийг дараад "Шинэ" гэснийг сонгоод "Хүснэгт..." гэсэн сонголтыг дарна уу. Баганын нэр болон өгөгдлийн төрлийг оруулаад хүснэгтийн нэрээр хадгална уу. Хүснэгт үүсгэхийн тулд та доорх асуулгыг ашиглаж болно.
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 Менежмент студио, мэдээллийн бааз дээр хулганы баруун товчийг дараад "Properties" сонголтыг сонгоно уу. Өгөгдлийн сангийн шинж чанаруудын хуудасны "Сонголтууд" хэсэгт "Өгөгдлийн сангийн зөвхөн унших" сонголтыг "Үнэн"-ээс "Худал" болгож тохируулна уу. Та мөн доор үзүүлсэн шиг TSQL скриптийг ашиглан мэдээллийн санг зөвхөн унших горимд шилжүүлж болно.
USE [master] GO ALTER DATABASE [DataNumen] SET READ_ONLY WITH NO_WAIT GO
Одоо SSMS нь мэдээллийн сангийн нэрний ойролцоо "Зөвхөн унших" статусыг харуулах болно гэдгийг харж болно.
Одоо хүснэгтэд шинэ бичлэг оруулахыг хичээцгээе.
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