SQL-Datenbank mit Info erstellen

25/10/2007 - 16:20 von Markus Renezeder | Report spam
Hallo Leute,

ich hab wiedermal eine Frage an euch, aber ich bin mir nicht ganz sicher ob
ich hier richtig bin, aber ich denke mal ...

Für meine Applikation benötige ich einen SQL-Server (mindestens 2000).
Leider kann ich mir das nicht immer aussuchen, da manche Kunden bereits
einen bestehenden SQL-Server haben, den sie auch weiter verwenden wollen.

Mein Frage ist jetzt, kann ich beim Erstellen einer Datenbank auch eine
Information mit angeben, die ich dann beim Öffnen (oder vor dem Öffnen) der
Datenbank auslesen kann?
Sinn der Geschichte wàre, dass ich eine Info hinterlege, die angibt, dass
die Datenbank mit meiner Applikation angelegt wurde. Das ganze soll dazu
dienen, dass niemand einfach eine Datenbank anlegen und mit meiner
Applikation auf die neue Datenbank zugreifen kann. Das hat einerseits
Lizenztechnische Gründe, andererseits soll es natürlich auch Fehlern
vorbeugen (z. B. eine Tabelle nicht vorhanden oder so ...)

Danke Markus
 

Lesen sie die antworten

#1 leslie eldrige
25/10/2007 - 16:41 | Warnen spam
Sinn der Geschichte wàre, dass ich eine Info hinterlege, die angibt, dass
die Datenbank mit meiner Applikation angelegt wurde.


Es ist nach der Erstellung des Objekts (Tabelle, View, Funktion, SP usw.) in
der MSSQL immer zu sehen welcher User das Objekt erstellt hat. In der Regel
wird die Windows Authentifikation verwendet. Man kann natürlich das Objekt
mit beliebigen Benutzer erstellen (man wird es dann auch im Enterprice
Manager sehen können, (wobei ich persönlich alle Objekte mit dem Standard
User DBO erstelle).
Nun das hindert keiner daran, dass er die exakte Kopie deiner DB verlegt und
somit deine Applikation den Eindruck hat, es wàren die Objekte durch sie
erstellt (weil das Objekt mit dem Benutzer XY erstellt wurde).
Also über Anlegeinfos kommst du da nicht weiter, eventuell könntest Du aber
Erstellungsdatum kontrollieren aber das wird auch schwierig sein
nachzuvollziehen ob die DB von dir stammt oder nicht.

Aber falls es wirklich um Lizenzprobleme gehen sollte, dann ist der richtige
Weg dass du Fronend (also deine Applikation) schützst und nicht Backend (also
MSSQL). Mag sein, dass man auch Backend irgendwie schützen kann, weiss nicht
aber kann mir auch gut vorstellen (z.B. BTrieve Datenbank).

Und falls es dir auch darum geht, dass all deine Objekte beim starten noch
vorhanden sind, dann prüfe das aus dem Frontend heraus und erstelle das
Objekt oder bring eine Meldung heraus, dass das Objekt gar nicht existiert
und dass man die DB auf den neusten Stand bringen sollte!

gruss




"Markus Renezeder" wrote:

Hallo Leute,

ich hab wiedermal eine Frage an euch, aber ich bin mir nicht ganz sicher ob
ich hier richtig bin, aber ich denke mal ...

Für meine Applikation benötige ich einen SQL-Server (mindestens 2000).
Leider kann ich mir das nicht immer aussuchen, da manche Kunden bereits
einen bestehenden SQL-Server haben, den sie auch weiter verwenden wollen.

Mein Frage ist jetzt, kann ich beim Erstellen einer Datenbank auch eine
Information mit angeben, die ich dann beim Öffnen (oder vor dem Öffnen) der
Datenbank auslesen kann?
Sinn der Geschichte wàre, dass ich eine Info hinterlege, die angibt, dass
die Datenbank mit meiner Applikation angelegt wurde. Das ganze soll dazu
dienen, dass niemand einfach eine Datenbank anlegen und mit meiner
Applikation auf die neue Datenbank zugreifen kann. Das hat einerseits
Lizenztechnische Gründe, andererseits soll es natürlich auch Fehlern
vorbeugen (z. B. eine Tabelle nicht vorhanden oder so ...)

Danke Markus



Ähnliche fragen