Grade in dieser Sekunde … HASS. 91 Minuten (!) HASS. Danke Microsoft, danke.
Archiv der Kategorie: Microsoft
vSphere erzeugt beim Snapshots-Erstellen NTFS-Fehler auf Windows-Servern (Event 50/57/137 …)
Problem
Das Erstellen eines oder mehrere Snapshots, zum Beispiel durch Backupsoftware (Veeam, R2Data, Tivoli …) erzeugt Fehler und Warnungen im Eventlog des Windows-Servers:
- ID 50 NTFS Warning, delayed write failed / delayed write lost
- ID 55 NTFS Fehler, In der Dateisystemstruktur wurde eine Fehler erkannt
- ID 57 NTFS Warning, failed to flush data to the transaction log. Courruption may occur.
- ID 137, NTFS Error, The default transaction resource manager on volume [] encountered a non-retryable error
- ID 140, NTFS Warning, failed to flush data to the transaction log. Courruption may occur in VolumeID:
- ID 12289 VSS Error, Volume Shadow Copy Service error: Unexpected error DeviceIOControl
Je nach Umstand können sogar echte Daten verloren gehen (unter Umständen sogar eine korrupte Datenbank). Die vmware-Version (vSphere 4/5/6, vRealize …) ist dabei irrelevant.
Lösung
Der Fehler liegt eigentlich am Windows Server und ist Microsoft bekannt (http://kb.vmware.com/kb/20068499). Eine Hotfix-Lösung gibt es leider (noch) nicht, aber bevor man mit defekten Daten hantiert und diese am Ende noch kaputt sichert, sollte man bei den betroffenen Systemen auf die quiescence verzichten:
- Config-Datei für die vmware Tools bearbeiten (oder erstellen, wenn nicht vorhanden)
C:\ProgramData\VMware\VMware Tools\Tools.conf
- Diese Zeilen einfügen:
[vmbackup] vss.disableAppQuiescing = true
- Dann den vmware Tools-Dienst neu starten
Und schon laufen externe Snapshots ohne Quiescence auf diesem System. Hoffentlich wird das bald gefixt …
Unter Windows 7/8/10 als User nach Active-Directory Benutzern suchen
Die Active-Directory Suche hat sich im Laufe der Windows-Versionen zwar ein bisschen verändert, aber nie wirklich viel. Nur das per Click erreichbare Frontend wurde mehrfach angepasst.
So lassen sich innerhalb der Windows 7 „Startmenü-“ Suche keine Active Directory-Objekte wie Personen oder Gruppen mehr suchen. Das ist in der Regel eher ärgerlich, wenn die Informationen eines Benutzers aus dem AD auch für die interne Kontaktverwaltung oder Telefonlisten im Unternehmen verwendet werden. Unter Windows 10 ist die Suche komplett verschwunden, man kann diese über das Startmenü überhaupt nicht mehr erreichen.
Ein bisschen versteckt sind die Suchfunktionen aber auch noch in Windows 7/8/10 noch vorhanden – muss ja auch, wie sollte ein Benutzer sonst Dateisystemsrechte vergeben können?Un so geht das Suchfenster auf:
%SystemRoot%\SYSTEM32\rundll32.exe dsquery,OpenQueryWindow
Hier lässt sich nach wie vor durch die Eingabe des Namens (oder teilen davon) nach Benutzern, Kontakten, Gruppen und weiteren Objekten im Active Directory suchen ud die Listen auch noch filtern.
Microsoft SQL Server alle Datenbanken (Datenbankdateien) verkleinern
Problem
Einige Datenbanken (=Datenbankdateien) in einem SQL-Server sind extrem gewachsen und belegen nach Leerung nun immernoch viel physikalischen Speicher. Man kann natürlich jede Datenbank im Management Studio einzeln anklicken und unter „Tasks“ auf „Verkleinern“ klicken oder ein DBCC-Kommando in jeder Datenbanka ausführen, bei vielen Datenbänken in einer Instanz dauert das aber extrem lange.
Lösung
EXEC sp_MSForEachDB 'DBCC SHRINKDATABASE (''?'' , 0)'
Achtung! Es ist fast nie sinnvoll, Datenbankdateien einfach-mal-so zu verkleinern. Indizes und die Datenbank selber werden dann bei Aktivität in der Regel stark fragmentiert, was wahnsinnig auf die Performance durchschlägt. Für eine Virtualisierung, verschieben, eine Sicherungskalkulation oder bei Vorgängen die geplant viele Daten entsorgen, kann das aber auch durchaus hilfreich sein. Im Zweifel vorher einen (fähigen) DBA fragen.
Office 365 Powershell Download/Setup/Installation
Die Windows PowerShell für Office 365 ist ein sehr leistungsfähiges Tool. Erweiterbar wie ein IBM Universal Business Adapter und in etwa auch so komplex. Es gibt einen Punkt in der Lernkurve, an dem Anfänger häufig den Faden verlieren; dies passiert in der Regel nach dem Erlernen der einfachsten Cmdlets und bevor die Erstellung nützlicher Lösungen vollständig verstanden worden ist. Es ist eine einfache Sache „Get-Process“ auszuführen, aber eine andere eine Reihe von Cmdlets in eine Pipeline für einen Remotecomputer einzureihen, um eine Aktion remote auszuführen. Grade Office 365 ist beispielsweise nicht vollständig in die „Ausliefershell“ integriert und benötigt einige zusätzliche Module und die Initialisierung der Remote-Shell.
So gehts auf in die Office 365 Powershell
- Betriebssysteme unter Windows7/2008R2 brauchen WinRM2.0 mit der Powershell 2.0
- Download und Installation „Microsoft Online Services Sign-in Assistant„
- Download und Installation „Azure Active Directory (AD) Module „ (x64, eine 32-bit-VErsion gibt es noch, wird aber nicht mehr supported)
- Optional: „SharePoint Online Module“ (Zur Sharepoint-Verwaltung)
- Optional: „Skype for Business Online Module“ (Zur
LyncSkype for Business Verwaltung)
Verbindung zur Office 365 Powershell
$credential = get-credential Import-Module MSOnline Connect-MsolService -Credential $credential
Verbindung zur Skype for Business Powershell
Import-Module LyncOnlineConnector $lyncSession = New-CsOnlineSession -Credential $credential Import-PSSession $lyncSession
Verbindung zur Sharepoint Powershell
Import-Module Microsoft.Online.Sharepoint.PowerShell Connect-SPOService -url https://contoso-admin.sharepoint.com -Credential $credential
Verbindung zur Exchange Powershell
$ExchangeSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri "https://outlook.office365.com/powershell-liveid/" -Credential $credential -Authentication "Basic" -AllowRedirection Import-PSSession $ExchangeSession
Verbindung zu den Office 365 Onlinediensten via Poweshell-Function
function Connect-O365 { <# .Synopsis Connects powershell to Office 365 .DESCRIPTION Use this to connect powershell to Office 365. You will be prompted for credentials. .EXAMPLE Connect-O365 #> Set-ExecutionPolicy RemoteSigned $Cred = Get-Credential $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $Cred -Authentication Basic -AllowRedirection Import-Module (Import-PSSession $Session -Allowclobber) -Global Connect-MsolService -Credential $Cred }
(Danke Alex)