2 Problemumgehungen zum Aktualisieren einer schreibgeschützten Datenbank in SQL Server

Jetzt teilen:

Wenn eine Datenbank schreibgeschützt ist, können Sie den Status leicht anhand der sys.databases oder des SSMS ermitteln. Eine bekannte Tatsache ist, dass Sie keine Daten in einer schreibgeschützten Datenbank aktualisieren können. In diesem Artikel erfahren Sie, wie Sie Fehler beheben und beheben können.

Zwei Optionen

Aktualisieren Sie eine schreibgeschützte Datenbank in SQL ServerWir können entweder verwenden SQL Server Management Studio, dh SSMS- oder T-SQL-Skript zum Konvertieren einer schreibgeschützten Datenbank in eine schreibgeschützte Datenbank. Um diese Optionen besser zu verstehen, lassen Sie uns

  1. Erstellen Sie eine Datenbank
  2. Erstellen Sie darin Tabellen
  3. Fügen Sie der Tabelle Datensätze hinzu
  4. Machen Sie die Datenbank schreibgeschützt
  5. Versuchen Sie, Datensätze zur gleichen Tabelle hinzuzufügen
  6. Überprüfen Sie die Fehlermeldung
  7. Konvertieren Sie die Datenbank zurück in den Lese- / Schreibmodus

Datenbank vorbereiten

Von deiner SQL Server Management Studio, verbinden Sie sich mit Ihrem SQL serverKlicken Sie mit der rechten Maustaste auf den Knoten "Datenbank" und wählen Sie dann die Option "Neue Datenbank". Drücken Sie OK, nachdem Sie einen Namen für die Datenbank eingegeben haben. Sie können auch das T-SQL-Skript verwenden, wie im folgenden Beispiel gezeigt:

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

Erstellen Sie eine Tabelle aus SSMS, indem Sie die Datenbank auswählen, mit der rechten Maustaste auf den Knoten "Tabellen" klicken, dann auf "Neu" zeigen und auf die Option "Tabelle ..." klicken. Geben Sie den Spaltennamen und die Datentypen ein und speichern Sie sie mit einem Tabellennamen. Mit der folgenden Abfrage können Sie eine Tabelle erstellen:

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

Fügen Sie der Tabelle mithilfe der folgenden Abfrage Datensätze hinzu:

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

Die Verwendung von SQL Server Klicken Sie in Management Studio mit der rechten Maustaste auf die Datenbank und wählen Sie die Option "Eigenschaften". Setzen Sie auf der Seite Datenbankeigenschaften unter "Optionen" die Option "Datenbank schreibgeschützt" von "Richtig" auf "Falsch". Sie können die Datenbank auch mithilfe des TSQL-Skripts auf schreibgeschützt umstellen, wie unten gezeigt:

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

Sie konnten sehen, dass das SSMS jetzt den Status "Schreibgeschützt" neben dem Datenbanknamen anzeigt.

Status schreibgeschützt anzeigen

Versuchen wir nun, einen neuen Datensatz in die Tabelle einzufügen.

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

Die folgende Fehlermeldung wird im Ergebnisfenster angezeigt.

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

Setzen Sie den Datenbankstatus auf der Seite Datenbankeigenschaften auf Lese- und Schreibzugriff zurück und setzen Sie die Option von "Datenbank schreibgeschützt" von "Falsch" auf "Richtig" oder führen Sie das folgende Skript aus:

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

Wenn Sie nun versuchen, einen Datensatz hinzuzufügen, wird die Fehlermeldung "Datenbank konnte nicht aktualisiert werden" angezeigt.DataNumen"Weil die Datenbank schreibgeschützt ist" wird ausgeblendet. Wir alle wissen, dass Datenbanksicherungen uns dabei helfen fixieren SQL Server Datenbanken. Durch eine Sicherung der schreibgeschützten Datenbank wird jedoch eine Datenbank im schreibgeschützten Modus und nicht im schreibgeschützten Modus wiederhergestellt.

Einführung des Autors:

Neil Varley ist ein Experte für Datenwiederherstellung in DataNumen, Inc., das weltweit führend bei Datenwiederherstellungstechnologien ist, einschließlich Outlook-Wiederherstellung und Excel-Wiederherstellungssoftwareprodukte. Für weitere Informationen besuchen Sie www.datanumen.com €XNUMX

Jetzt teilen:

Kommentare sind geschlossen.