Wichtig, geht nur bei Standard und nicht Express
(Für Express empfehle ich: https://sqlbackupandftp.com/)
Vorraussetzungen prüfen:
SQL Server Agen Dienst
-> auf Automatisch gestellt
Das Backup wie folgt einrichten:
SQL Management mit dem SA / Admin Benutzer verbinden
In den Servereigenschaften, Datenbankeinstellungen:
Im Optimalfall ein eigenes Laufwerk für die Sicherung einrichten (in diesem Beispiel H:\)
In den Eigenschaften jeder Datenbank, das Wiederherstellungsmodell auf "Vollständig" setzen
Unter Verwaltung -> Wartungspläne -> Rechte Maus -> Assisten ausführen:
Name: taeglich
Zeitplan:
Täglich
Häufigkeit: Einmalig 12:00 Uhr
Wartungstasks:
Datenbank sichern (voll und transaktionsprotokoll)
Datenbank verkleinern
Verlauf Bereinigen
Wartung bereinigen / Wartungscleanup
(wichtig, im folgedialog die abfolge wie oben machen)
Einstellungen Voll und Transaktion:
Allgemein: Alle Benutzerdatenbanken
Ziel: separate Unterverzeichnisse erstellen: ein
Optionen: Integrität, Bei Fehler fortsetzen und Prüfsumme: ein
Einstellungen Verkleinern:
Allgemein: Alle Benutzerdatenbanken
Einstellungen Verlauf:
4 Wochen
Einstellungen Wartung:
Sicherungsdateien:
Odner: H:\
Dateiwerweiterung: bak
Unterordner einschliessen
Löschen älter als: 3 Tage
In H:\ nun manuel einen Odner "Logs" erstellen
Bericht in Textdatei schreiben:
H:\Logs
Nun fehlen noch zweimal bereinigungen:
Den Task "taeglich" doppelklicken
Oben Links in der Toolbar/Toolbox "Task Wartung bereinigen" hinzufügen
Verknüpfen zu unterst und dann Doppelklicken
Datentyp: Sicherungsdateien
Ordner: H:\
Dateierweiterung: trn
Unterordner einschliessen
4 Wochen
Datentyp: Textberichte für Wartungsplan
Ordner: H:\Logs
Dateierweiterung: txt
Unterordner einschliessen
4 Wochen
SPEICHERN
Fertig
Der task "taeglich" kann nun testweise ausgeführt werden
Komprimierung einstellen:
Auf dem Task Daten sichern Vollbackup und Differenzial kann unter den Optionen die Sicherungskomprimierung noch eingeschaltet werden
Ich empfehle dies
Hier finden Sie Lösungen zu häufigen Computer und Serverproblemen. Wählen Sie aus einem "Label" rechts für eine einfachere Navigation
Posts mit dem Label SQL werden angezeigt. Alle Posts anzeigen
Posts mit dem Label SQL werden angezeigt. Alle Posts anzeigen
Montag, 2. Juli 2018
Mittwoch, 28. Februar 2018
[SERVER][IIS][EXCHANGE][SQL] Logfiles aufräumen
IIS Logs löschen alle 7 Tage:
SchTasks /Create /SC WEEKLY /D SAT /TN "Remove IIS logs older than 7 days" /TR "Forfiles.exe -p C:\inetpub\logs\LogFiles\W3SVC1 -m *.log -d -7 -c \"Cmd.exe /C del @path\\"" /ST 11:59
Für alte Server ohne SchTasks:at 12:00 /EVERY:Su Forfiles.exe -p C:\WINDOWS\system32\LogFiles\W3SVC1 -m *.log -d -30 -c \"Cmd.exe /C del @path\"
Wichtig: Task bearbeiten -> Ausführen auf SYSTEM ändern
Falls Exchange 2013 / 2016 Installiert, kann auch folgendes .ps1 Script benutzt werden:
(IIS & Exchange)
Set-Executionpolicy RemoteSigned
$days=7
$IISLogPath="C:\inetpub\logs\LogFiles\"
$ExchangeLoggingPath="C:\Program Files\Microsoft\Exchange Server\V15\Logging\"
$ETLLoggingPath="C:\Program Files\Microsoft\Exchange Server\V15\Bin\Search\Ceres\Diagnostics\ETLTraces\"
$ETLLoggingPath2="C:\Program Files\Microsoft\Exchange Server\V15\Bin\Search\Ceres\Diagnostics\Logs"
Function CleanLogfiles($TargetFolder)
{
if (Test-Path $TargetFolder) {
$Now = Get-Date
$LastWrite = $Now.AddDays(-$days)
$Files = Get-ChildItem $TargetFolder -Include *.log,*.blg, *.etl, *.txt -Recurse | Where {$_.LastWriteTime -le "$LastWrite"}
foreach ($File in $Files)
{Write-Host "Deleting file $File" -ForegroundColor "white"; Remove-Item $File -ErrorAction SilentlyContinue | out-null}
}
Else {
Write-Host "The folder $TargetFolder doesn't exist! Check the folder path!" -ForegroundColor "white"
}
}
CleanLogfiles($IISLogPath)
CleanLogfiles($ExchangeLoggingPath)
CleanLogfiles($ETLLoggingPath)
CleanLogfiles($ETLLoggingPath2)
Aufgabenplanung:
Programm:
Argument:
Achtung: Pfade bitte anpassen!
Task automatisch erstellen:SchTasks /Create /SC WEEKLY /D SAT /TN "Remove IIS logs older than 7 days" /TR "Forfiles.exe -p C:\inetpub\logs\LogFiles\W3SVC1 -m *.log -d -7 -c \"Cmd.exe /C del @path\\"" /ST 11:59
Für alte Server ohne SchTasks:at 12:00 /EVERY:Su Forfiles.exe -p C:\WINDOWS\system32\LogFiles\W3SVC1 -m *.log -d -30 -c \"Cmd.exe /C del @path\"
Wichtig: Task bearbeiten -> Ausführen auf SYSTEM ändern
Falls Exchange 2013 / 2016 Installiert, kann auch folgendes .ps1 Script benutzt werden:
(IIS & Exchange)
Achtung: Pfade bitte ggf. anpassen!
Set-Executionpolicy RemoteSigned
$days=7
$IISLogPath="C:\inetpub\logs\LogFiles\"
$ExchangeLoggingPath="C:\Program Files\Microsoft\Exchange Server\V15\Logging\"
$ETLLoggingPath="C:\Program Files\Microsoft\Exchange Server\V15\Bin\Search\Ceres\Diagnostics\ETLTraces\"
$ETLLoggingPath2="C:\Program Files\Microsoft\Exchange Server\V15\Bin\Search\Ceres\Diagnostics\Logs"
Function CleanLogfiles($TargetFolder)
{
if (Test-Path $TargetFolder) {
$Now = Get-Date
$LastWrite = $Now.AddDays(-$days)
$Files = Get-ChildItem $TargetFolder -Include *.log,*.blg, *.etl, *.txt -Recurse | Where {$_.LastWriteTime -le "$LastWrite"}
foreach ($File in $Files)
{Write-Host "Deleting file $File" -ForegroundColor "white"; Remove-Item $File -ErrorAction SilentlyContinue | out-null}
}
Else {
Write-Host "The folder $TargetFolder doesn't exist! Check the folder path!" -ForegroundColor "white"
}
}
CleanLogfiles($IISLogPath)
CleanLogfiles($ExchangeLoggingPath)
CleanLogfiles($ETLLoggingPath)
CleanLogfiles($ETLLoggingPath2)
Aufgabenplanung:
Programm:
%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe
Argument:
-command "C:\Scripts\Pfad_zum_Skript.ps1"
SBS SQL Datenbanken verkleinern: Achtung: Pfade bitte anpassen! Das Script muss zwei mal ausgeführt werden, damit die DBs effektiv kleiner werden! cd C:\Backup\ @ECHO OFF SETLOCAL rem Zeitstempel erzeugen for /f "tokens=1-4 delims=. " %%i in ("%date%") do ( set day=%%i set month=%%j set year=%%k ) for /f "tokens=1-4 delims=.:, " %%i in ("%time%") do ( set hour=%%i set minute=%%j set second=%%k set hundredth=%%l ) REM Build a list of databases to backup SET DBList=SQLDBList.txt SqlCmd -E -S \\.\pipe\mssql$microsoft##ssee\sql\query -h-1 -W -Q "SET NoCount ON; SELECT Name FROM master.dbo.sysDatabases WHERE [Name] NOT LIKE 'master' AND [Name] NOT LIKE 'model' AND [Name] NOT LIKE 'msdb' AND [Name] NOT LIKE 'tempdb' AND [Name] NOT LIKE 'SUSDB' AND [Name] NOT LIKE 'WSS_SEARCH%%'" > "%DBList%" REM Backup each database, prepending the date to the filename FOR /F %%I IN (%DBList%) DO ( ECHO Backing up database: %%I SqlCmd -E -S \\.\pipe\mssql$microsoft##ssee\sql\query -Q "BACKUP LOG [%%I] TO DISK = N'C:\Backup\SP_Config%%I' WITH NOFORMAT, NOINIT, NAME = N'Sicherung', SKIP, NOREWIND, NOUNLOAD, STATS = 10" ECHO. ) REM Shrink each database, prepending the date to the filename FOR /F %%I IN (%DBList%) DO ( ECHO Shrinking up database: %%I SqlCmd -E -S \\.\pipe\mssql$microsoft##ssee\sql\query -Q "USE [%%I]; DBCC SHRINKFILE (N'%%I_log' , 0, TRUNCATEONLY)" ECHO. ) REM Clean up the temp file IF EXIST “%DBList%” DEL /F /Q “%DBList%” ENDLOCAL
Freitag, 2. September 2016
[SQL] SQL Server Express 2014 installieren auf Foundation / Essentials mit Domäne
Als erstes, die Voraussetzungen prüfen:
https://msdn.microsoft.com/en-us/library/ms143506(v=sql.120).aspx
(Grob gesagt, alles ab Server 2008 SP2 geht)
Download des Installers von Microsoft:
https://www.microsoft.com/de-ch/server-cloud/products/sql-server-editions/sql-server-express.aspx
SQL Server Express mit Tools auswählen
Falls Server Deutsch (Schweiz) ist (=Fehler bei Start von Setup.exe bez. Sprache), die Sprache während der installation auf Deutsch (Deutschland) setzen
Bekannter Fehler, bei Server mit Domäne:
Fehler 0x851A001A
Ändern Sie den Benutzer, welcher den Dienst Datenbank Engine ausführt auf NT-AUTORITÄT\Netzwerkdienst
Danach klappt die Installation ohne Fehler
Spreache wieder auf Deutsch (Schweiz) ändern nicht vergessen!
https://msdn.microsoft.com/en-us/library/ms143506(v=sql.120).aspx
(Grob gesagt, alles ab Server 2008 SP2 geht)
Download des Installers von Microsoft:
https://www.microsoft.com/de-ch/server-cloud/products/sql-server-editions/sql-server-express.aspx
SQL Server Express mit Tools auswählen
Falls Server Deutsch (Schweiz) ist (=Fehler bei Start von Setup.exe bez. Sprache), die Sprache während der installation auf Deutsch (Deutschland) setzen
Bekannter Fehler, bei Server mit Domäne:
Fehler 0x851A001A
Ändern Sie den Benutzer, welcher den Dienst Datenbank Engine ausführt auf NT-AUTORITÄT\Netzwerkdienst
Danach klappt die Installation ohne Fehler
Spreache wieder auf Deutsch (Schweiz) ändern nicht vergessen!
Mittwoch, 10. August 2016
[SERVER][SQL] Windows eigene SQL Datenbanken verkleinern
Server 2008 SharepointXXX.LDF
oder andere Windows Internal Database sind riesig
Schnelles freimachen von Speicherplatz
(Achtung: Datei wächst wieder nach gewisser Zeit)
SQL Server Management Studio Express starten (Als Administrator starten)
Servername: \\.\pipe\mssql$microsoft##ssee\sql\query
Windows-Anmeldung
Schnelles freimachen von Speicherplatz
(Achtung: Datei wächst wieder nach gewisser Zeit)
SQL Server Management Studio Express starten (Als Administrator starten)
Servername: \\.\pipe\mssql$microsoft##ssee\sql\query
Windows-Anmeldung
Rechtsklick auf die Datenbank - Tasks -
Sichern…
Sicherungstyp: Transaktionsprotokoll
Ziel: Festplatte und Ordner hinzufügen
OK Startet das Backup
Nach dem Backup:
Rechtsklick auf die Datenbank à Tasks à Verkleinern à Dateien
Dateityp: Protokoll
OK Startet das verkleinern
Falls die Datei XXX.LDF nicht kleiner wird, Vorgang wiederholen
(Teilweise braucht es 2 Backups aus irgendeinem Grund)
Ebenfalls:
Verbinden zu:
[servername]\SBSMonitoring
Die DB kann auch riesig werden mit der Zeit
Fehlermeldung: Unzureichende Zugriffsrechte
DB Owner Setzen:
Neue Abfrage:
sp_helpdb
Wenn in der Spalte „owner“ der wert „NULL“ ist, kann mit folgendem Befehl ein neuer Besitzer gesetzt werden:
sp_changedbowner ,DOMAIN\USER’
Mit dem ersten Befehl überprüfen, ob der Besitzer korrekt gesetzt wurde
Rechtsklick auf die Datenbank à Tasks à Verkleinern à Dateien
Dateityp: Protokoll
OK Startet das verkleinern
Falls die Datei XXX.LDF nicht kleiner wird, Vorgang wiederholen
(Teilweise braucht es 2 Backups aus irgendeinem Grund)
Ebenfalls:
Verbinden zu:
[servername]\SBSMonitoring
Die DB kann auch riesig werden mit der Zeit
Fehlermeldung: Unzureichende Zugriffsrechte
DB Owner Setzen:
Neue Abfrage:
sp_helpdb
Wenn in der Spalte „owner“ der wert „NULL“ ist, kann mit folgendem Befehl ein neuer Besitzer gesetzt werden:
sp_changedbowner ,DOMAIN\USER’
Mit dem ersten Befehl überprüfen, ob der Besitzer korrekt gesetzt wurde
Abonnieren
Posts (Atom)