blog.atwork.at

news and infos about microsoft, technology, cloud and more

SQL Server 2008 Report Builder 2.0 RC1

Seit ein paar Tagen gibt es im Microsoft Download Center den SQL Server 2008 Report Builder 2.0 RC1 downzuladen. Dies ist der englische Release Candiate des neuen Report-Designers, welcher für Endbenutzer im Stil von Office 2007 (also mit Ribbons) entwickelt wurde. Damit sollen Power-User leicht eigene Reports erstellen und verwenden können, ohne Entwickler zu bemühen. Reports können damit auch direkt vom Server geöffnet und bearbeitet werden, es gibt Assistenten (next, next finish ;-)) und einen Abfrage-Builder. Ein paar frühe Screenshots finden sich auch im Blog von Steffen Krause. Der Report Builder wird sicher eine sehr interessantes Lösung! Beitrag von Toni Pohl

Kostenloses Anti-Virus-Zeugs

Für Privat-Anwender gibt es (zum Glück) mittlerweile eine Reihe von kostenlosen Virensuch- und Virenschutz-Programmen. Jörg Klemenz hat sich die Mühe gemacht, in seinem Blog C-Ko einige davon aufzuspüren (wie zum Beispiel Avast) und diese zu beschrieben und mit Links zu versehen. Sehen Sie am besten selbst im Blog hier: http://c-ko.blogspot.com/2007/02/kostenloses-anti-virus-zeugs.html

Tool gegen SQL Injection

Seit Ende Juni gibt es eine Hilfe für Entwickler und IT-Administratoren gegen SQL Injection in Websites vom Typ classic asp und zwar den Microsoft Source Code Analyzer for SQL Injection - June 2008 CTP (siehe auch Beitrag Totgesagte leben länger - so auch SQL-Injection). Das Tool benötigt das Microsoft .Net 3.0 Framework und ist ein Command line-Utility. Nach Entpacken des Download-Pakets empfiehlt sich daher ein erster Blick in Readme.html. Um eine einzelne asp-Seite zu prüfen, wird diese einfach mit dem /Input-Parameter aufgerufen: msscasi_asp.exe /Input=C:\wwwroot\myweb\login.asp Das Ergebnis könnte dann beispielsweise so aussehen: Microsoft (R) Source Code Analyzer for SQL Injection Version 1.3.30601.30622Copyright (C) Microsoft Corporation.  All rights reserved. RESULT has no typeC:\wwwroot\myweb\shopfunc.asp(600) : warning C80420: Unvalidated function parameter possibly executed. Reported by Microsoft (R) Source Code Analyzer for SQL Injection on tracked object SQL (created as THEGUID`591). Path summary:- {THEGUID}[THEGUID`591 : string_input] created on 'Parameter' (line 591)- {THEGUID}[THEGUID`591 : string_input] to {SQL, THEGUID}[THEGUID`591 : string_input] on 'Transfer' (line 599)- {SQL, THEGUID}[THEGUID`591 : string_input] to {SQL, THEGUID}[THEGUID`591 : $error] on 'Execute' (line 600): Lines: 591, 596, 599, 600 C:\wwwroot\myweb\shopfunc.asp(833) : warning C80420: Unvalidated function parameter possibly executed. Reported by Microsoft (R) Source Code Analyzer for SQL Injection on tracked object SQL (created as TABID`825).There are other instances of this error:Unvalidated function parameter possibly executed. Reported by Microsoft (R) Source Code Analyzer for SQL Injection on tracked object SQL (created as TABID`825).(line 843) ...etc. In dieser geprüften Seite werden also einige Meldungen ausgeworfen - Handlungsbedarf für den Entwickler. Das Tool kennt sechs Fehler: 80400, 80403, 80406, 80407, 80420 or 80421, wobei 80400-Warnungen die höchste Priorität besitzen und sofort behoben werden sollten. Wenn keine Meldungen ausgegeben werden, ist die Seite in Ordnung: msscasi_asp.exe /Input=C:\wwwroot\myweb\datefunc.asp Microsoft (R) Source Code Analyzer for SQL Injection Version 1.3.30601.30622Copyright (C) Microsoft Corporation.  All rights reserved. Weitere Schritte (und wie ganze Websites geprüft werden können) finden Sie in Getting started with Microsoft Source Code Analyzer for SQL Injection. Das Tool ist somit eine einfache Hilfe für den Security-Check von ASP-Websites. Beitrag von Toni Pohl

Für IT Professionals und solche, die es werden soll(t)en: Microsoft Baseline Security Analyzer 2.1

Schon ein Monat ist er alt - aber vielen (noch) unbekannt: Der Microsoft Baseline Security Analyzer 2.1 für Windows (MBSA). MBSA ist ein einfaches, kostenfreies Tool, welches ermöglicht den Sicherheitsstatus eines Windows-PCs anhand der Sicherheitsempfehlungen von Microsoft zu ermitteln. Dabei können übliche Schwachstellen und fehlende Patches entdeckt und die Systemsicherheit verbessert werden. MBSA ist vor allem für KMUs gedacht. Der Analyzer kann mit und ohne WSUS arbeiten. Das Tool enthält ein grafisches und ein Commandline-Interface und kann auch Remote Scans ausführen (also fremde PCs prüfen). MBSA 2.1 läuft ab Windows 2000 Service Pack 3 bis hin zum neuen Windows Server 2008, als x32 oder x64bit Applikation - je nach Betriebssystem gibt es mitunter einige Einschränkungen. Was ist neu an MBSA 2.1? Die neue Version unterstützt den aktuellen Windows Update Agent client (WUA - von Microsoft Update oder WSUS-Servern installiert), ebenso ein neues grafisches Interface für Vista und Windows Server 2008, vollen 64bit-Support, vulnerability assessment check support (VA - ja, was wär das Leben ohne tolle Abkürzungen?) und aktualisierte Checks für SQL Server 2005 und Windows XP Embedded platforms. Nach der Installation (als Administrator!) erfolgt die Überprüfung in einfachen Schritten: Das Ergebnis sieht dann beispielsweise so aus: Ein leicht zu lesender Report, der die einzelnen Themen übersichtlich zusammenfasst und zu jedem Thema Hinweise zur Überprüfung, zu den ermittelten Details und teilweise auch Links zur Behebung der Schwachstelle liefert. Beim Anklicken eines Links wird der entsprechende Report im Browser geöffnet. Hier geht es zum Download und zu den wirklich ausführlichen FAQs. Ein brauchbares Tool! Wir wünschen Secure Computing! Beitrag von Toni Pohl

Brauchbares SQL für HOT und COLD

Sind Sie Datenbank-Administrator oder Software-Entwickler? Interessiert Sie SQL-Server Technik? Wenn ja, dann kennen Sie wahrscheinlich Anforderungen wie diese: Hatten Sie schon einmal das Problem zwei Datenbanken vergleichen zu müssen? Oder eine Datenbank zu erweitern? Und das Ganze möglichst automatisiert? Ich habe diese Anforderung ... sehr oft. Es gibt eine Applikation, einmal HOT (Echtdaten) und einmal COLD (Demodaten) - die Benutzer verwenden HOT zum Arbeiten und COLD zum Testen. Es beginnt dann besonders interessant zu werden, wenn in der Demodatenbank neue Funktionen und Erweiterungen eingebaut werden. Diese werden getestet, Anwender geben Daten ein - und wollen dann auf einmal, dass die eingegebenen Daten in das Echtsystem übernommen werden. Leider war der Split der Datenbank-Version schon vor einem Monat und die Scripts zum Erweitern der HOT-Datenbank haben ihren Weg zum Administrator nicht gefunden. Und der steht nun da und weiß nicht, welche Schema-Änderungen durchzuführen sind, damit beide Systeme die gleichen Struktur haben, damit dann die Daten übernommen werden können. Klingt zu übertrieben? Glauben Sie mir, so etwas (und ähnliche Anforderungen) passiert in der Praxis öfters - vor allem bei rasch wachsenden Systemen. Da wäre es natürlich gut, sich helfen zu können. Zunächst einmal gibt es im SQL Management Studio im Kontextmenü immer den SCRIPT-Befehl: Diese Funktion schreibt dann beispielsweise ein ALTER des Objekts in ein File zum Ausführen auf dem Zielsystem. Das ist sehr brauchbar aber eben manuell. Wie kann Scripten und Vergleichen automatisiert werden? Hier hilft T-SQL weiter. Im SQL Server 2005 wurden die (kryptischen) Abfrage-Mechanismen des Vorgängers SQL Server 2000 durch neue Views im Schema sys ersetzt. Damit ist es nun bequem möglich, Datenbank-Objekte abzufragen. Hier nun ein paar praktische Beispiele: -- Anzeige aller Objekteselect * from sys.sysobjects order by xtype, name Liefert alle Objekte aus dem Systemkatalog. xtype gibt dabei an, um welchen Objekt-Typ es sich handelt (siehe unten). -- Anzeige aller Tables in einer DB:sp_tables -- Anzeige aller Views (0..Default Microsoft Views, 1..eigene Views):SELECT * FROM sys.all_views WHERE is_ms_shipped = 1 -- Detaillierte Anzeige aller Spalten-Informationen einer Tabelle:SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'produkte' -- SQL einer Stored Procedure anzeigen:sp_helptext 'spMeinProgramm' Durch ein JOIN mit Syscomments können auch die dahinterliegenden SQLs angezeigt werden! Somit funktioniert die Anzeige beispielsweise aller Views und der verwendeten SQL-Befehle so: select o.id, o.name, c.text from sysobjects o join syscomments c on o.id=c.id where xtype='V' order by id, colid /* -- xtype Werte:C = CHECK constraintD = Default or DEFAULT constraintF = FOREIGN KEY constraintL = LogFN = Scalar functionIF = Inlined table-functionP = Stored procedurePK = PRIMARY KEY constraint (type is K)RF = Replication filter stored procedure S = System tableTF = Table functionTR = TriggerU = User tableUQ = UNIQUE constraint (type is K)V = ViewX = Extended stored procedure*/ Mit diesen Werkzeugen können zum Beispiel alle Schemas oder SQLs (von Views, SPs od. Funcs) in eine Tabelle geschrieben werden. Diese könnte dann in einer Stored Procedure mit einer ebenso erzeugten Tabelle in einer anderen Datenbank vergleichen werden und die Unterschiede auswerfen. Oder die Tabelle als Textdatei exportiert werden und dann die beiden Files (z.B. mit Windows-Bordmitteln: fc.exe oder mit WinDiff - ja, das gibt es noch immer) verglichen werden. Die Vorgangsweise hängt natürlich vom erwünschten Ziel ab: Eine Automatisierung als Stored Procedure um alle unterschiedlichen Views, Stored Procedures und Functions auszuwerfen, oder per SSI, oder.... Also recht individuell. ;-) Der Knackpunkt für mich war, herauszufinden, wie man zu den SQL-Befehlen in den gespeicherten SQL-Objekten gelangt. Und das liefert eben das JOIN mit Syscomments zur weiteren Verarbeitung oder zum Parsen für komplexere Anwendungen (Ja, ich weiß: Die Schemata's können natürlich auch mit ADO.NET ausgelesen und verarbeitet werden - für einfache Anforderungen ist T-SQL jedoch gut geeignet). Achja, noch ein SQL zur Performance-Messung: Dynamic Management Views (DMV) liefern Informationen über den aktuellen Auslastungszustand des SQL Servers. Zum Beispiel ein Snapshot der aktuellen Aktivität eines SQL Servers: SELECT object_name, counter_name, instance_name, cntr_value FROM sys.dm_os_performance_counters WHERE counter_name IN ('Buffer cache hit ratio', 'User Connections', 'Transactions' , 'Average Wait Time (ms)', 'Transactions/sec', 'Errors/sec', 'Target Server Memory (KB)', 'Total Server Memory (KB)' )ORDER BY object_name, counter_name Diesen Output wieder periodisch in eine Tabelle schreiben, somit Daten über längere Zeiträume sammeln und mit Reporting Services auswerten. Und so weiter... SQL Server ist eine große Spielwiese ein DBMS mit vielfältigen Möglichkeiten! Beitrag von Toni Pohl

Vista klonen und starten

Zur Neuinstallation von PCs ist es (besonders bei gleichen Maschinen) sehr bequem, einen PC als Muster aufzusetzen und diesen dann zu duplizieren. In kleineren Firmen hat man jedoch oft kein Windows Deployment Services (WDS - übrigens der Nachfolger von RIS) zur Verfügung. Ohne WDS hilft dann ein manuelles Klonen mit einer eigenen Software. Das Image wird als File oder direkt auf eine andere Festplatte, DVD, auf ein anderes Speichermedium oder auch auf einen FTP-Server geschrieben und von dort wiederhergestellt. Dazu gibt es eine Reihe von Tools, beispielsweise auf der kommerziellen Seite Acronis True Image, Symantec Ghost, R-Drive Image, als Freeware Clone Maxx, DiskImage, g4u, Clone Disk Generator und viele weitere. Unter Vista kann es allerdings nach einer Image-Wiederherstellung passieren, dass der Bootloader "bootmgr" seinen Dienst verweigert und Vista nicht starten kann - dann folgt meist eine Meldung, dass winloader.exe nicht geladen werden kann. Genau das ist mir passiert. Zunächst dachte ich, dass die Clone-Software das Image nicht korrekt geschrieben hat, erst danach kam die Erleuchtung. Und diese möchte ich natürlich hier weitergeben. ;-) Wie repariert man in diesem Fall ein nicht startfähiges Vista? Starten von WinPE (Booten von der Vista-DVD) und Reparieren von Vista - das Reparatur-Programm erkennt das Startproblem im Regelfall automatisch und behebt dieses. Oder manuell in der Command-Line: bcdedit /set {bootmgr} device partition=c:bcdedit /set {default} device partition=c:bcdedit /set {default} osdevice partition=c: Eine ausführliche Beschreibung zu bcdedit finden Sie in Boot Configuration Data Editor Frequently Asked Questions. Beim Aufruf des Tools in der Vista GUI müssen Sie die Command-Line als Administrator öffnen!Ganz brauchbar: mit bcdedit /export C:\bcdbackup erstellt man beispielsweise vor solchen Manipulationen ein Backup in das angegebene File. Es existieren auch eine Reihe von freien Tools wie Vista Boot PRO und EasyBCD, welche die Bearbeitung des Bootloaders (anstelle von bcdedit) vereinfachen - siehe auch Beitrag im Vistablog. Und bei dieser Gelegenheit sollen auch die "Legacy" Windows Versionen (XP, 2000, 2003 Server) nicht zu kurz kommen: hier besteht der Bootloader aus ntdetect.com, ntldr und boot.ini. Boot.ini besitzt eine Reihe von Schaltern, zum Beispiel für die Verwendung von mehr als 3GB RAM unter 32bit Betriebssystemen. Diese finden Sie in Boot INI Options Reference aufgelistet und erklärt. Happy starting! Beitrag von Toni Pohl

Was kommt raus, wenn man die Outlook "Inbox" umdreht?

Die Antwort ist verblüffend einfach: "Xobni" (sprich "Zob-ni"). So nennt sich eine amerikanische Mini-Firma aus San Francisco, bestehend aus einer Handvoll Jung-Zwanzigern, die ein cooles PlugIn für Microsoft Outlook entwickelt haben. Was kann das PlugIn? Xobni installiert ein eigenes Panel in Outlook und spart Zeit, indem es emails, Kontakte und Attachments indiziert, in Verbindung setzt und eine schnelle Suche darauf ermöglicht. Was ist das Besondere an Xobni? Nun, zunächst einmal hat sogar Bill Gates das Tool Xobni als "the next generation of social networking" bezeichnet.Warum? Weil Xobni für jede E-Mail, jedes Attachment und jede Person ein Profil erstellt und diese Informationen in Beziehungen umsetzt. Das wiederum ist Basis für die schnelle und umfangreiche Suche in einer aufgeräumten Microsoft-konformen Oberfläche. Das PlugIn läuft unter Windows XP oder Windows Vista mit Office 2003 und Office 2007 und benötigt das Microsoft .NET Framework 2.0 oder höher. Alle System-Voraussetzungen finden sich in den FAQs. Für den persönlichen Gebrauch ist Xobni gratis. Der Download ist hier zu finden. Die Installation erfolgt mit ein paar Klicks in gewohnter Next-Next-Finish-Manier. Beim ersten Starten von Outlook beginnt das erstmalige Indizieren.   Also gleich mal downloaden und ausprobieren...(Dummerweise bin ich gerade über VPN, einem anderen User-Profil und im Nicht-Cached-Modus mit meinem Exchange-Server verbunden - das dauert natürlich... aber nach etwa 15 Minuten waren meine 6000 mails auch über die langsame ADSL-Leitung geladen und indiziert.) Nun, hier mal der Überblick über die Funktionalität: Während Xobni mein Postfach indiziert bin ich gerade begeistert, dass auch Statistiken erzeugt werden: Ich antworte meinem Kontakt "Herbert" durchschnittlich innerhalb von 6 Minuten auf seine E-Mails - das ist meine beste durchschnittliche Antwortzeit - nicht wirklich wichtig, aber interessant! Beim Indizieren sucht das Tool auch nach den Kontaktdaten der E-Mail Absender und Sender, extrahiert gleich deren Kommunikationsdaten und es werden die Statistiken erzeugt. So, fertig indiziert macht die Verwendung schon richtig Spaß.Das Xobni-Panel integriert sich in Outlook.So sieht´s aus. Bemerkenswert: Xobni versucht, Telefonnummern nicht nur von den eigenen Kontakten, sondern auch aus dem E-Mail-Body und E-Mail Signaturen zu lesen und zum Profil hinzuzufügen!Das Quickinfo auf die Telefonnummer zeigt, von wo die Telefonnummer ermittelt wurde. Was mir sehr gut gefällt: es ist sofort in der Statistik ersichtlich, wie viele E-Mails an den Kontakt gesendet (hier: OUT 34) und vom Kontakt empfangen wurden (hier: IN 102) wurden, und auch zu welchen Zeiten mit dem Kontakt kommuniziert wird (hier: zu den üblichen Büro-Arbeitszeiten, mit Spitzen um die Mittagszeit).Nebenbei gibt´s auch noch einen Rang (hier: Rank: #10) - wohl gereiht nach Anzahl der E-Mails. In der Gruppe xy´s  Network sind alle Kontakte der angezeigten Person sichtbar - und klickbar. Hier kann man sich schön "durchklicken" und so von Kontakt zu Kontakt springen wie im Screenshot oben: Gregor - Martin - Franz - Bernd - usw.   Beim Öffnen der "Conversations" - also der E-Mails - gibt´s einen hilfreichen Schieberegler, der die Größe der angezeigten E-Mai-Inhalte steuert. Praktisch!Das Gute dabei: Nachdem Xobni ein eigens Panel in Outlook öffnet, ist die Original-Nachricht in der Outlook-Vorschau immer sichtbar. Somit kann man sich leicht darauf beziehen oder Inhalte kopieren.Der Back-Button zeigt wie gewohnt einfach jeweils die vorige Seite an. Fürs Handling sehr praktisch. Conversations öffnet die markierte E-Mail und zeigt gleich Links zum Ansehen, Antworten etc. Sehr hilfreich: Keine Suche nach Attachments mehr!Im Panel unterhalb der Conversations werden automatisch alle Attachments in einer Liste angezeigt. Die Suche in Xobni funktioniert - wie in Outlook selbst - erwartungsgemäß schnell während der Eingabe. Last but not least: Analytics - Statistik auf Knopfdruck.Hier muss man sich durchklicken - so umfangreich werden die E-Mail und Kontakt-Zahlen auf Tag, Woche, Monat, Jahr sowie die Durchschnittswerte berechnet und dargestellt.Nun gibt´s eine Statistik über meinen E-Mail-Verkehr. Auch ganz hübsch: das eingeklappte Xobni-Panel mit Überblick über das Postfach bzw. den aktuellen Ordner.Ein kleiner Wehrmutstropfen: Das Xobni-Panel selbst kann im geöffneten Zustand nicht mehr verschmälert werden. Ein Widescreen macht (aber generell auch bei Outlook) Sinn ;-) Links: www.xobni.com Auch die New York Times berichtet über Xobni Suche nach Beziehungen im blog von Thomas Lutz Hands-on with Xobni: make Outlook more productive, social softundtippsblog.lutz-nelde.de Fazit: Für intensive Outlook-Benutzer - und wer ist das nicht ;-) - ein interessantes PlugIn, das wert ist, angeschaut zu werden: . Viel Spaß! Beitrag von Toni Pohl

Der ultimative Viren-Scanner

Für Nicht-kommerziellen-Home-Use gibt es eine Reihe von Empfehlungen für den Virenscanner avast. avast des tschechischen Software-Herstellers ALWIL besitzt eine integrierte Anti-Spyware, Anti-Rootkit und eine Selbstschutzfunktion. Das Setup ist sehr einfach und das look & feel ansprechend - sprich einen Tipp wert! avast kann bis zu 60 Tage lang getestet werden, für die private Benutzung zu Hause ist danach nur eine Online-Registrierung nötig. Siehe auch die Artikel in Vistablog und WinFuture. Hier gehts zur Download-Seite von avast Home.

Aus Alt mach Neu in SQL Server Reporting Services

Auch wenn mittlerweile SQL Server 2008 in den Startlöchern steht - die Realität sieht zumeist (viel) älter aus. So hatte ich vor kurzem einen Datenbankumstieg, wo von einem alten Datenbankserver auf einen neuen zu migrieren war. Die Datenbank selbst war zwar SQL Server 2005, das war jedoch ein Upgrade von einem SQL Server 2000. Eigentlich kein Problem, doch passten die (beim 2000er SQL Server noch zusätzlich zu installierenden) Reporting Services nicht zur DB-Version 2005 und waren noch RS 2000 SP2. Die Reporting Services (RS) sind übrigens Bestandteil des SQL Servers und bieten Report-Erstellung, Management und eine skalierbare Bereitstellung. Eine Weboberfläche am Reporting Server dient zur Administration, die Bereitstellung kann per URL oder auch per Webservice erfolgen. Nachdem es bei unserer Umstellung ein paar Stolpersteine gab, hier ein paar Tipps für den Umstieg SQL Server 2000 Reporting Services auf 2005. Die RDL-Syntax: Die Übernahme der Reports in die neuen SQL 2005 RS war problemlos, außer dass ich die Erfahrung gemacht habe, dass RS 2005 Syntax-Fehler nicht verzeiht. So kam bei einem Report ein Fehler in einer "Hidden"-Eigenschaft (das wars auch schon mit dem Hinweis, wo der Fehler zu suchen war). Nach Ansicht der Report-Codeansicht mit Taste F7 und manuellen Durchsehen aller Hidden-Ausdrücke war der Schuldige identifiziert: =iif(trim(Fields!SEM_Text1.Value) <> "", Fields!SEM_Text1.Value, "") Nun Hidden erwartet True oder False - in meinem Fall stand hier aber fälschlicherweise ein Stringausdruck. Klar, so kann das nicht funktionieren. Also Zeile(n) ausbessern und ausprobieren: =iif(trim(Fields!SEM_Text1.Value) <> "", False, True) Jetzt funktioniert der Report auch in 2005. Fein! Noch ein Hinweis zum RDL-Format: Mit 2005 wurde das RDL-Format erweitert und ist nicht mehr abwärtskompatibel. Report-Dateien (.rdl) für RS 2005 können aber nach wie vor mit Visual Studio 2003 erstellt und verändert werden. Reports aus VS 2005 werden jedoch im Format RS 2005 gespeichert. Diese Reports können dann nicht mehr mit VS 2003 bearbeitet werden. RS versteht aber beide Formate. Nach Lösen dieses Problems kam dann eine weitere Hürde. Automatisiertes Erstellen von Reports per Script: In unserem Szenario haben wir einfache Scripts mit dem RS.exe Tool verwendet, um Reports zu bestimmten Zeiten automatisch als PDF-File zu erstellen. Eigentlich eine sehr praktische Sache. Dummerweise klappten die Scripts mit RS 2005 nicht mehr... Der Aufruf von rs.exe per Scheduled Tasks erfolgt so: C:\>rs -i D:\Tasks\testrs.rss -s http://db1/ReportServer$atwork test.rss ist ein VB Script, welches vom .NET VB-Compiler verarbeitet wird: ' File: testrs.rss by atworkDim format as string = "PDF"Dim fileName as String = "D:\Tasks\myreport.pdf"Dim reportPath as String = "/mydir/myreport"Public Sub Main()    ' Prepare Render arguments    Dim historyID as string = Nothing    Dim deviceInfo as string = Nothing    Dim showHide as string = Nothing    Dim results() as Byte    Dim encoding as string    Dim mimeType as string = "pdf"    Dim warnings() AS Warning = Nothing    Dim reportHistoryParameters() As ParameterValue = Nothing    Dim streamIDs() as string = Nothing    rs.Credentials = System.Net.CredentialCache.DefaultCredentials    ' Report with Parameters     Dim parameters(0) As ParameterValue    parameters(0) = New ParameterValue()    parameters(0).Name = "id"    parameters(0).Value = "1234"    results = rs.Render(reportPath, format, Nothing, Nothing, parameters, Nothing, Nothing, encoding, mimeType, reportHistoryParameters, warnings, streamIDs)    ' Open a file stream and write out the report     Dim stream As FileStream = File.OpenWrite(fileName)    stream.Write(results, 0, results.Length)    stream.Close()End Sub Der RS-Aufruf erzeugte den Fehler: Microsoft (R) Visual Basic Compiler version 8.0.50727.832 for Microsoft (R) .NET Framework version 2.0.50727.832 Copyright (c) Microsoft Corporation.  All rights reserved.C:\Documents and Settings\atwork\Local Settings\Temp\1\zv3y0cit.1.vb(60) : errorBC30456: 'Render' is not a member of 'Microsoft.SqlServer.ReportingServices2005.ReportingService2005'.    results = rs.Render(reportPath, format, Nothing, Nothing, parameters, Nothing, Nothing, encoding, mimeType, reportHistoryParameters, warnings, streamIDs)              ~~~~~~~~~ Ok, also die Render-Methode funktioniert angeblich nicht mehr. Also nach der Ursache forschen. Hier hatte ich netterweise Hilfe von Markus Oswald, unserem Microsoft PTC (Partner Technical Consultant), der mir auch den entscheidenden schnellen Workaround lieferte: RS 2005 läuft gegen den neuen 2005er SOAP Endpoint. Zum Glück wird der "alte" RS 2000 Endpoint des Webservices noch weiter unterstützt. Dazu ist nur bei Aufruf des RS-Tools der Schalter "-e mgmt2000" anzuhängen, um den alten Endpoint aufzurufen. Simple as that! C:\>rs -i D:\Tasks\testrs.rss -s http://db1/ReportServer$atwork -e mgmt2000 So klappt der Aufruf des neuen RS-Tools (und der Kunde freut sich darüber, dass es eine schnelle, einfache Lösung gibt und die automatisierten Dokumente wieder verfügbar sind)! Auch wenn das nur einer (von vielen) Lösungswegen ist (kurz dachte ich darüber nach, ein eigenes kleines .net Tool für die Konsumation des RS-Services zu schreiben...), zählte im aktuellen Fall die rasche Lösung und die gewohnte Funktionalität. Es führen viele Wege zu Reporting Services 2005! Beitrag von Toni Pohl

Boot-Medium erstellen, OS reparieren, Tools und mehr

Ist ihr Betriebssystem defekt? Brauchen Sie ein Helferlein? Bootdisk oder Boot-CD nötig? Booten vom USB-Stick? Schauen Sie doch mal auf Bootdisk.com! Achja, das c´t Magazin bietet die aktuelle Version von BART PE zum Download an. Dabei sind in der neuesten Version von Bart PE in der "PE Builder c't-Edition 3.1.10a Spezialversion" auch viele nützliche Tools, von Antivir 2008 bis zum Hardwaretest und zur Surfstation mit Windows PE enthalten (siehe auch c´t Magazin 26/2007, S. 104).

Virtual Server VHD Files vergr&ouml;&szlig;ern

Jeder, der Virtual Server einsetzt kennt wahrscheinlich das Problem: Die Anforderungen wachsen und die virtualisierten Systeme werden irgendwann einmal zu klein. Windows Updates (WU) tragen ihren Teil dazu bei. So ist es auch mir passiert. Vor etwa 2 Jahren habe ich begonnen, viele virtuelle Windows Server-Systeme für verschiedenste Zwecke und Funktionen anzulegen - damals mit einer 16GB großen Systempartition C: (ich war der naiven Meinung, dachte das genügt für alle Zeiten ;-), während die Daten (SQL Server Datenbanken, Webs etc.) immer auf einer eigenen Datenpartition D: liegen, Logs auf E: und so weiter. Nun, die Zeit und WU sind gekommen, wo der Platz auf der Systempartition mit 16GB zu eng geworden ist. In meinem Fall konnte z.B. das Visual Studio 2005 Service Pack 1 für SQL-BI nicht mehr auf dem Rechner installiert werden, weil (hust) nur mehr 200MB frei waren. Klar, zuerst wird einmal das Pagefile mit 2GB auf eine andere Platte verschoben. Dann folgen Systembereinigung, Entfernung alter Patches, Temp-Files und diverse auf C: gelagerte Installs. Hilft ... kurze Zeit. Nach ein paar Wochen stand ich vor demselben Problem. Diesmal hatte ich allerdings keinen Optimierungs-Spielraum mehr - es war einfach zu wenig Platz. Also, wie schafft man neuen Festplatten-Platz? Nun hierzu gibt es eine ganze Reihe von Ansätzen und Lösungsmöglichkeiten. Ich wollte eine praktikable Lösung, die einfach und nach Möglichkeit kostenlos ist. Ich habe sie nun gefunden! Da mir mein Lösungsweg sehr praktikabel erscheint, hier nun die step-by-step Anleitung. Das Resizing Zuerst das Tool VHD Resizer von vmToolkit  auf dem eigenen Rechner oder auf dem Virtual Server installieren (Vielen Dank übrigens an Peter Forster für den Tipp zum Tool!). VHD Resizer ist ein kostenloses Tool und kann VHD-Files vergrößern und verkleinern und den Datenträger-Typ ändern, also ein sehr hilfreiches Werkzeug für virtuelle Welten. Nun wird das Tool gestartet, das VHD-Quellfile ausgewählt, das VHD-Zielfile eingetragen und dynamic oder fixed gewählt und die neue Zielgröße angegeben. Mit Resize wird der Vorgang gestartet.In meinem Beispiel sieht das dann so aus: Im ersten Schritt wird die neue Festplatte mit der angegebenen Größe erzeugt: Danach werden vom Tool die Sektoren in die neue VHD kopiert:  Dieser Vorgang dauert je nach Größe und Performance einige Minuten bis Stunden, auf meinem Server-System mit SATA Festplatten warens für die Verdoppelung der Festplatte von 16GB auf 32GB etwa 20 Minuten. Wenn der Vorgang abgeschlossen wurde, folgt der nächste Schritt. VHD Resizer legt eine größere Festplatte an - belässt die Partitionen allerdings so, wie sie waren! Das Ändern der Partition muss der Administrator dann also selbst erledigen. Das Partitionierungs-Tool Um es gleich vorweg zu nehmen: Es ist natürlich nicht ganz so trivial wie ich dachte... Es gibt ein Commandline-Tool diskpart.exe, welches Partitionen vergrößern und verkleinern kann. diskpart ist Bestandteil von Windows XP und Windows Server 2003 und natürlich auch ein einer erweiterten Form in Windows Vista enthalten. Siehe dazu auch "Verwenden von "Diskpart.exe" zum Erweitern eines Datenträgers unter Windows Server 2003, Windows XP und Windows 2000". Die Systempartition neu partitionieren Diskpart hat allerdings einige Einschränkungen. Das Erweitern funktioniert aber nicht für ... die Systempartition. Wenn es sich nicht um die Systempartition handelt, kann diskpart einfach im Gastsystem selbst aufgerufen werden. (Murphy´s Law hat wieder zugeschlagen, denn in meinem Fall brauche ich das Ganze natürlich genau für die Systempartition.) Mal schnell die grauen Zellen anstrengen - und das Internet durchsuchen. Die Lösung dafür ist genauso einfach wie zunächst unvermutet: Was hindert mich daran, die neue VHD in eine bestehende Windows Maschine hinzuzuhängen und dort diskpart auf dieses Volume auszuführen? Also, gleich ausprobieren: Eine weitere Maschine auf meinem Virtual Server nehmen und dort in deren Configuration die Festplatte (bei mir als Disk 3 hinzufügen): Nun wird die "Hilfsmaschine" gestartet und mit RDP eine Verbindung dazu hergestellt. Schauen wir gleich mal nach, wie das neue Volume aussieht: Manage Computer und Disk Management. Ahja, die logische Festplatte ist nun tatsächlich 32GB groß und die Partition 16GB. Es sind also noch 16GB zu "allozieren". Jetzt wird ein Commandline-Prompt geöffnet und diskpart aufgerufen, danach list volume. Der folgende Screenshot zeigt recht übersichtlich die aktuelle Belegung und den Aufruf: diskpart list volume Nun das zu vergrößernde Volume erkennen und auswählen. In meinem Beispiel ist das Volume 0 (mein Drive E:). select volume 0 Und jetzt kommts: extend Und das ausgewählte Volume wird sofort auf die verfügbare Größe erweitert! Ich war überrascht und sehr angetan, dass dieser Vorgang blitzschnell ausgeführt war. extend besitzt übrigens auch Parameter, u.a. size=n (in MB), um die neue Größe selbst anzugeben. Mit exit aus dem diskpart-Tool aussteigen und die Hilfsmaschine herunterfahren. Danach wird im Virtual Server Webinterface das neue Volume wieder mit Remove und OK von der Hilfsmaschine in deren Configuration entfernt: Zu allerletzt wird noch in meinem RDP zur Virtual Server Maschine das neue VHD von MinniSystem32.vhd auf MinniSystem.vhd umbenannt. Ich empfehle die "alte" VHD aus Sicherheitsgründen immer aufzuheben, daher benenne ich sie ebenfalls auf MinniSystem16.vhd um. So, das wars. Nun die virtuelle Maschine neu starten und ausprobieren! Und es hat bestens funktioniert: Ich habe wieder 16GB freien Speicherplatz auf meiner Systempartition! Jetzt können sie kommen, die neuen (Windows) Updates. ;-) Beitrag von Toni Pohl

Tafiti - Suchergebnisse mit Silverlight

Seit 22. August ist Tafiti online. Tafiti ist eine experimentelle Suchmaschine basierend auf Live Search, welche eine Weboberfläche mit Microsoft Silverlight bietet. "Tafiti" ist Suaheli und steht für "forschen" (der Name klingt ja schon cool und neu). Die Oberfläche wird noch als Beta-Version ausgegeben, funktioniert aber bestens. Für die Anzeige der Website ist das aktuelle Silverlight-PlugIn erforderlich. Wenn dieses noch nicht installiert ist, folgt eine Download-Möglichkeit mit Installation. Die Suchmaschine präsentiert sich mit einer gewohnten Textbox und anklickbaren Kategorien (Books, Feeds, News, Images und Web). Suchergebnisse können mit Drag & Drop einfach im rechten Bereich gemerkt werden. Die Links können selbst mit einem "Label" versehen werden. Ein Klick auf den gemerkten Link zeigt eine Kurzinfo der Website. Dazu gibts noch eine Fülle von weiteren Möglichkeiten (siehe FAQs).   In einem kurzen Walk-Through (in Silverlight-Streaming-Technologie) werden die Möglichkeiten von Tafiti schön gezeigt.Suchen Sie mal in Tafiti nach tafiti und experementieren Sie ein wenig mit den Suchergebnissen und Möglichkeiten! Schon eine Vorläufer-Version Ms. Dewey -  wer´s noch nicht kennt unbedingt mal vorbeischauen :-) - und nun Tafiti zeigen Microsofts Interesse und Forschung in Hinblick auf kommende Suchmaschinen-Technologien und -Visualisierungen. Schauen Sie rein! Beitrag von Toni Pohl