So stoppen/starten Sie MS SQL-Dienste, um das Kopieren von SQL-Datenbanken zu ermöglichen

So stoppen/starten Sie MS SQL-Dienste, um das Kopieren von SQL-Datenbanken zu ermöglichen

Ich möchte herausfinden, wie ich MS SQL-Dienste stoppen/starten kann, damit ich SQL-Datenbankdateien kopieren kann. Ich weiß, wie das manuell geht, aber ich möchte es über ein Skript tun.

Antwort1

Anstatt die Datendateien zu kopieren, könnten Sie auch eine Sicherungskopie anfertigen. Auf diese Weise müssen Sie den SQL Server-Dienst nicht stoppen/starten und es kommt zu Ausfallzeiten, wie beispielsweise hier:

BACKUP DATABASE [databasename] 
TO DISK = 'D:\BackupFiles\Database.bak' 
WITH COPY_ONLY
GO

Das COPY_ONLYFlag gibt an, dass es sich bei der Sicherung (welch eine Überraschung) nur um eine Kopie handelt und somit die Kette der differenziellen Sicherungen nicht unterbrochen wird.

Antwort2

zum Anhalten:

NET STOP MSSQLSERVER

zum Starten:

NET START MSSQLSERVER

Aber ich rate dringend, wenn Sie die Datenbankdateien kopieren möchten (ich denke, zu Sicherungszwecken), sollten Sie einen Wartungsplan mit einem Sicherungsschema in Betracht ziehen, wenn Sie bereits MS SQL SERVER verwenden. Für SQL Express benötigen Sie einige benutzerdefinierte Skripte. Wenn die Sicherung Ihrer Datenbank abgeschlossen ist, ist die Ausgabedatei nicht gesperrt und Sie können diese an einem beliebigen Ort speichern, beispielsweise auf einem Sicherungsgerät.

verwandte Informationen