Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
Kommentar vom Moderator Biber am 09.02.2011 um 18:41:55 Uhr
Codeformatierung.

gelöst SQL Variable mit Batch benutzen?

Mitglied: 0belixx

0belixx (Level 1) - Jetzt verbinden

09.02.2011, aktualisiert 18:41 Uhr, 6872 Aufrufe, 5 Kommentare

Hi

ich habe folgendes Problem. Ich muss eine Sicherung einer Datenbank (es gibt immer nur eine) von einer Istance (es gibt immer nur eine) und einem SQL Server (es gibt immer nur einen) deren Namen ich nicht kenne (die User nenne das Zeug immer anders).
Habe bisher das zusammen bekommen aber bei der Datenbank komm ich nicht mehr weiter. Hat da jemand eine zündende Idee?
01.
::SQL Server
02.
FOR /F "tokens=2* delims= " %%A IN ('REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100\Machines" /v OriginalMachineName') DO SET SQLSERVER=%%B
03.
ECHO %SQLSERVER%
04.

05.
::SQL Instace
06.
FOR /F "tokens=2* delims= " %%A IN ('REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server" /v InstalledInstances') DO SET SQLInstance=%%B
07.
ECHO %SQLInstance%
08.

09.

10.

11.

12.
sqlcmd -Q "BACKUP DATABASE Datenbankname TO DISK='C:\MSSQL\MSSQL10.MSSQLSERVER\MSSQL\Backup\SQLBackup.bak' WITH INIT" -S %SQLSERVER%\%SQLInstance%
13.
IF NOT EXIST C:\MSSQL\MSSQL10.MSSQLSERVER\MSSQL\Backup\SQLBackup.bak goto :SQLFehler
14.
del M:\System\SQLSicherung05.bak /Q
15.
move M:\System\SQLSicherung04.bak M:\System\SQLSicherung05.bak
16.
move M:\System\SQLSicherung03.bak M:\System\SQLSicherung04.bak
17.
move M:\System\SQLSicherung02.bak M:\System\SQLSicherung03.bak
18.
move M:\System\SQLSicherung01.bak M:\System\SQLSicherung02.bak
19.
move C:\MSSQL\MSSQL10.MSSQLSERVER\MSSQL\Backup\SQLBackup.bak M:\System\SQLSicherung01.bak
20.

21.
goto Exit
22.

23.
:SQLFehler
24.
Echo SQLFehler
25.

26.
:exit
Mitglied: MiniStrator
09.02.2011 um 21:58 Uhr
Hi,

es gibt eine undokumentierte system stored procedure, die heißt sp_msforeachdb, damit kannst du ein Kommando auf alle Datenbanken absetzen.
Dann gibts noch eine osql.exe im Installationsverzeichnis, ich glaub unter binn, die kann eine Textdatei als SQL-Script ausführen. (osql /?)
Frag mich nicht nach Syntaxen, ich muss auch immer googeln.

Dann kenn ich noch ein Tool namens Expressmaint, ist auch googlebar... Schaus dir mal an

Gruß,
MiniStrator
Bitte warten ..
Mitglied: 0belixx
14.02.2011 um 10:10 Uhr
Hi MiniStrator

danke für deine zündende Idee, hab das jetzt so gelöst:

::SQL Server
@ECHO OFF
FOR /F "tokens=2* delims= " %%A IN ('REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100\Machines" /v OriginalMachineName') DO SET SQLSERVER=%%B
ECHO %SQLSERVER%

::SQL Instace
FOR /F "tokens=2* delims= " %%A IN ('REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server" /v InstalledInstances') DO SET SQLInstance=%%B
ECHO %SQLInstance%


sqlcmd -Q "EXEC sp_MSForEachDB 'IF DB_NAME((SELECT dbid FROM sysdatabases WHERE [Name]= ''?'')) NOT IN (''tempdb'',''master'',''model'',''msdb'') BACKUP DATABASE [?] TO DISK = N''C:\MSSQL\MSSQL10.MSSQLSERVER\MSSQL\Backup\?.bak'' WITH NOFORMAT, NOINIT, NAME = N''?-Full Database Backup'', SKIP, NOREWIND, NOUNLOAD'" -S %SQLSERVER%
M:\System\DS_SQL\7z.exe a C:\MSSQL\MSSQL10.MSSQLSERVER\MSSQL\Backup\SQLBackup.zip C:\MSSQL\MSSQL10.MSSQLSERVER\MSSQL\Backup\
IF NOT EXIST C:\MSSQL\MSSQL10.MSSQLSERVER\MSSQL\Backup\SQLBackup.zip goto :SQLFehler
del M:\System\SQLSicherung05.bak /Q
move M:\System\DS_SQL\SQLSicherung04.zip M:\System\DS_SQL\SQLSicherung05.zip
move M:\System\DS_SQL\SQLSicherung03.zip M:\System\DS_SQL\SQLSicherung04.zip
move M:\System\DS_SQL\SQLSicherung02.zip M:\System\DS_SQL\SQLSicherung03.zip
move M:\System\DS_SQL\SQLSicherung01.zip M:\System\DS_SQL\SQLSicherung02.zip
move C:\MSSQL\MSSQL10.MSSQLSERVER\MSSQL\Backup\SQLBackup.zip M:\System\DS_SQL\SQLSicherung01.zip
del C:\MSSQL\MSSQL10.MSSQLSERVER\MSSQL\Backup\*.* /Q

goto Exit

:SQLFehler
Echo SQLFehler

:exit
Bitte warten ..
Mitglied: 0belixx
14.04.2011 um 13:52 Uhr
Hallo Leute,

ich muss den Eintrag nochmal aktivieren.

jetzt habe ich nehmlich den Fall das ich eine Instance ansprechen muss. Da funktioniert das Script aber nicht es wird immer nur die erste Datenbank gesichert.

Kann jemand helfen.

Beste Grüsse.
0belixx
Bitte warten ..
Mitglied: MiniStrator
15.04.2011 um 00:07 Uhr
Hi,

meinst du die erste Datenbank jeder Instanz oder die Datenbanken der ersten Instanz? Mach doch einen neuen Fred auf, mit deinem Ist-Zustand und der Anforderung 'mehrere Instanzen'
Das Problem liegt hier dabei, dass dein Codeblock 'SQLInstance' einen registrykey ausließt in dem Zeilenumbrüche vorhanden sind. Und diese werden vom Batch als \0 zurückgegeben. Ob die der 'delims' irgendwie kann weiß ich nicht.
Zumindest wirst du um das Ganze ne Schleife rumbasteln müssen.

Bei ner Frage nach eben diesem Problem kriegst du bestimmt ne Antwort von Bastla, Biber und/oder Konsorten...

Gruß
MiniStrator
Bitte warten ..
Mitglied: 99045
15.04.2011 um 00:17 Uhr
@0belixx
Hi,

auch du könntest in deinen Beiträgen die Codeformatierung verwenden (Formatierungshilfe im Eingabefenster), das tut nicht weh und liest sich besser.

ich muss den Eintrag nochmal aktivieren.
Dann musst du auch den gelöst/erledigt Haken wieder wegnehmen, sonst könnte es nämlich sein, dass du keine Antwort bekommst.

Gruß
Bitte warten ..
Ähnliche Inhalte
Datenbanken
MS-SQL-Server + T-SQL+Batch
Frage von kallewirschDatenbanken4 Kommentare

Hallo Gemeinde, mal wieder ein Problem aus dem Bereich des MS-SQL-Servers. Folgendes Thema: Nachts sollen automatisch Backups der DBen ...

Batch & Shell

SAP HANA SQL Abfrage per Batch auslösen und in CSV schreiben

gelöst Frage von ShihayazadBatch & Shell7 Kommentare

Hallo zusammen, ich habe folgendes Problem, wir haben ein SAP System, das ich von außen mit einer .sql ansprechen ...

Datenbanken

SQL Frontend?

Frage von sschultewolterDatenbanken8 Kommentare

Hallo, bin auf der Suche nach einer MySQL Frontend Software. Zum Aufbau: Auf einem Debian Rechner läuft eine MySQL ...

Windows Server

SQL-Errorlogs

Frage von kellbiddenWindows Server3 Kommentare

Hallo Ich hab den SQL-Server neu übernommen. Nun habe ich bereits eine Frage: Wo finde ich die Error-Logs des ...

Neue Wissensbeiträge
Viren und Trojaner

Staatstrojaner soll auch per Einbruch installiert werden können

Information von transocean vor 1 TagViren und Trojaner2 Kommentare

Moin, Bundesinnenminister Horst Seehofer will dem Verfassungsschutz Wohnungseinbrüche erlauben, um den geplanten Staatstrojaner zu installieren. Gruß Uwe

Windows 7
Win7 Update scheitert KB4512506
Information von infowars vor 1 TagWindows 7

Falls jemand auch das Problem hat mit dem: Monatliches Sicherheitsqualitätsrollup für Windows 7 für x64-basierte-Systeme (KB4512506) Das scheint mit ...

Humor (lol)
Wenn hacken nach hinten los geht
Information von em-pie vor 2 TagenHumor (lol)5 Kommentare

Moin, weil heute Freitag ist, nachfolgender kurzer Artikel zum schmunzeln:) l+f: NULL ist ein notorischer Falschparker

Windows Update
Windows: August 2019 Patchday-Probleme
Information von kgborn vor 3 TagenWindows Update3 Kommentare

Ich kippe mal einige kurze Informationen hier rein - vielleicht hilft es Betroffenen. Die August 2019-Updates für Windows haben ...

Heiß diskutierte Inhalte
Switche und Hubs
Glasfaser-Anschluss Telekom muss verteilt werden
Frage von cansoniSwitche und Hubs28 Kommentare

Vorweg: Bin nur Anwender und kein Experte Die Situation: Der Vermieter stellt einen Glasfaseranschluss in der Wohnung bereit. Wir ...

Ubuntu
Download manchmal langsam oder komplette Abbrüche bzw. Videos spielen nicht bis zum Schluss
Frage von stefanstpUbuntu17 Kommentare

Immer wieder berichten unsere Kunden, dass Downloads abbrechen oder super langsam sind oder Videos nicht abgespielt werden können bzw. ...

Hyper-V
VMs von Hyper-V auf externer Festplatte
Frage von SnowbirdHyper-V17 Kommentare

Hallo, ich möchte gerne von VirtualBox auf Hyper-V umsteigen und würde auch gerne weiterhin meine VMs auf der externen ...

Festplatten, SSD, Raid
SSDs durch Lagerung ohne Strom nach 6 Monaten defekt?!?
gelöst Frage von GlobetrotterFestplatten, SSD, Raid15 Kommentare

Moin Gemeinde Ich hatte gerade nen Trauerspiel Habe hier etliche NAS-Geräte herumfahren welche ich mal auf die Seite gelegt ...