Sicherung SQL 2005 Express

10/10/2007 - 10:27 von Thomas T. | Report spam
Hallo Fachleute,

ich habe vor kurzen schon dieses Thema hier hinein gepostet. Ich dachte auch
eine Loesung zu haben, aber dieser Loesungsansatz moechte einfach nicht
funktionieren.

Hintergrund ist der, dass ich mit SQL 2005 Express meine SQL Datenbank
automatisch, jede Nacht mit SQL Boardmitteln, sichern moechte.

Ich habe schon erfahren, dass es bei der Express Edition keinen Agent dafuer
gibt, was schon mal sehr schlecht ist. Was ich dennoch gemacht habe ist, dass
ich mir ein Script erstellt habe, welches eine Sicherung meiner DB anstoßen
soll.
Das Script rufe ich ueber eine Batchdatei auf die folgendermaßen aussieht:
SQLCMD -E -S ServerName\MSSQLSERVER -i
D:\Programme\DB\SQL_DB\Scripts\Backup_DB.sql

Das Script fuer die Sicherung sieh so aus:
BACKUP DATABASE [DB_Name] TO DISK = N'D:\Programme\DB\SQL_DB\SQL_DB.bak'
WITH NOFORMAT, NOINIT, NAME = N'DB_Name-Full Database Backup', SKIP,
NOREWIND, NOUNLOAD, STATS = 10
GO
declare @backupSetId as int
select @backupSetId = position from msdb..backupset where
database_name=N'DB_Name' and backup_set_id=(select max(backup_set_id) from
msdb..backupset where database_name=N'DB_Name' )
if @backupSetId is null begin raiserror(N'Verify failed. Backup information
for database ''DB_Name'' not found.', 16, 1) end
RESTORE VERIFYONLY FROM DISK = N'D:\Programme\DB\SQL_DB\SQL_DB.bak' WITH
FILE = @backupSetId, NOUNLOAD, NOREWIND
GO

Die Sache ist die, dass ich erst gar nicht zu einem vernuempftigen Aufruf
des Scripts komme. Mir wird immer wieder dieser Verbindungsfehler
entgegengeworfen:

HResult '0x57', Ebene '16', Status '1'
'SQL-Netzwerkschnittstellen: Die Verbindungszeichenfolge ist ungültig [87]. '
Sqlcmd: Fehler: Microsoft SQL Native Client : Fehler beim Herstellen einer
Verbi
ndung zum Server. Bei einer Verbindung zu SQL Server 2005 kann dieser Fehler
dad
urch verursacht werden, dass SQL Server unter den Standardeinstellungen
keine Re
moteverbindungen zulàsst..
Sqlcmd: Fehler: Microsoft SQL Native Client : Anmeldungstimeout abgelaufen.

Ich habe die Remoteverbindungen erlaubt mit TCP/IP und Named Pips. Dann ahbe
ich noch folgenden Microsoftartikel beachtet:

http://support.microsoft.com/kb/905618/de

Ich bin hingegangen und habe den Admin in folgende Gruppen eingetragen:

- SQLServer2005MSSQLUser$SERVERNAME$MSSQLSERVER
- SQLServer2005SQLBrowserUser$SERVERNAME
- SQLServer2005MSSQLServerADHelperUser$SERVERNAME

Anschließend habe ich auch den SQLBrowser Dienst neustarten lassen. Ich
bekomme aber immer wieder die o.g. Fehlermeldung. Ich habe nun ueberhaupt
keine Ahnung mehr an was dies liegen kann.

Sollte ich den Admin doch nur in die Gruppe
SQLServer2005SQLBrowserUser$Servername einbinden und aus den restlichen
Gruppen entfernen? Oder soll ich dem Admin direkte Berechtigungen setzen?
Wenn ja, dann mit Vollzugriff?

Ueber eine Antwort waere ich wirklich, wirklich dankbar.

Vielen Dank fuer alles schon einmal.

MfG
Thomas T.
 

Lesen sie die antworten

#1 Torsten Schüßler
10/10/2007 - 11:24 | Warnen spam
Hi,

"Wenn weder -U noch -P angegeben wird, versucht sqlcmd, die Verbindung im
Microsoft Windows-Authentifizierungsmodus herzustellen. Die
Authentifizierung basiert auf dem Windows-Konto des Benutzers, der sqlcmd
ausführt."

Und hat der User Zugriffsrechte auf die SQL Server Express Instance?
SQL Server hat ein eigenes Berechtigungskonzept! Bitte nur dort Berechtingen
setzen und nicht in den lokalen Berechtigungen des Betriebssystems!

CU
tosc

InsideSQL.de: http://www.insidesql.de

"Thomas T." schrieb im Newsbeitrag
news:
Hallo Fachleute,

ich habe vor kurzen schon dieses Thema hier hinein gepostet. Ich dachte
auch
eine Loesung zu haben, aber dieser Loesungsansatz moechte einfach nicht
funktionieren.

Hintergrund ist der, dass ich mit SQL 2005 Express meine SQL Datenbank
automatisch, jede Nacht mit SQL Boardmitteln, sichern moechte.

Ich habe schon erfahren, dass es bei der Express Edition keinen Agent
dafuer
gibt, was schon mal sehr schlecht ist. Was ich dennoch gemacht habe ist,
dass
ich mir ein Script erstellt habe, welches eine Sicherung meiner DB
anstoßen
soll.
Das Script rufe ich ueber eine Batchdatei auf die folgendermaßen aussieht:
SQLCMD -E -S ServerName\MSSQLSERVER -i
D:\Programme\DB\SQL_DB\Scripts\Backup_DB.sql

Das Script fuer die Sicherung sieh so aus:
BACKUP DATABASE [DB_Name] TO DISK = N'D:\Programme\DB\SQL_DB\SQL_DB.bak'
WITH NOFORMAT, NOINIT, NAME = N'DB_Name-Full Database Backup', SKIP,
NOREWIND, NOUNLOAD, STATS = 10
GO
declare @backupSetId as int
select @backupSetId = position from msdb..backupset where
database_name=N'DB_Name' and backup_set_id=(select max(backup_set_id) from
msdb..backupset where database_name=N'DB_Name' )
if @backupSetId is null begin raiserror(N'Verify failed. Backup
information
for database ''DB_Name'' not found.', 16, 1) end
RESTORE VERIFYONLY FROM DISK = N'D:\Programme\DB\SQL_DB\SQL_DB.bak' WITH
FILE = @backupSetId, NOUNLOAD, NOREWIND
GO

Die Sache ist die, dass ich erst gar nicht zu einem vernuempftigen Aufruf
des Scripts komme. Mir wird immer wieder dieser Verbindungsfehler
entgegengeworfen:

HResult '0x57', Ebene '16', Status '1'
'SQL-Netzwerkschnittstellen: Die Verbindungszeichenfolge ist ungültig
[87]. '
Sqlcmd: Fehler: Microsoft SQL Native Client : Fehler beim Herstellen einer
Verbi
ndung zum Server. Bei einer Verbindung zu SQL Server 2005 kann dieser
Fehler
dad
urch verursacht werden, dass SQL Server unter den Standardeinstellungen
keine Re
moteverbindungen zulàsst..
Sqlcmd: Fehler: Microsoft SQL Native Client : Anmeldungstimeout
abgelaufen.

Ich habe die Remoteverbindungen erlaubt mit TCP/IP und Named Pips. Dann
ahbe
ich noch folgenden Microsoftartikel beachtet:

http://support.microsoft.com/kb/905618/de

Ich bin hingegangen und habe den Admin in folgende Gruppen eingetragen:

- SQLServer2005MSSQLUser$SERVERNAME$MSSQLSERVER
- SQLServer2005SQLBrowserUser$SERVERNAME
- SQLServer2005MSSQLServerADHelperUser$SERVERNAME

Anschließend habe ich auch den SQLBrowser Dienst neustarten lassen. Ich
bekomme aber immer wieder die o.g. Fehlermeldung. Ich habe nun ueberhaupt
keine Ahnung mehr an was dies liegen kann.

Sollte ich den Admin doch nur in die Gruppe
SQLServer2005SQLBrowserUser$Servername einbinden und aus den restlichen
Gruppen entfernen? Oder soll ich dem Admin direkte Berechtigungen setzen?
Wenn ja, dann mit Vollzugriff?

Ueber eine Antwort waere ich wirklich, wirklich dankbar.

Vielen Dank fuer alles schon einmal.

MfG
Thomas T.

Ähnliche fragen