blog.atwork.at

news and infos about microsoft, technology, cloud and more

SQL - wie speicherst du? Oder: Planen eines SQL Server Systems

Die heute übliche Hardware für ein SQL Server System wird zumeist schon von Beginn an sehr groß dimensioniert: Quadcore-(Multi)-CPUs, 64bit-System, 4GB oder mehr RAM und große, schnelldrehende Festplatten (SAS, SAN & Co) vielleicht sogar mit einem RAID 10 (bitte kein RAID 5...). Damit ist im Regelfall ausreichend Kapazität vorhanden, um auch größere Datenbanken vernünftig betreiben zu können. Wenn sich ein Engpass ergibt, so kann das meist durch weitere CPUs und mehr RAM behoben werden. Aber wie ist das mit der Festplatten-Performance? Lässt sich diese weiter steigern? Nachdem kaum eine Datenbank komplett im Speicher gehalten werden kann, ist das Auslagern, Nachladen, Indizieren und Schreiben von Transaktionen und Commitment ein wichtiger Index für die Gesamt-Leistung des SQL Systems. Und oft ist der Flaschenhals im IO-Subsystem zu finden! Oder umgekehrt: Kann man auch schon im Vorhinein Aussagen über die Leistung eines SQL Server-Systems treffen und die IO Performance messen? Genau zu diesem Zweck gibt es das SQLIO.exe Tool und die (englische) Seite Predeployment I/O Best Practices. Die Aussagen beziehen sich zwar auf SQL Server 2005, dürften aber ebenso auf SQL Server 2008 anwendbar sein. Diese Tabelle von Predeployment I/O Best Practices zeigt eine Übersicht der nützlichen Tools, ich habe auch gleich die Download bzw. Info-Links beim Tool hinterlegt: Tool Zweck I/O Muster Hersteller  SQLIO Performance capacity User defined—Single I/O type at a time Microsoft IOMeter Performance capacity User defined—Allows combinations of I/O types Open Source SQLIOSim Functional correctness Simulates SQL Server I/O patterns Microsoft ...und noch die folgenden Links zum Thema: Disk Subsystem Performance Analysis for Windows  Storport in Windows Server 2003: Improving Manageability and Performance in Hardware RAID and Storage Area Networks. Wie so oft gilt: Viel nachzulesen und zu testen. Ich denke aber, proaktives Planen ist besser als reaktives Ärgern. ;-) Beitrag von Toni Pohl

SharePoint Server 2007 SDK und WSS 3.0 SDK zum Download

Ganz frisch: Seit 29. August gibt es das SharePoint Server 2007 SDK und das Windows SharePoint Services 3.0 SDK in der Version 1.4 zum Download! Neu dabei ist, dass auch die aktuelle online MSDN Library im SDK-Download enthalten ist. Damit gibts keine Verwirrung mehr, was (bzw. wo) jetzt die aktuellste Version zu finden ist: "The SDK 1.4 downloads are full releases that include all previous tools and documentation". Folgen Sie einfach den beiden Links! Beitrag von Toni Pohl

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

SharePoint SP1 und SQL Server 2008 Support für SharePoint

Das Microsoft SharePoint Team hat in seinem Blog bekannt gegeben, dass (und wie) SQL Server 2008 unterstützt wird. Die Unterstützung betrifft die Produkte Windows SharePoint Service 3.0 und Office SharePoint Server 2007, wobei das Service Pack 1 jeweils dafür vorausgesetzt wird. Das SP1 gibt´s seit Ende 2007 zum Download (Windows SharePoint Services 3.0 SP1 und SharePoint Server 2007 SP1). Es enthält Fixes, neue stsadm Commands für Datenbankwartung, Host-Sites-Umbenennung und weiter Aktualisierungen. Sollten Sie das SharePoint SP1 noch nicht installiert haben (nein: bitte nicht einfach setup.exe in Produktivumgebung ausführen!), erhalten Sie auf der Seite special SP1 page on TechNet Informationen zur Installation! Aber zurück zum SQL Server 2008 Support: Das SharePoint-Team wird in den nächsten Wochen eine Reihe von Artikel veröffentlichen, welche die vielen Vorteile der Betrieb mit SQL Server 2008 beschreibt. Hier seien ein paar davon schon genannt: Verbessertes Management: von Policy-basierender Administration bis hin zur Backup-Komprimierung Höchste Verfügbarkeit: Stichwort Data-Mirroring Verbesserte Data Security: die neuen Encryption-Mechanismen können verwendet werden Ich persönlich glaube ja, dass alleine schon die Möglichkeit zur Daten-Komprimierung und die verbesserte Performance viele SP-Admins interessieren wird. ;-) Beitrag von Toni Pohl

SQL Server und MSIDXS: Abfrage ist nicht gleich Abfrage

Letzte Woche hatte ich ein größeres "Häh???" (Kurzform von: Wie bitte?) - Erlebnis mit SQL Server in Verbindung mit Index-Service. Eine Abfrage funktioniert mit manchen Suchbegriffen, mit anderen jedoch nicht; es folgt neuerdings eine Fehlermeldung. Und das, nachdem diese Abfrage bereits seit Jahren einwandfrei funktioniert! Zugegeben, die Suchbegriffe, die ich verwende sind sehr komplex: Die Suche nach "arzt" funktioniert. Die Suche nach "pflege" funktioniert jedoch nicht... Aber schön der Reihe nach, ich hole mal etwas aus um das Problem zu beschreiben: Schon seit den "seligen" Windows NT-Zeiten ist der Microsoft Index Service mit an Board. Damit ist es mit Betriebssystem-Mitteln möglich das Filesystem zu durchsuchen. Dies ist einerseits sehr praktisch (Windows Desktop-Search) und andererseits natürlich auch möglich, die Kataloge selbst in eigenen Lösungen anzuzapfen und zu verwenden. Die Kataloge können in der Computerverwaltung definiert werden, der Index-Dienst kümmert sich dann um das Befüllen und Aktualisieren. Dies ist standardmäßig für Text-Dokumente und Office-Dokumente möglich. Für weitere Dokument-Typen stehen eine Reihe von IFilter (PDF, Office2007, etc.) zur Verfügung. Der Index-Dienst kann auch vom SQL Server verwendet werden - als Linked Server (eben auch von einer Remote-Maschine). Damit kann dann per T-SQL das Filesystem durchsucht werden. Nach der Katalog-Definition und Verlinkung geht´s dann gleich los; hier das (neue) Problem, welches bei mir entstanden ist: SELECT Q.FileName, Q.vPath FROM OPENQUERY(webserver_intern, 'SELECT FileName, vPath FROM "webserver-IIS".intern..SCOPE('' "\" '') WHERE CONTAINS( '' arzt '' )') AS Q Liefert alle Dokumente, wo im Filenamen oder im Inhalt "arzt" vorkommt. Schön. Nun dasselbe Query mit dem Suchbegriff "pflege": SELECT Q.FileName, Q.vPath FROM OPENQUERY(webserver_intern, 'SELECT FileName, vPath FROM "webserver-IIS".intern..SCOPE('' "\" '') WHERE CONTAINS( '' pflege '' )') AS Q OLE DB provider "MSIDXS" for linked server "webserver_intern" returned message "Das Zeilenhandle ist ungültig.".Msg 7330, Level 16, State 2, Line 1Cannot fetch a row from OLE DB provider "MSIDXS" for linked server "webserver_intern". Häh??? Was ist denn hier los? Die Suche nach "arzt" funktioniert und die Suche nach "pflege" funktioniert nicht (mehr)? Wie kann denn das sein? Man befragt also die Suchmaschine seiner Wahl nach der Fehlermeldung. Und erhält: Fast nichts. Nach vielen Suchbegriff-Varianten finde ich nur einen Forumsbeitrag, wo sinngemäß steht. "Ich habe dieses Problem. Wenn ich die Spalte "vPath" entferne und nur "Filename" verwende, klappt die Suche aber wieder." Ich probiere es also aus und ... es stimmt! Die Suche ohne Spalte vPath funktioniert wieder (auch für mein Suchwort "pflege"). Wie ich schon bemerkt habe, ist dieses Problem in meinem Fall erst vor kurzem aufgetreten: die Lösung hat jahrelang anstandslos funktioniert. Was ist also die Ursache? Also schnell einen Case bei Microsoft eröffnen und nachfragen. Unser sehr engagierter Partner Technical Consultant (PTC) recherchiert und stellt eine seltsame Frage: "Wurde kürzlich ein SQL Server von 32 bit nach 64 bit upgegraded?" Bingo! Genau das ist in meinem Szenario erfolgt: Die Datenbankmaschine wurde erneuert und läuft nun mit 64bit System statt zuvor mit 32bit System, während der Webserver (mit dem Index-Service) nach wie vor ein 32bit System ist. Die Suche hat dazu tatsächlich einen Eintrag ans Licht gefördert: Indexing Service: Querying 64b SQL linked server to a 32b Indexing Service ISSUE: When performing queries in certain architectures, the query terminates with an "invalid handle" error after returning 1 row when there are more than 50 records to return. When there are less than 50 rows to return, the query executes successfully. From To: 32-bit 64-bit32-bit works works64-bit fails works ...Issue does NOT occur when the path field is removed from the select statement. Da haben wir also die Ursache. Zumindest die Erklärung, dass es sich um ein bekanntes Problem handelt: KB940061, welcher jedoch noch nicht veröffentlicht ist. Anscheinend steht dafür ein private Hotfix zur Verfügung. Dieser Hotfix kann angefordert werden; im Windows SP3 wird dieser Hotfix enthalten sein. In meiner HOT-Applikation benötige ich die vPath-Spalte zum Glück nicht (da ich ein eigenes virtuelles Web als Katalogpfad verwende), in meiner COLD-Applikation (virtuelles Verzeichnis, wo ich datenbankseitig den Dokumentpfad benötige) muss ich bis zum Hotfix oder SP3 ohne vPath leben. Wahrscheinlich gibt es nicht so viele Szenarien, wo dieser spezielle Fall auftritt. Für mich war´s aber ein ziemlicher Aufwand und arbeitsintensiv, hier draufzukommen, dass eine SQL Server-Umstellung von 32 auf 64bit solche Phänomene auslösen kann, vor allem, weil dieses Problem meist erst viel später bemerkt wird und kein Zusammenhang zwischen der Umstellung und dem Auftreten des Problems hergestellt werden kann - bei mir ist die DB-Umstellung schon fast ein Jahr her und erst jetzt sind die Probleme bekannt geworden. Mögen Suchmaschinen diesen Artikel brav indizieren und anderen Anwendern diese Informationen zur SQL-Server-Index-Service 64bit Umstellung zu tragen! ;-) Beitrag von Toni Pohl

Die Microsoft Fundgrube: MSDN Code Gallery

Sind Sie zeitweise auf der Suche nach gezielten Informationen zu Microsoft Produkten? Eine Fundgrube ist die MSDN Code Gallery. Eigentlich für Entwickler gedacht, enthält das Portal aber auch viele Informationen für IT-Pros; beginnend mit .NET, ASP, CRM, über Dynamics und SQL Server bis hin zu Visual Studio und Whitepapers. Die MSDN Code Gallery bietet ein halbes Jahr nach dem Start bereits mehr als 800 Beispiel-Anwendungen und Code-Snippets zum Herunterladen sowie Videos, HowTo´s, Toolkits, SDKs, Fixes und Informationen zum Einsatz der verschiedensten Technologien. Diese Bibliothek ist auch für Nicht-Entwickler interessant: Hier finden sich unter anderem auch Internet Explorer 8 Beta 1 Whitepapers, Internet Explorer 8 Beta 1 Hands-on Labs for Tech-Ed 2008, Beispiele für SQL Server, verschiedenste Microsoft Dynamics Code samples und PlugIn´s, CRM Beispiele, SharePoint Referenzen, Outlook Add-In´s, Office-Add-In´s (z.B. ein Text-to-speech add-in for Microsoft Word 2007 with VSTO), Microsoft Search Server 2008 SDK Samples, Visual Studio Hotfixes (z.B. für VS SP1) und vieles mehr. Entwickler werden hier wahrscheinlich mehr Zeit investieren. Schon beim Durchblättern finden sich so viele interessante Themen (z.B. LINQ, WPF, Silverlight, etc.), wo man am liebsten gleich reinlesen oder ausprobieren möchte. Eine wahre Fundgrube! Stöbern Sie mal durch! Beitrag von Toni Pohl

SQL Server 2008 Installation und Visual Studio 2008 SP1

SQL Server 2008 ist seit einer Woche zum Download verfügbar. Wenn auf dem Ziel-Computer allerdings Visual Studio 2008 ohne Service Pack installiert ist, folgt eine Fehlermeldung: A previous release of Microsoft Visual Studio 2008 is installed on this computer. Upgrade Microsoft Visual Studio 2008 to the SP1 before installing SQL Server 2008. Das bedeutet, man braucht Visual Studio 2008 SP1 (manche neue Funktionen sind auch Bestandteil des VS) - siehe auch KB956139. Das VS 2008 SP1 gibts bisher allerdings nur als Beta - siehe auch Blogeintrag hier. Aber: Das endgültige SP1 für VS2008 wird im Laufe des morgigen Tages (11.08.) erwartet! Es dauert also nicht mehr allzulange. ;-) Beitrag von Toni Pohl

TechNet Plus Abonnenten sind einfach immer einen Schritt voraus: SQL Server 2008 ist fertig!

Gestern hat Microsoft in einer Pressemitteilung bekanntgegeben, dass SQL Server 2008 fertig ist. SQL Server 2008 ist in insgesamt sieben Editionen verfügbar: SQL Server 2008 Enterprise, Standard, Workgroup, Web, Developer, Express und Compact 3.5 Die Developer-Version besitzt den vollen Funktionsumfang der Enterprise-Version, das Lizensierungsmodell gilt wie bisher jedoch nur für Development, Test und Demos. Das Pricing des neuen SQL Server 2008 ist gleichgeblieben. Die RTM-Versionen (Release to Manufacturing) sind seit heute für TechNet Plus Abonnenten zum Download bereit! Für alle Nicht-TechNet-Plus-Abonnenten: Die Evaluierungs-Versionen und die freien Editionen SQL Server 2008 (Express und Compact 3.5) sind direkt auf der SQL Server 2008 Produktseite - vorerst nur in englisch - downloadbar. Die deutschen Versionen werden in den nächsten Tagen folgen. Beitrag von Toni Pohl

Biztalk pur

Wollen Sie mehr über Biztalk Server erfahren? Microsoft Biztalk Server gibt es seit 2000 und liegt in der aktuellen Version BizTalk Server 2006 R2 vor. Biztalk wird bereits von über 7000 Unternehmen eingesetzt, um Geschäftsprozesse abzubilden und als Schnittstelle zwischen Systemen zu agieren, von SOA bis hin zu BI. Einen Überblick der sehr vielfältigen Möglichkeiten zur Verwendung und Integration in Office und Sharepoint mit Biztalk liefert dieser Flyer. Dazu bietet Microsoft in Kooperation mit dem Schulungspartner ETC erstmals im September und Dezember 2- bis 5-tägige BizTalk-Trainings an; sowohl MOC als auch erweiterte Trainings zu Development, Implementierung und Management. Mehr Informationen zu den Biztalk-Trainings finden Sie unter www.etc.at/biztalk. Profitieren Sie von den Erfahrungen und der Praxis der Biztalk-Spezialisten! Beitrag von Toni Pohl

TOP 10 List für SQL Server 2008

Die fertige Version von SQL Server 2008 kommt im zweiten Halbjahr 2008 (vielleicht auch schon im 3. Quartal) auf den Markt. Und was wäre die Welt ohne Top Ten Lists? Kevin Kline von Quest Software, SQL Server MVP hat eine solche Liste zusammengestellt: die zehn seiner Meinung nach wichtigsten neuen Funktionen des neuen SQL Servers. Das komplette Whitepaper ist als PDF (mit Angabe einer E-Mail Adresse und Kontaktdaten) bei Quest Software downzuladen. Um es spannend zu machen - wie wir es vor mehr als zwei Jahrzehnten bei David Lettermans Late Night Show gelernt haben - beginnen wir natürlich mit Nummer 10. Hier sind sie, die Top Ten Gründe mit den neuen Funktionen! 10. Neue SQL-Konstrukte (Grouping Sets, MERGE)9. Erleichterungen für Entwickler (LINQ, Table-Valued Parameters)8. Verbesserte Reporting Services (kein IIS mehr erforderlich, Funktionen und Leistung verbessert)7. Komprimierung (Daten + Backup)6. Datentypen und Datenspeicherung5. Sicherheit (Transparent Data Encryption, Erweiterbare Schlüsselverwaltung)4. Resource Governor3. Überwachung und Änderungsverfolgung (Audit-Objekt, DDL-Trigger)2. Leistungsfähigere Analysis Services1. Multi-Server-Management (Optimierte Installation, Policy-based Mangement)   Meine persönliche Reihenfolge wäre zwar genau umgedreht, aber die Liste zeigt die bemerkenswerten Erweiterungen und Verbesserungen der neuen SQL Server Version (siehe auch Alle Neuerungen im Überblick und SQL Server 2008 November CTP). Beitrag von Toni Pohl

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