cew3
Goto Top

Expertenwissen zum Anlegen von Datenbanken auf MS SQL Server benötigt

Hallo,

ich habe die Notwendingkeit, auf einem MS SQL-Server per Software Datenbanken anlegen zu können/müssen.
Dazu habe ich ein Paar Fragen:

Wenn ich per CREATE DATABASE eine DB anlege, so wird diese mit den Standardeinstellungen (Verzeichnis, Filegrwoth, etc.) angelegt.
Wie sieht das in der Praxis aus? Werden die Defaultwerte von den DB-Admin voreingestellt und sind als "vernünftig" anzusehen, sodass man sich auf die Defaults "verlassen" kann?
Ich bin kein DB-Admin und bräuchte hierzu Euer Fachwissen aus dem Alltag.

Ist es im Alltag so, dass das Log-File aus Performancegründen in einem anderen Verzeichnis abgelegt wird und deshalb ein anderer Pfad zu verwenden wäre?

Wie sieht das bei Euch überhaupt so aus, wenn eine Fremdsoftware Datenbanken anlegen muss? Ist das in der Regel überhaupt erlaubt?
Macht Ihr dem Software-Lieferanten exakte Vorgaben, wie die DB anzulegen ist (Size, Growth, etc)?

Es wäre super, wenn Ihr mir zu diesem Themenkomplex einen kurzen Abriss geben könntet. Danke!

Besten Dank,
cew3

Content-Key: 111377

Url: https://administrator.de/contentid/111377

Printed on: April 24, 2024 at 19:04 o'clock

Member: kaiand1
kaiand1 Mar 13, 2009 at 21:04:58 (UTC)
Goto Top
Also in der Regel sagt der Softwarehersteller wie die Datenbank auszusehen hat.
Zumindes was die Tabellen... angeht..
Er liefert auch das SQL File zum erstellen der Datenbank falls es die Software nicht von selbst macht.
Member: it-frosch
it-frosch Mar 13, 2009 at 21:44:23 (UTC)
Goto Top
Hallo cew3,

Ist es im Alltag so, dass das Log-File aus Performancegründen in einem anderen Verzeichnis abgelegt wird und deshalb >ein anderer Pfad zu verwenden wäre?

Die Datenbank und das LOG sollten zwingend jeweils auf einem eigenen Laufwerk (NICHT SYSTEM) liegen ansonsten kann es passieren das das LOG File deine Systemplatte oder die Datenbank Partition voll schreibt. Den Stress kann man sich sparen. face-wink

Macht Ihr dem Software-Lieferanten exakte Vorgaben, wie die DB anzulegen ist (Size, Growth, etc)?
Meist läuft das genau anders herum. Habt Ihr einen SQL Server, ich brauch da für meine Software eine Datenbank.
Wir geben nur aus oben genanntem Grund vor wo die Datenbank Files zu liegen haben.

Wenn ich per CREATE DATABASE eine DB anlege, so wird diese mit den Standardeinstellungen (Verzeichnis, Filegrwoth, >etc.) angelegt.
Die Standards sind eigentlich ok. Was noch wichtig wäre ist der Sicherungstyp (Recovery model). Dieser sollte auf Full stehen sonst kann das Log nicht besichert werden. Standard ist Simple.

Ich denke das reicht erst einmal.
Member: cew3
cew3 Mar 13, 2009 at 22:23:41 (UTC)
Goto Top
Hallo it-frosch,

vielen Dank für die Infos!
Kannst Du als Admin die Defaults so setzen, dass die Verzeichnisse für Db und Log unterschiedlich auf vorgesehene Verzeichnisse zeigen? Wenn ja, wie geht das?
Kann ich mich als Software-Lieferant auf den Standpunkt stellen "Lieber Admin, setze Deine Defaults, dann mach ich mein einfaches CREATE DATABASE und wir sind beide zufrieden."? face-wink

So würde ich das eigentlich in Produktionsumgebungen erwarten.
Member: cew3
cew3 Mar 13, 2009 at 22:27:59 (UTC)
Goto Top
Zitat von @kaiand1:
Also in der Regel sagt der Softwarehersteller wie die Datenbank
auszusehen hat.
Zumindes was die Tabellen... angeht..
Er liefert auch das SQL File zum erstellen der Datenbank falls es die
Software nicht von selbst macht.


Ich muss zur Laufzeit bei Bedarf neue DBs anlegen und löschen können.
Da ich somit über eine DB-User verfügen muss, der dies kann, könnte dies womöglich ein Sicherheitsproblem darstellen, da der Userja nicht fest an eine DB gebunden sein darf. Gleichzeitig könnte er aber in diesem Fall auch DBs löschen, die ihn eigentlich nichts angehen.
Das könnte ja wohl nur funktionieren, wenn mir der DB-Admin einen eigenen Server bzw. eine eigene Instanz hinstellt, oder?
Member: mrtux
mrtux Mar 14, 2009 at 07:05:11 (UTC)
Goto Top
Hi !

Also ich habe das bisher noch nie erlebt, dass die Vorgaben nicht von der Softwarefirma kommen. Die muss ja nachher auch die Stabilität der Software gewährleisten, dafür bekommt sie Geld, um eine Software abzuliefern die funktionsfähig ist und so wird es eigentlich und vor allem in Produktionsumgebungen gehandhabt. Auch rechtlich ist das der sichere Weg, denn der Administrator des Datenbankservers kann ja nicht hinter eine Software blicken, die er im extrem Fall gar nicht kennt oder kennen kann, ausser die Quellen sind offen. Ausserdem sollte die Softwarefirma schon die Kompetenz mitbringen um dem Administrator genaue Vorgaben zu manchen bzw. ihn beim Anlegen der Datenbank unterstützen zu können, ansonsten würde da etwas aus dem "Ruder" laufen, was ich aber in der Praxis auch schon erlebt habe. Der "Fachmann" der Softwarefirma wusste weniger über Datenbanken, als der Administrator.... face-smile

mrtux
Member: n.o.b.o.d.y
n.o.b.o.d.y Mar 14, 2009 at 08:07:46 (UTC)
Goto Top
Zitat von @cew3:
Ich muss zur Laufzeit bei Bedarf neue DBs anlegen und löschen
können.
Da ich somit über eine DB-User verfügen muss, der dies
kann, könnte dies womöglich ein Sicherheitsproblem
darstellen, da der Userja nicht fest an eine DB gebunden sein darf.
Gleichzeitig könnte er aber in diesem Fall auch DBs löschen,
die ihn eigentlich nichts angehen.
Das könnte ja wohl nur funktionieren, wenn mir der DB-Admin
einen eigenen Server bzw. eine eigene Instanz hinstellt, oder?

Hallo,
da muß ich dir sagen, dass ich aus Adminsicht dich nicht auf einen vorhandenen DB-Server lassen würde! Wenn da eine Software kommt, die mit SA-Rechten arbeiten muß um während des Betriebes DBs anzulegen....geht gar nicht. Das würde ich nur auf einen dedizierten SQL-Server für die Software zulassen.

Aber zu deiner Frage, würde ich immer erwarten, dass der Lieferant mir die Werte für die DB vorgibt. Macht sonst auch einen schlechten Eindruck, weil es bedeuten würde, dass er sich da nie Gedabken drüber gemacht hat wie seine DB am besten läuft.
Member: cew3
cew3 Mar 14, 2009 at 08:59:14 (UTC)
Goto Top
Zitat von @n.o.b.o.d.y:

Hallo,
da muß ich dir sagen, dass ich aus Adminsicht dich nicht auf
einen vorhandenen DB-Server lassen würde! Wenn da eine Software
kommt, die mit SA-Rechten arbeiten muß um während des
Betriebes DBs anzulegen....geht gar nicht. Das würde ich nur auf
einen dedizierten SQL-Server für die Software zulassen.

Das habe ich bereits befürchtet, aber insgeheim auch gehofft, da man dan "was eigenes" hätte und sich nicht den Vorgaben des DB-Admins unterwerfen müsste, die teilweise doch etwas hinderlich face-smile ausfallen können.

Zitat von @n.o.b.o.d.y:

Aber zu deiner Frage, würde ich immer erwarten, dass der
Lieferant mir die Werte für die DB vorgibt. Macht sonst auch
einen schlechten Eindruck, weil es bedeuten würde, dass er sich
da nie Gedabken drüber gemacht hat wie seine DB am besten
läuft.

So sehe ich das eigentlich auch. Man muss es nur dem Kundenentsprechend verkaufen ...

Danke für Deine Hilfe!
cew3
Member: cew3
cew3 Mar 14, 2009 at 09:05:37 (UTC)
Goto Top
Zitat von @mrtux:
Hi !

Also ich habe das bisher noch nie erlebt, dass die Vorgaben nicht von
der Softwarefirma kommen. Die muss ja nachher auch die Stabilität
der Software gewährleisten, dafür bekommt sie Geld, um eine
Software abzuliefern die funktionsfähig ist und so wird es
eigentlich und vor allem in Produktionsumgebungen gehandhabt. Auch
rechtlich ist das der sichere Weg, denn der Administrator des
Datenbankservers kann ja nicht hinter eine Software blicken, die er im
extrem Fall gar nicht kennt oder kennen kann, ausser die Quellen sind
offen. Ausserdem sollte die Softwarefirma schon die Kompetenz
mitbringen um dem Administrator genaue Vorgaben zu manchen bzw. ihn
beim Anlegen der Datenbank unterstützen zu können, ansonsten
würde da etwas aus dem "Ruder" laufen, was ich aber in
der Praxis auch schon erlebt habe. Der "Fachmann" der
Softwarefirma wusste weniger über Datenbanken, als der
Administrator.... face-smile


Deine Argumentation finde ich gut.
Ich war verunsichert, da ich mich mit einem Kunden unterhalten hatte, der DB-Admin eines grossen internationalen US-Unternehmens ist. Er selbst kann noch nicht mal eine Tabelle anlegen, geschweige denn eine "ganze Datenbank" face-sad
Wenn sowas nötig ist, muss er ein Ticket aufmachen und die Arbeiten werden dann von unwissenden Supportern durchgeführt. Da er in der Vergangenheit schon mal ein Paar Tage investieren musste, um Fehler des Supports wieder glatt zu ziehen, läuft das mittlerweile über eine NetViewer Session un der Suporter "überwacht" lediglich die Tätigkeiten des Admins. Ob dies nur der US-Paranoia anzulasten ist, oder obes auch in anderen Firmen so, oder so ähnlich abläuft, konnte ich nicht einschätzen.

Deshalb vielen Dank für Deine Infos!
cew3
mrtux