Posts mit dem Label SQL Server werden angezeigt. Alle Posts anzeigen
Posts mit dem Label SQL Server werden angezeigt. Alle Posts anzeigen

Mittwoch, 4. Juli 2012

SQL Server - Unbenutzten Speicherplatz wieder freigeben nach 'Drop Column'

Nachdem man eine Tabelle theoretisch verkleinert hat, indem man z.B eine Spalte gelöscht hat oder den Datentyp einer Spalte geändert hat, hat das für den belegten Speicherplatz erstmal null Effekt. Es ist für den SQL Server nur eine Änderung der Metadaten. Dies kann man überprüfen indem man sich z.B. die Ausgaben von
DBCC SHOWCONTIG( tablename)
oder
exec sp_spaceused 'tablename'
anschaut.
Wenn die entsprechende Tabelle einen Clustered Index hat, kann man mit
DBCC DBREINDEX( tablename)
dafür sorgen, dass der überflüssige Speicher freigegeben wird. Weitere Infos dazu findet man hier: http://sqlblogcasts.com/blogs/tonyrogerson/archive/2007/08/27/alter-table-drop-column-does-not-reclaim-the-space-the-column-took-it-s-a-meta-data-change-only.aspx

Freitag, 18. Mai 2012

Geokoordinaten im Entity Framework 5 und SQL Server

Wieder was gelernt. Wenn direkt auf dem SQL-Server eine Punktkoordinate die in Hamburg liegt erzeugt, macht man dies z.B. so:

geography::Point(53.566366364562107, 9.98555839061737, 4326)

Man gibt also der Point-Funktion also erst die Breite dann die Länge. Nutzt man aber die Geofunktionen von Entity Framework 5 (oder neuer) werden die Koordinaten im "Well-known text"-Format angegeben, hier gilt erst der Längengrad, dann der Breitengrad. Beispiel:

DbGeography.FromText("POINT(9.98555839061737 53.566366364562107)", 4326);