2 Solusi untuk Memperbarui Database Hanya-Baca di SQL Server

Bagikan sekarang:

Jika database bersifat read-only, Anda dapat dengan mudah mengidentifikasi status dari sys.databases atau dari SSMS. Fakta yang terkenal adalah Anda tidak dapat memperbarui data dalam database hanya-baca. Pada artikel ini, kita akan mempelajari cara memecahkan masalah dan memperbaikinya.

Dua pilihan

Perbarui Database Hanya-Baca Dalam SQL ServerKita bisa menggunakan SQL Server Studio Manajemen yaitu, skrip SSMS atau T-SQL untuk mengubah database hanya-baca menjadi database baca-tulis. Untuk memahami opsi ini dengan lebih baik, mari kita

  1. Buat database
  2. Buat tabel di dalamnya
  3. Tambahkan catatan ke tabel
  4. Jadikan database sebagai baca-saja
  5. Coba tambahkan catatan ke tabel yang sama
  6. Tinjau pesan kesalahan
  7. Ubah database kembali ke mode baca-tulis

Siapkan Database

Dari kamu SQL Server studio manajemen, sambungkan ke SQL server, klik kanan node "Database" dan kemudian pilih opsi "Database Baru". Tekan Ok setelah mengetik nama untuk database. Anda juga dapat menggunakan skrip T-SQL seperti yang ditunjukkan pada contoh di bawah ini:

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

Buat tabel dari SSMS dengan memilih database, klik kanan pada node “Tables” lalu arahkan ke “New” dan klik opsi “Table…”. Masukkan nama kolom dan tipe data lalu simpan dengan nama tabel. Anda dapat menggunakan kueri di bawah ini untuk membuat tabel:

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

Tambahkan rekaman ke tabel menggunakan kueri berikut:

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

Menggunakan SQL Server Management Studio, klik kanan database dan kemudian pilih opsi "Properties". Pada halaman properti Database, di bawah "Options", setel opsi "Database Read-Only" dari "True" menjadi "False". Anda juga dapat mengalihkan database menjadi hanya-baca menggunakan skrip TSQL seperti yang ditunjukkan di bawah ini:

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

Anda dapat melihat bahwa SSMS sekarang akan menunjukkan status "Hanya-baca" di dekat nama database.

Tunjukkan Status Hanya-Baca

Sekarang, mari kita coba memasukkan record baru ke dalam tabel.

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

Pesan kesalahan berikut akan muncul di jendela hasil.

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

Kembalikan status database menjadi baca-tulis menggunakan halaman Properti Database dan setel opsi dari "Hanya-Baca Database" dari "Salah" ke "Benar" atau jalankan skrip berikut:

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

Sekarang, ketika Anda mencoba menambahkan data, pesan kesalahan "Gagal memperbarui database"DataNumen"Karena basis data hanya-baca" akan hilang. Kita semua tahu bahwa backup database membantu kita memperbaiki SQL Server database. Namun, cadangan database hanya-baca akan memulihkan database dalam mode hanya-baca dan tidak dalam mode baca-tulis.

Pengantar Penulis:

Neil Varley adalah pakar pemulihan data di DataNumen, Inc., yang merupakan pemimpin dunia dalam teknologi pemulihan data, termasuk Pemulihan Outlook dan unggul dalam produk perangkat lunak pemulihan. Untuk informasi lebih lanjut kunjungi www.datanumen.com

Bagikan sekarang:

Komentar ditutup.