Frage zu SQL Datenbanken



  • Hallo Forum

    ich bin sehr neu dabei was das Programmieren von Datenbanken betrifft. Ich habe eine SQL Server 2000 Datenbank erstellt auf einem Windows Server 2003 System. Nun habe ich mich gefragt ob man auch eine SQL-Datenbank lokal auf einem Nicht-Server System (also auf einem normalen PC) laufen lassen kann bzw. die Serverversion "kopieren" kann so dass sie auf dem lokalen System, welches wie gesagt kein Server-System ist, zum laufen bringen kann. Geht sowas? Ich hätte die Datenbank halt gerne als Server- und als lokale Version. Dazu hätte ich die Serverversion auf den lokalen Rechner repliziert, was aber, wenn ich es im Internet richtig gesehen habe, nur geht wenn das andere System auch ein Server-System ist. Stimmt das? Gibt es eine Lösung für meine Idee? Zum Beispiel über MySQl auf dem lokalen Rechner und SQL Server auf dem Server?

    Danke für Tipps!



  • Wozu SQL Server 2000.
    Es gibt doch bereits die 2008 und die auch noch als Express.



  • Das ist richtig, aber da wo ich das einsetzen möchte stehen nur diese Programme zur Verfügung.

    Wenn ich es richtig verstehe muss eine Datenbank auf einem Serversystem laufen (und wenn es ein MySQL Server ist) und kann nicht auf einem Nicht-Server-System imlementiert werden? Gibt es dann frei verfügbare SQL Server (wie SQL-Lite, SQL Express) die kompatibel zu SQL Server 2000 sind wo ich die Datenbank dann auch mehr oder weniger "einfach" kopieren kann?



  • Alle Versionen von MSSQL Express laufen auf jedem normalen Rechner z.B. auch unter Windows XP (Home/Prof/Ent).

    Die Express-Versionen von Microsoft sind immer kostenlos, aber in bestimmten Dingen eingeschränkt.

    Die Datenbanken von MSSQL 2000 können als Backup in jede neuere Version von MSSQL übertragen werden, nur andersrum geht nicht.



  • Ist dann die Express Version kompatibel mit SQL Server? Also kann ich auf meinem Server SQL Server laufen lassen und auf dem lokalen System die Express Version (mit eingeschränkter Funktionalität) und kann die Datenbank auf beiden Systemen nutzen?



  • ich glaub du hast ein Problem mit den Namen:

    MSSQL _ist_ der SQL Server und diesen kann man auf jedem Rechner installieren der Windows drauf hat.

    Eine Datenbank ist meist nur eine Datei, die einer bestimmten Datenbank-Software(z.B. MSSQL, MySQL, Access) zugegörig ist und kann im Normalfall auf verschiedenen Rechnern mit der gleichen Datenbank-Software verwendet werden.

    Bei den verschiedenen Datenbank-Softwareversionen gibt es Unterschiede: einige sind nur Lokal zu verwenden andere können auch über z.B. TCP/IP angesprochen werden (z.B. mittels ODBC). Die MSDE (MSSQL 2000 Express) kann z.B. nur Lokal laufen.

    Bei einer MSSQL Express und Vollversion sollten sich die Datenbank problemlos z.B. über ein Backup hin und her schieben lassen, allerdings nur innerhalb einer Versionsnummer oder in eine höhere Version aber nicht in eine niedrigere.

    Die Einschränkungen der MSSQL-Express-Versionen sind z.B.: maximale Datenbankgröße ist 4GB, einige Optimierungs- und Hilfsprogramme sind nicht enthalten und den Rest kann man ja bei Microsoft nachlesen.



  • Linnea schrieb:

    Alle Versionen von MSSQL Express laufen auf jedem normalen Rechner z.B. auch unter Windows XP (Home/Prof/Ent).

    Die Express-Versionen von Microsoft sind immer kostenlos, aber in bestimmten Dingen eingeschränkt.

    Die Datenbanken von MSSQL 2000 können als Backup in jede neuere Version von MSSQL übertragen werden, nur andersrum geht nicht.

    Ich habe einen normalen Rechner, aber MSSQL Express läuft da nicht. Wie heisst denn das Debian-Paket, damit ich es mit apt-get installieren kann? Oder muss ich das aus den Sourcen selbst compilieren?



  • Linnea schrieb:

    MSSQL _ist_ der SQL Server und diesen kann man auf jedem Rechner installieren der Windows drauf hat.

    Wer lesen kann, ist klar im Vorteil...



  • Du schreibst sehr wirr.
    Nun mal von Anfang an:

    Welches Betriebsystem?

    Jedes RDBMS hat seine eigene API.
    Du kannst also nicht das RDBMS von MySQL nehmen und dann die Daten in Microsoft SQL 2000 kopieren. Grundsätzlich geht das schon aber man braucht dann wiederum Scripte (z.B. MyGeneration) um die Tabellenerstellungsquerys in das Format von MSSQL zu bringen)

    Neues MSSQL bringen auch mehr Features mit. z.B. neue Spaltentypen.
    Solltes Du eine davon bei der Entwicklung verwenden wird es nicht so einfach sein diese in MSSQL 2000 zu bringen.
    Du kannst aber eine SQL 2005 Express verwenden wenn du dich an die Richtlinien für MSSQL 200 hältst.
    Danach generierst du einfach DDL und die DML.



  • Wenns nicht unbedingt Microsoft-Sqlserver sein muß, schau dir
    mal postgresql an - das gibts für windows und linux/unix und hat
    ne echt geile Api mit high-level-sql ala Oracle (Vorübersetzer und
    im C-Programm dann exec sql... wie die "Großen"). Ist echt easy
    zu programmieren. Ich liebe es...


Anmelden zum Antworten