News

SQL 2008 - Final

Donnerstag, 29. Mai 2008

SO WIRD'S GEMACHT: Die korrekten SQL Server-Konfigurationseinstellungen ermitteln

SO WIRD'S GEMACHT: Die korrekten SQL Server-Konfigurationseinstellungen ermitteln

Freitag, 22. Februar 2008

Datenbank teilweise offline

Seit SQL 2005 ist eine Datenbank bereits dann online, wenn die Primary Dateigruppe intakt ist. Was aber passiert, wenn eine der zusätzlich erstellten Dateigruppen defekt ist? Lösung gesucht...

In der Praxis werden bei sehr grossen Datenbanken oftmals Dateigruppen erstellt, um eine physikalische Verteilung Daten/Tabellen zu erreichen. Beispielsweise konnte man Stammdaten auf HDD 1 legen, während die Bewegungsdaten auf HDD 2 lagen. Dafür war es notwendig Tabellen auf die dementsprechnenden Dateigruppen zu anzulegen. Jedoch steht unter SQL Server 2000 eine DB nicht zur Verfügung, wenn eine der Dateigruppen defekt ist.


-- Hinzufügen der Dateigruppe Stamm


ALTER DATABASE MeineDB ADD FILEGROUP [Stamm]
GO
ALTER Databse MeineDB
ADD FILE
( NAME = N'Stammdaten'FILENAME = N'E:\DATA\SQLDB\Stammdaten.ndf',
SIZE = 3072KB , FILEGROWTH = 1024KB ) TO FILEGROUP [Stamm]
GO

-- Anlegen der Tabelle auf Dateigruppe Stamm


create table kunden
(kdid int ....) on STAMM


Nun ist aber diese Dateigruppe, sprich die Datei "stammdaten.ndf" defekt. Startet der SQL Server, steht die DB zunächst nicht zur Verfügung. Dieser Umstand ist aber unter SQL Server 2005 wie folgt zu beheben.



--defekte/fehlende Datei offline setzen und anschliessend die Datenbank wieder online schalten



alter database meineDB
modify file (name = N'Stammdaten', OFFLINE)
go
alter database meineDB
set online


Somit steht die Datenbank komplett zur Verfügung. Lediglich die betroffenden Tabellen der fehlenden Datei stehen nicht zur Verfügung.



Der "Trick" kann sogar noch ausgebaut werden. Falls für große Tabellen eine Partitionierung (horizontales Splitten einer Tabelle auf mehrere Dateigruppen) vorgenommen worden ist, würde sogar eine Tabelle teilweise zur Verfügung gestellt werden können.



Bsp: Tabelle Umsatz...


besteht aus 3 Dateigruppen: Umsatz2003, Umsatz2004 und Umsatz2005.

Die Dateigruppe für Umsatz2004 steht nicht zur Verfügung und wurde offline gesetzt.



Als Ergebnis für select * from Umsatz erhalten wir dennoch Werte. Sogar update und Insert funktionieren tadellos bei den vorhanden Werten.



--> Tab: Umsatz


Summe      | Kunden       | Jahr
---------------------------------
123 12 2003 -- Dategruppe Umsatz2003
234 33 2003 -- Dategruppe Umsatz2003
431 99 2005 -- Dategruppe Umsatz2005
234 112 2005 -- Dategruppe Umsatz2005


(Zum Thema: "Wie partitioniere ich Tabelle horiontal" wird hier demnächst ein eigener Artikel erscheinen.)



Für den Restore der DB ist es allerdings von Nöten eine Sicherung der Dateigruppen zu haben und sowie eine aktuelle Sicherung des Transaktionsprotokolls.


Weiteres dazu auch unter: http://www.sql-meets-sharepoint.de/

Mittwoch, 20. Februar 2008

SQL 2008 Februar CTP download

jetzt verfügbar