Loading . . .

SQL Server Backup – Msg 3201 Level 16 State 1

Manchmal sind die einfachsten Dinge die Schwersten 😉
Aber auch die einfachen Dinge im Leben gibt es immer Lösungen, die ich nicht vorenthalten möchte

Auftrag vom Kunden:

“Kopieren Sie bitte die Datenbank XYZ von Produktion in die Test-Umgebung”

Kein Problem, also Backupskript rausgeholt:

/*

Backup SingleDB to NetworkShare

23.02.2015 BP Initial V1.0
17.04.2015 BP Servername zum Backup_Filename hinzugefügt
21.05.2015 BP REPLACE(@@SERVERNAME, '\', '_') - benamte Instanzen sorgen für einen Unterordner

*/

USE [master]
GO

DECLARE
@database_name varchar(100),
@Network_Share varchar(512),
@backupfile_name VARCHAR(512),
@backupdate varchar(8),
@SQLCMD nvarchar(512)

-- SET Database Name
SELECT @database_name = 'Test';

-- Set Network-Path
SELECT @Network_Share = '\\Ziel_Server\Backup_Pfad'; -- without Backslash

-- generate a backup device and file name
SELECT @backupdate = CONVERT(VARCHAR(8), GETDATE(), 112);
SET @backupfile_name = @Network_Share + '\' + REPLACE(@@SERVERNAME, '\', '_') + '_' + @database_name + '_' + CONVERT(VARCHAR(8), GETDATE(), 112) + '.bak';

-- drop the backup device from last time
IF EXISTS(SELECT * FROM sys.backup_devices where name = 'Network_Share_Device')
EXEC master.dbo.sp_dropdevice @logicalname = N'Network_Share_Device';

-- create the backup device / filename
EXEC master.dbo.sp_addumpdevice @devtype = N'disk', @logicalname = N'Network_Share_Device', @physicalname = @backupfile_name;

-- backup the database to the newly created backup device / filename
SET @SQLCMD = N'BACKUP DATABASE [' + @database_name + '] TO [Network_Share_Device] WITH DESCRIPTION = N''Backing up DBNAME to a network share drive'', NOFORMAT, INIT, NAME = 
  N''Backup_DB_BkUp_to_Network_Share'', SKIP, NOREWIND, NOUNLOAD, STATS = 10, CHECKSUM, COPY_ONLY;'

print 'Just backing up ' + @database_name + ' to ' + @Network_Share;
exec sp_executesql @SQLCMD;

-- drop the backup device from last time
IF EXISTS(SELECT * FROM sys.backup_devices where name = 'Network_Share_Device')
EXEC master.dbo.sp_dropdevice @logicalname = N'Network_Share_Device';

Was soll das? Wieso? Platte ist doch leer (hatte ich extra geschaut)! Pfad ist auch erreichbar!

Also schnell mal Google bemüht… da war dieser KnowlegdeBase Beitrag … die Fehlermeldung deutet auf ein Problem mit der Platte hin und man solle doch mal “Formattieren”… kein Problem, hat aber auch nicht geholfen, also weitersuchen…

Ich hatte schon einen anderen Ablage-Platz gefunden über den ich dann als “Umweg” das Backup hätte erstellen können, um es dann später umzukopieren.

Manchmal sind die Dinge aber auch so einfach, dass man nicht auf Anhieb daran denkt 😉

Die Datenbank hatte mittlerweile eine Größe erreicht, die so nicht mehr auf die Platte gepasst hätte. 66 GB Datenbank auf 60 GB Platte – schwer vorstellbar, aber warum dann so eine nichts sagende Fehlermeldung.
Mein Gehirn scheint heute nicht so schnell zu sein, eine 66 GB Datenbank muss doch eigentlich auf die Platte passen (wir haben Backup-Compression eigentlich immer aktiviert), hier leider wohl nicht. Schnell nachgeholt und siehe da, das Backup-File ist nur noch 12 GB groß.
Und somit konnte ich den Kunden-Auftrag erfolgreich abschließen.

Just backing up Test to \\Ziel_Server\Backup_Pfad
10 percent processed.
20 percent processed.
30 percent processed.
40 percent processed.
50 percent processed.
60 percent processed.
70 percent processed.
80 percent processed.
90 percent processed.
Processed 8289352 pages for database 'Test', file 'Test' on file 1.
100 percent processed.
Processed 1113 pages for database 'Test', file 'Test_log' on file 1.
BACKUP DATABASE successfully processed 8290465 pages in 562.126 seconds (115.221 MB/sec).
Device dropped.

Was lernen wir daraus?

  • Backup-Compression einschalten
  • Bei nicht laufendem Backup auch mal an die Größe der Datenbank denken 😉

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

Previous post Zusammenfassung SQLSaturday #369 – SQLSatPortugal
Next post Warenkorb – SQL Server standartisieren

SQL aus Hamburg

Das bin ich ;-)

Björn Peters - MVP - Data Platform

Ich habe das erste Mal mit MS SQL Datenbanken im Jahr 2000 zu tun gehabt und diese Datenbank-Systeme rund 7 Jahre vollumfänglich betreut. Von 2007 bis 2019 war ich als Datenbank-Administrator angestellt und betreute eine Vielzahl von unterschiedlichen SQL-Servern von mittelständischen Firmen und Großkonzernen aus unterschiedlichen Branchen.
Ich verfüge zwar über einige Zertifikate, beziehe meine Erkenntnisse und mein Wissen rund um den SQL Server rein aus dem Tagesgeschäft, dem Lesen/Verfolgen von zahlreichen Foren/Blogs.
Ich habe mich auch nicht wirklich auf ein Fachgebiet spezialisiert, lege meinen Schwerpunkt aber dann doch auf die Performance-Analyse.
Seit Ende 2016 bin ich Organisator des Azure Meetup Hamburg und vom April 2017 bis Juni 2018 Cloud- und Datacenter Management MVP und seit Juli 2018 Data-Platform MVP.