Schlagwort-Archive: SQL

WSUS Content Ordner bereinigen

Ab und zu kann es mal notwendig sein den WSUS Content Ordner zu bereinigen. Entweder um „Altlasten“ zu entfernen oder um korrupte Patchdateien zu löschen.

Wie arbeitet der WSUS bei der Bereitstellung?

Zunächst lädt der WSUS Server nur die Metadaten der Upadtes herunter. D.h. es wird zuerst nur die Paketinformation geladen.
Nachdem man das Patch bestätigt hat (entweder händisch oder per Autoaccept) wird nun das eigentliche Update heruntergeladen.
Dieses Patch liegt dann in WSUS-Content.

Wie wird das jetzt bereinigt?

  1. WSUS Content Ordner bereinigen
    In den Diensten auf dem WSUS Server beendet man den „Update Service“ Dienst. Danach öffnet man das Verzeichnis WSUSContent (z.B. C:\WSUS\WsusContent) und löscht alle Unterordner. Am besten STRG-A (alles auswählen) und HOCHSTELLTASTE-Entf (ohne Papierkorb löschen).
    Jetzt den „Windows Update“ Dienst wieder starten.
  2. Update Reset durchführen, um WSUS wieder betriebsbereit zu bekommen.
    Jetzt öffnet man die Konsole (CMD) und gibt folgendes ein:
    cd „%SystemDrive%\Program Files\Update Services\Tools\“
    Damit befindet man sich jetzt im Tools Verzeichnis des WSUS Servers.
    Jetzt folgenden Befehl absetzen:
    WsusUtil.exe reset
    Jetzt sollte man dem Server etwas Zeit lassen, um sich neu zu organisieren. Jetzt werden alle Einträge in der Datenbank geprüft und verifiziert, ob die Datei im WSUSContent Ordner verfügbar ist. Ist das nicht der Fall, wird ein BITS* Auftrag gestartet, um die Datei bei Microsoft zu laden.
    So rein optisch passiert jetzt erst einmal nicht viel, aber nach einer Zeit sieht man, dass im WSUS Content Ordner wieder Unterordner angelegt werden.

    Quelle: blogs.technet.microsoft.com
    * BITS – Background Intelligent Transfer Services – mehr Info unter wsus.de

MSSQL: Computeraccount als Login hinzufügen

Problem:
Während eines Umzuges der lokalen SQL-Datenbank eines WSUS-Servers auf einen dedizierten SQL-Server musste auf dem neuen Server laut Microsoft technet Anleitung das Computerkonto als Login eingetragen werden.
Wählt man den Sicherheitsbereich des SQL-Servermanagers aus, kann man kein Computerkonto (COMPUTERNAME$) auswählen.

Lösung:

Man öffnet eine neue Abfrage für die Instanz und gibt folgendes ein:

— Erzeuge ein Login für den Machinen Account
CREATE LOGIN [Domain\machine_name$] FROM WINDOWS
GO

Damit wird ein Computerkonten-Login erzeugt. Jetzt kann man dem Computer-Account die notwendigen Berechtigungen und Zuordnungen zuweisen.

Wenn man das noch prüfen will, schaut man am besten mal nach

SELECT * FROM sys.server_principals WHERE name LIKE ‚Domain\machine_name%

MSSQL: Feststellen des SQL Server 2012 Testzeitraumes

Oftmals – zur recht – als Zeitbombe bezeichnet:

Der Testzeitraum des SQL 2012 Servers 🙂

Sollte man es versäumen nach der Installation einer Testlizenz den echten Key zu verwenden, bekommt man nach 180 Tagen dieses Fenster zu sehen:

Evaluation Period expired

Um das zu umgehen, sollte man sich nach erfolgreicher Installation gleich einen Merker setzen, der auf die ablaufende Lizenz hinweist.
Ist dies nicht geschehen, weil man evtl. einen Server „geerbt“ hat, um den sich bislang jemand anderes gekümmert hat, hat man da evtl. ein Problem.

Habe ich eine Testversion?

Im Microsoft SQL Server Management Studio kann man sich per Rechtsklick auf den Server die Eigenschaften anzeigen lassen. Dort sieht man auch die Produktversion.

 

Wie bekommt man jetzt das Ablaufdatum heraus?

1. T-SQL Abfrage

Folgende Abfrage liefert dem Termin im Klartext:

SELECT
    create_date AS 'SQL Server Install Date',
    DATEADD(DD, 180, create_date) AS 'SQL Server Expiry Date'
FROM sys.server_principals
WHERE name = 'NT AUTHORITY\SYSTEM'
2. Die Registry
Selbstverständlich liegen die Informationen auch noch einmal in der Registry ab.
Unter HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products muss man nur nach „SQL Server 2012“ suchen lassen, um dann den Eintrag „InstallDate“ zu sehen.
Das Datum ist im Format JahrMonatTag hinterlegt. Also z.B. 20140826
Das Ganze jetzt mit 180 Tagen addieren und schon ist man am Ziel. 🙂
3. Die Installationszusamenfassung „Summary.txt“
Während der Installation wird unter
C:\Program Files\Microsoft SQL Server\110\Setup Bootstrap\LOG\
eine Summary.txt angelegt, in der eine Zusammenfassung der SQL-Installation liegt.
Dort findet man im Bereich „Overall Summary“ die „Start time“, die der Evaluierung zugrunde liegt.
Ferner findet man hier auch noch Informationen über die installierte Version unter „Package Properties“.
Also muss man zum Installationsdatum noch 180 Tage addieren und schon hat man den Ablauftermin.

SQL 2005: Systemplatte voll – große modellog.ldf Datei

Problem:

Auf einem SQL 2005 Server läuft die Systemplatte C: voll. Die Anwendungs-Datenbanken liegen aber auf anderen Plattenbereichen.

Lösung:

Per TreeSizeFree (Portable) habe ich mal die dicksten Dateien anzeigen lassen.
Bei zwei Instanzen gab es sehr große „modellog.ldf“ Daten.

Also erst einmal eine Vollsicherung der model gemacht.

Danach noch einmal

BACKUP LOG MODEL WITH TRUNCATE_ONLY

und

ALTER DATABASE model SET RECOVERY SIMPLE
GO
USE model
GO
DBCC SHRINKFILE(‚modellog‘, 2)
GO

Damit war der Spuk vorerst vorbei.
Die ‚model‘ Datenbanken sind jetzt unter genauerer Beobachtung.
Das Wiederherstellungsmodell ’simpel‘ ist bei mir kein Problem, da ich ohnehin für jede Datenbank noch Einstellungen vornehme. Da sollte es einem schon auffallen, wenn es da keine Transaktionsprotokollsicherung gibt. 🙂

SQL: Online SQL Statements testen

Wenn man mal auf die Schnelle ein paar SQL Befehle probieren will, sollte man sich die Seite w3schools.com anschauen.

Dort bekommt man neben der Beschreibung des jeweiligen SQL-Befehls auch gleich die Möglichkeit das Ganze online zu testen.Damit erspart man sich das Anlegen einer Testdatenbank.

Also zum Beispiel

SELECT * FROM Customers;
erhält man einen Link namens „Try it yourself„, bei dem man das dann probieren kann.