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
Kita 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
- Buat database
- Buat tabel di dalamnya
- Tambahkan catatan ke tabel
- Jadikan database sebagai baca-saja
- Coba tambahkan catatan ke tabel yang sama
- Tinjau pesan kesalahan
- 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.
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