2 Read-only Database ကို အပ်ဒိတ်လုပ်ရန် ဖြေရှင်းချက် SQL Server

ယခုမျှဝေပါ-

ဒေတာဘေ့စ်တစ်ခုသည် ဖတ်ရန်သပ်သပ်ဖြစ်ပါက၊ သင်သည် sys.databases သို့မဟုတ် SSMS မှ အခြေအနေကို အလွယ်တကူသိရှိနိုင်သည်။ လူသိများသောအချက်တစ်ခုမှာ သင်ဖတ်ရန်သာဒေတာဘေ့စ်တွင် ဒေတာကို အပ်ဒိတ်လုပ်၍မရပါ။ ဤဆောင်းပါးတွင်၊ ပြဿနာဖြေရှင်းနည်းနှင့် ဖြေရှင်းနည်းကို လေ့လာပါမည်။

ရွေးချယ်မှုနှစ်ခု

Read-Only Database In ကို အပ်ဒိတ်လုပ်ပါ။ SQL Serverသုံးလို့ရတယ်။ SQL Server Management Studio ဆိုလိုသည်မှာ၊ SSMS သို့မဟုတ် T-SQL script သည် read-only database တစ်ခုကို read-write database အဖြစ်သို့ ပြောင်းရန်။ ဤရွေးချယ်စရာများကို ပိုမိုကောင်းမွန်စွာ နားလည်ရန် ကျွန်ုပ်တို့ကို ရအောင်ယူပါ။

  1. ဒေတာဘေ့စ်တစ်ခုဖန်တီးပါ
  2. ၎င်းအတွင်း ဇယားများ ဖန်တီးပါ။
  3. မှတ်တမ်းများကို ဇယားထဲထည့်ပါ။
  4. ဒေတာဘေ့စ်ကို ဖတ်ရန်သီးသန့်အဖြစ် ပြုလုပ်ပါ။
  5. ဇယားတစ်ခုတည်းတွင် မှတ်တမ်းများထည့်ကြည့်ပါ။
  6. အမှားသတင်းကို ပြန်လည်သုံးသပ်ပါ။
  7. ဒေတာဘေ့စ်ကို ဖတ်ရှုရေးမုဒ်သို့ ပြန်ပြောင်းပါ။

Database ပြင်ဆင်ပါ။

သင့်ရဲ့ SQL Server စီမံခန့်ခွဲမှုစတူဒီယို၊ သင်၏ချိတ်ဆက်ပါ။ SQL server၊ node "Database" ကို right-click နှိပ်ပြီး "New Database" option ကိုရွေးပါ။ ဒေတာဘေ့စ်အတွက် အမည်ကို ရိုက်ထည့်ပြီးနောက် Ok ကိုနှိပ်ပါ။ အောက်ပါဥပမာတွင်ပြထားသည့်အတိုင်း T-SQL script ကိုသင်အသုံးပြုနိုင်သည်-

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 မှဇယားတစ်ခုဖန်တီးပါ၊ node “Tables” ပေါ်တွင် right click နှိပ်ပြီး “New” သို့ညွှန်ပြပြီး option “Table…” ကိုနှိပ်ပါ။ ကော်လံအမည်နှင့် ဒေတာအမျိုးအစားများကို ထည့်သွင်းပြီးနောက် ဇယားအမည်ဖြင့် သိမ်းဆည်းပါ။ ဇယားတစ်ခုဖန်တီးရန် အောက်ပါမေးခွန်းကို သင်အသုံးပြုနိုင်ပါသည်။

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၊ ဒေတာဘေ့စ်ကို right-click နှိပ်ပြီး “Properties” option ကို ရွေးပါ။ ဒေတာဘေ့စ်ဂုဏ်သတ္တိများ စာမျက်နှာတွင်၊ "ရွေးချယ်မှုများ" အောက်တွင်၊ "ဒေတာဘေ့စ်ဖတ်ရန်သာ" ရွေးချယ်မှုကို "မှန်" မှ "မှား" သို့ သတ်မှတ်ပါ။ အောက်တွင်ဖော်ပြထားသည့်အတိုင်း TSQL script ကိုအသုံးပြု၍ ဒေတာဘေ့စ်ကိုဖတ်ရန်-သပ်သပ်အဖြစ်သို့လည်း ပြောင်းနိုင်သည်။

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

ယခုအခါ SSMS သည် ဒေတာဘေ့စ်အမည်အနီးတွင် “Read-only” အခြေအနေကို ပြသမည်ဖြစ်ကြောင်း သင်တွေ့မြင်နိုင်သည်။

အခြေအနေကို ဖတ်ရန်သာ ပြပါ။

ယခု ဇယားတွင် မှတ်တမ်းအသစ်တစ်ခုကို ထည့်သွင်းရန် ကြိုးစားကြပါစို့။

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

အောက်ပါ Error message သည် ရလဒ် window တွင်ပေါ်လာလိမ့်မည်။

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

Database Properties စာမျက်နှာကို အသုံးပြု၍ ဒေတာဘေ့စကို ဖတ်-ရေးရန် ဒေတာဘေ့စ်အခြေအနေကို ပြန်ပြောင်းပြီး “ဒေတာဘေ့စ်ဖတ်ရန်သာ” မှ ရွေးစရာကို “မှား” မှ “မှန်” သို့ သတ်မှတ်ပါ သို့မဟုတ် အောက်ပါ script ကို လုပ်ဆောင်ပါ-

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

ယခု၊ မှတ်တမ်းတစ်ခုထည့်ရန်ကြိုးစားသောအခါ၊ "ဒေတာဘေ့စ်ကိုမွမ်းမံခြင်းမအောင်မြင်ပါ"DataNumen"ဒေတာဘေ့စ်သည် ဖတ်ရန်သာဖြစ်သောကြောင့်" ပျောက်သွားလိမ့်မည်။ ဒေတာဘေ့စ် အရန်သိမ်းဆည်းခြင်းက ကျွန်ုပ်တို့ကို ကူညီပေးကြောင်း ကျွန်ုပ်တို့အားလုံးသိသည်။ ပုံသေတပ်ထား SQL Server ဒေတာဘေ့စ်များ။ သို့ရာတွင်၊ ဖတ်ရန်-သီးသန့် ဒေတာဘေ့စ်၏ အရန်ကူးခြင်းသည် ဖတ်ရန်-ရေးမုဒ်တွင်မဟုတ်ဘဲ ဒေတာဘေ့စ်ကို ဖတ်ရန်သာမုဒ်တွင် ပြန်လည်ရရှိမည်ဖြစ်သည်။

စာရေးသူနိဒါန်း:

Neil Varley သည် ဒေတာပြန်လည်ရယူရေးဆိုင်ရာ ကျွမ်းကျင်သူဖြစ်သည်။ DataNumen, Inc. အပါအဝင် ဒေတာပြန်လည်ရယူရေးနည်းပညာများတွင် ကမ္ဘာ့ခေါင်းဆောင်ဖြစ်သည်။ Outlook ပြန်လည်ရယူခြင်း။ နှင့် excel recovery software ထုတ်ကုန်များ။ ပိုမိုသိရှိလိုပါကသွားရောက်ကြည့်ရှု www ။datanumen.com

ယခုမျှဝေပါ-

မှတ်ချက်များကိုပိတ်ထားကြသည်။