SQL Practice Blog – SQL Server, BizTalk und .NET Erfahrungen

SQL Server 2012: EOMONTH Funktion

leave a comment »

Mit dem SQL Server 2012 ist eine neue Datumsfunktion dazu gekommen. Mit EOMONTH ist es möglich sich den letzten Tag des Monats ausgeben zu lassen. Dies ist besonders interessant wenn man Wertebereiche innerhalb eines Monats oder über mehrere Monate Tag genau selektieren möchte.

So wendet man EOMONTH an, um sich den letzten Tag des Monats August im Jahr 2012 ausgegeben zu lassen:

image

Man kann jedoch auch Monat dazu addieren oder abziehen. Hierfür steht ein optionaler Operator zur Verfügung.

image

Es ist nur eine kleiner Erweiterung, aber sie erleichtert doch auf angenehme Art die Arbeit mit TSQL.

Written by Robert Meyer

August 7, 2012 at 13:18

Veröffentlicht in SQL Server

Getaggt mit , ,

“Add STS Reference” in Visual Studio 2012

leave a comment »

Ich habe heute ein Azure Projekt im neuen Visual Studio 2012 angefangen und wollte ACS einbinden. Bei Visual Studio 2010 ging dies sehr einfach über den Menupunkt “Add STS Reference …”.

image

Dieser ist jedoch leider bei Visual Studio 2012 nicht vorhanden. Hier führt es auch nicht zum gewünschten Erfolg, wenn man das aktuelle Azure SDK installiert. Jedoch ist es über einen Umweg möglich die vermisste Funktionalität in Visual Studio 2012 wieder herbei zu zaubern.

  1. Im Hauptmenu von Visual Studio 2012 im Eintrag “Tools” auf den Menupunkt “Extensions and Updates …” klicken.
    image
  2. In dem sich nun öffnenden Fenster im linken Menu die Kategorie “Online” auswählen und in das Suchfeld “Identity” eingeben. Danach die “Identity and Access Tools” herunterladen und installieren und Visual Studio 2012 neustarten.

    image

  3. Nach dem Neustart von Visual Studio 2012 gibt es einen neuen Menueintrag im Kontextmenu des Projektes mit der Bezeichnung “Identity and Access …”. Hier kann nun wie gewohnt eine ACS Referenz hinzugefügt werden.
    image

image

Written by Robert Meyer

Juli 30, 2012 at 11:57

Paging mit OFFSET und FETCH im SQL Server 2012

leave a comment »

Lange hat es gedauert, doch nun beherrscht der SQL Server mit Version 2012 endlich das Paging. Unter Paging versteht man die Festlegung davon wie viele Datensätze pro Seite ausgeben werden sollen. Dies wird besonders bei diversen Webapplikationen benötigt um die Anzahl der geladenen Daten zu verringern. Würde die Suche auf einer Website ein Trefferergebnis von 400 Datensätzen betragen, möchte der Nutzer sicherlich nicht alle 400 Datensätze mit einmal auf der Website sehen, sondern z.B. immer nur 20 Stück. Diese 20 Datensätze werden jetzt auf 20 Seiten aufgelistet. Damit der Traffic möglichst gering bleibt, werden auch immer nur die Datensätze der aktuellen Seite geladen. Das nennt man Paging.

Möglichkeiten mit dem SQL Server 2012

Mit dem SQL Server 2012 kommen unter anderen zwei neue Befehle welche in der ORDER BY Klausel genutzt werden können:

  • OFFSET
    Legt fest wie viele Datensätze übersprungen werden, bevor Datensätze zurückgegeben werden.
  • FETCH
    Gibt an wie viele Datensätze nach der OFFSET Klausel angezeigt werden sollen

Beispiel

In dem Beispiel werden Kundendaten selektiert, welche mit dem Nachnamen Meyer beginnen. Allerdings werden die ersten 40 Zeilen übersprungen und von da an 20 Zeilen selektiert.

image

Varianten von OFFSET und FETCH

Anstelle von NEXT kann man auch FIRST genutzt werden, es handelt sich hierbei nur um ein Synonym. Das gleich gilt für das Wort ROWS, hier kann auch ROW genutzt werden. Anstelle der direkten Anzahl der Datensätze bei OFFSET oder FETCH kann hier auch eine Variable zum Einsatz kommen. Dies könnte zum Beispiel so aussehen und wäre im zusammenhangen mit dynamisches Stored Procedures recht interessant.

image

Expressions in OFFSET und FETCH

Es ist ebenfalls möglich Expressions im Zusammenhang von OFFSET und FETCH zu nutzen. Hier ein Beispiel:

image

Zur Verfügung stehen die Erweiterungen OFFSET und FETCH bereits ab dem SQL Server 2012 Express.

Written by Robert Meyer

Juli 19, 2012 at 07:25

Veröffentlicht in SQL Server

Getaggt mit , , , , ,

Neuerungen mit SharePoint 2013

with 5 comments

Diese Nacht war es endlich soweit und die Microsoft SharePoint 2013 Preview stand, neben Office 2013, zum Download bereit. Natürlich bringt SharePoint 2013 viele neue Features mit. Mit einigen hat man gerechnet, andere kamen ziemlich überraschend. Ich möchte euch hier eine kurze Auflistung der neuen Features zur Verfügung stellen.

  • .NET 4.0 mit SharePoint 2013
  • Workflow Foundation 4.0
  • SharePoint Marketplace for Apps
    Mit SharePoint 2013 führt Microsoft den Marketplace für SharePoint Apps ein. Eine SharePoint App ist eine Webapplikation, welche in SharePoint eingebunden werden kann. Hier ist man in der Wahl der Technologie relativ frei und kann z.B. HTML 5, CSS und JavaScript nutzen. Hierzu gibt es im Object Modell auf der Ebene von SPWeb eine Erweiterung mit dem Namen SPApp.
  • Stärkere Integration der Office Produkte in SharePoint 2013
  • Verbesserung in Client Object Model
    Das Client Object Model wurde mit der Möglichkeit der Suche erweitert. Somit ist es nun auch Möglich über das Client Object Model die in SharePoint integrierte Suche zu nutzen.
  • Verbesserung der Workflows über den SharePoint Designer
    Es ist nun Möglich dass bei Workflows, welche über den SharePoint Designer erstellt werden, Schleifen eingesetzt werden können. Dies ging bisher bei SharePoint 2010 nur bei Workflows die mit Visual Studio erstellt wurden.
  • Anstelle von AJAX kommt nun HTML5 mit JQuery zum Einsatz
  • MinimaDownload Strategy (MDS)
    MDS ist eine Erweiterung die Microsoft dem SharePoint Server 2013 spendiert hat, mit der es Möglich ist nur den veränderten Bereich von Webseiten zu übertragen. Das Ziel ist den Traffic möglichst gering zu halten und die Geschwindigkeit bei Nutzern mit geringer Bandbreite zu erhöhen.
  • OAuth 2.0 Authentication
    Unterstützung von WIndows Live ID, Twitter oder Facebook.
  • Unterstützung von Visual Studio 2012

Herunterladen kann man sich SharePoint 2013 Foundation kostenlos auf der Seite von Microsoft. Wer eine MSDN Subscription besitzt, kann sich die größeren Versionen dort herunterladen.

Viel Spaß beim Ausprobieren!

Written by Robert Meyer

Juli 17, 2012 at 08:59

Veröffentlicht in SharePoint

Getaggt mit , , ,

Update auf große Datenmengen mit @@ROWCOUNT

leave a comment »

Häufig steht man vor der Herausforderung in einer sehr großen Tabelle Datensätze zu aktualisieren. Hat diese z.B. wie in meinem Szenario über 10 Millionen Datensätze und einen Trigger der auf Update Commands reagiert, ist es nicht sehr sinnvoll mit einem mal mehr als 1000 Zeilen zu aktualisieren. Hierbei kann es zu ungewollten Table Locks kommen. Noch problematischer wird es, wenn während des Zeitpunktes des Updates viele Abfragen auf dieser Tabelle ausgeführt werden.

Der erste Lösungsansatz bei diesem Problem ist ein eingeschränkter Update Befehl auf 1000 Zeilen. Diese kann man mit einem UPDATE TOP (1000) und ebenso mit dem Befehl SET ROWCOUNT 1000 erreichen (Siehe Beispiele).

image

Möchte man nun etwa 100000 Zeilen aktualisieren empfiehlt es sich hierfür eine Schleife zu bauen. Außerdem sollte nach jedem Updatebefehl eine Wartezeit von 1-3 Sekunden eingefügt werden, damit andere Anfragen die Möglichkeit haben Sperren zu setzen. Dies erreicht man durch den Befehl WAITFOR DELAY. Hier ein Beispiel:

image

Der gesamte Updatevorgang kann dadurch etwas länger dauern, man minimiert jedoch die Wahrscheinlichkeit von Locks über die ganze Tabelle und erlaubt z.B. Triggern optimaler zu arbeiten.

Written by Robert Meyer

Juli 11, 2012 at 10:38

Veröffentlicht in SQL Server

Getaggt mit , , ,

SPContentDBManager auf Codeplex

leave a comment »

Lange war es hier ruhig, aber heute gibt es eine kleine Premiere. Ich habe mein erstes, noch sehr kleines, Tool für SharePoint 2007 auf Codeplex Online gestellt.

Das Tool hat den Namen SPContentDBManager und erlaubt die Verwaltung der eingebundenen Content Datenbanken in SharePoint 2007. Gerade bei einer großen Anzahl von Content Datenbanken, fällt die Verwaltung durchaus leichter aus.

Folgende Funktionen sind bereits implementiert:
- Content Datenbanken im Bulk in den Status “disabled” versetzen
- Content Datenbanken im Bulk in den Status “online” versetzen

Features in der nächsten Version:
- Lösen und anbinden von Contentdatenbanken
- Das Limit der SiteCollection und Warnungen verwalten

App_Overview.png

Links: http://spcontentdbmanager.codeplex.com/

Written by Robert Meyer

November 30, 2011 at 22:55

SharePoint 2010 Service Pack 1 veröffentlicht

leave a comment »

Es ist soweit, das erste Service Pack für den SharePoint Server 2010 wurde veröffentlich und bringt einige Verbesserungen mit.

Neuerungen und Verbesserungen:

  • Verbesserte Unterstützung für Internet Explorer 9.
  • Papierkorb: Sie können eine gelöschte Websitesammlung oder Website wiederherstellen.
  • Remote Backup Systems (RBS) und flaches Kopieren können die Ausfallzeiten verringern und die Effizienz steigern, indem die Zeiger auf die Datenbanken und nicht die Datenbanken selbst verschoben werden.
  • Mithilfe der verbesserten Speicherverwaltungsfunktion in den Websiteeinstellungen können Sie sehen, welche Ordner wertvollen Speicherplatz belegen.
  • Unterstützung für Microsoft SQL Server 2011
  • Ein robusterer Search-Host-Verteilungsdienst verbessert Fehlerbehebung und Leistung während der Suchdurchforstung.
  • Stellt Sicherungs- und Wiederherstellungsfunktionen zum Wiederherstellen gelöschter Websitesammlungen und Websites bereit.

Hier findet ihr das ServicePack 1 zum Download:

SharePoint Server 2010 http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=26623
SharePoint Designer 2010 http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=26628 (32 Bit)
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=26634 (64 Bit)

Written by Robert Meyer

Juli 16, 2011 at 22:36

Veröffentlicht in SharePoint

Getaggt mit ,

Follow

Erhalte jeden neuen Beitrag in deinen Posteingang.