Microsoft SQL sichern
-
Hallo zusammen,
gleich eine weitere Frage zu den Datenbanken.
Ich habe unter Visual C++ 2008 Express und SQL Express 2008 reingeschnuppert und stelle mir die Frage, wie ich meine Datenbanken dort sichern könnte.
Ich habe den SQL Server: 'Microsoft
SQL Server
2008 Express with Advanced Services' installiert und der Manager funktioniert auch.
Ich kann dort Datenbanken anlegen und auch sichern. Allerdings sind diese Datenbanken in v C++ 2008 expr. nicht zu sehen.
Datenbanken, die ich in V C++ anlege, sind im Manager nicht zu sehen.
Natürlich sind beide Tools mit dem gleichen SQL Server verbunden.Habt Ihr da evtl. eine Erklärung für?
-
Natürlich sind beide Tools mit dem gleichen SQL Server verbunden.
Das sind sie sicher nicht, sonst würdest du die Datenbanken schon sehen.
-
hustbaer schrieb:
Natürlich sind beide Tools mit dem gleichen SQL Server verbunden.
Das sind sie sicher nicht, sonst würdest du die Datenbanken schon sehen.
Hmm, ich habe aber nur einen SQL Server installiert. Laut Verbindungsparameter sind auch beide mit dem SQLEXPRESS Server verbunden.
-
Vielleicht hast du 2 "SQL Server Instanzen" installiert?
Bist du sicher dass die beide "DEINPC\SQLEXPRESS" heissen und nicht einer nur "DEINPC" und der andere "DEINPC\SQLEXPRESS"?Zumindest das
Datenbanken, die ich in V C++ anlege, sind im Manager nicht zu sehen.
kann ich nicht nachvollziehen - mit der SQL Management Console (allerdings ohne Express - *könnte* einen Unterschied machen, aber eher unwahrscheinlich) sehe ich auch Datenbanken auf die ich keine Rechte habe. Natürlich kann ich da drin dann nix machen (nichtmal Tables enumierieren - garnix halt), aber ich sehe zumindest dass sie da sind.
Und wenn du dich mit "sa" oder dem Admin-Konte des PCs einloggst bist du sowieso "sa" und siehst alles (und kannst alles machen).
-
Im Manager lief die Instanz MEINPC/SQLEXPRESS in Visual c++ nur SQLEXPRESS
Installiert war aber trotzdem nur 1 Instanz.
Ich habe den Manager wieder runter geworfen und SQLServer 2005 installiert. Dort konnte ich in VC++ gar nicht zugreifen.
Jetzt habe ich wieder SQLServer Express 2008 drauf, ich kann nun wieder Datenbanken anlegen und damit arbeiten.Nur sichern kann ich die Datenbanken immer noch nicht. Was muss ich tun?
Bin ja jetzt erstmal wieder in der Ausgangsposition.Schon blöd das Ganze. MySQl will nicht funktionieren, dort könnte ich alles machen, wie es mir beliebt. SQl läuft und die Daten lassen sich nicht sichern.
Heute schaue ich mir mal Visual Studio prof. an, möchte sehen, ob diese Einschränkungen was mit der Express Version zu tun haben.
Am liebsten wurde ich mit der Express Version arbeiten, brauche aber dafür dringend Lösungen zum Datenbank Backup oder zur Verbindung zum MySQL.
Bevor ich keine Datenbank vernünftig ans Laufen bekomme, brauche ich gar nicht weiter zu lernen.
-
Was meinst du denn mit sichern? "Von Hand" oder soll ein (C++) Programm die Sicherung durchführen?
"Von Hand" geht relativ einfach im Management Studio: Datenbank, Kontext-Menu, Tasks ..., Backup Up... . Ich schätze das wird im Management Studio Express gleich sein.Programmatisch weiss ich jetzt nicht auswendig wie es genau geht, aber ich weiss dass man es über SQL Statements machen kann (wahrscheinlich irgendwelche (extended) stored procedures). Die MSDN sollte alle nötigen Infos enthalten.
BTW: "MEINPC\SQLEXPRESS" und "SQLEXPRESS" sind *vermutlich* die selbe Instanz. Die Variante "SQLEXPRESS" (also nur Instanzname ohne Hostname) hab' ich allerdings noch nie gesehen. Kann auch eigentlich nicht funktionieren, da bei "XYZ" das "XYZ" normalerweise als Hostname interpretiert wird. Mag aber sein dass Visual Studio irgendwo diese Variante verwendet wenn der Host der lokale PC ist.
-
Ja doch, standardmäßig wird die Instanz SQLEXPRESS installiert.
Mittlerweile weiß ich:
1. V c++ Express kann nur mit Datenbanken arbeiten, indem Datenbankdateien angelegt werden.
2. Das Management greift aber auf den Server zu und kann die Datenbankdateien nicht verarbeiten.
3. Eine Verbindung mit dem Server ist unter V C++ Express nicht möglich.Sichern: Ich möchte meine Daten manuell sichern, komme aber nicht dran.
Anders mit Visual Studio prof., dort kann ich mit Datenbankdateien und/oder mit dem Server arbeiten.
Zufälligerweise stellte ich aber auch fest, dass mit VS Prof. auch der Connector zum MySQL Server funktioniert. Genau das wollte ich eigentlich ursprünglich haben.
Somit verwerfe ich den ganzen Zirkus mit dem SQL Server und arbeite weiter mit meiner MySQL Datenbank.Für mich stellt sich nur noch die Frage, ob ich den MySQL Connector mit VS 2008 Standard benutzen kann oder ob ich dnn doch die wesentlich teurere Prof. Version benötige.
Habe dazu auch einen neuen Thread aufgemacht.
http://www.c-plusplus.net/forum/viewtopic-var-t-is-227211.htmlIch will die Software nicht kaufen um dann später doch Professionell kaufen zu müssen.
Testversion gibt es ja leider nicht.
-
oops, schande, das mit der express version wusste ich nicht, dass die keine "echten" SQL server connections kann. kommt mir aber irgendwie komisch vor.
sichern kannst du die datenbanken trotzdem, indem du, wenn keiner drauf zugreift, einfach die dateien kopierst
müsste gehen.
oder eben über SQL kommandos.
oder die dateien an den server attachen, sichern, und wieder detachen.was mit der express/standard version genau geht kann ich nicht sagen, ich habe bis jetzt angenommen dass es da keine derartigen (IMO bescheuerten) beschränkungen gibt.
-
Danke für die Rückmeldung.
Ich melde mich später noch einmal zu diesem Thema, im Moment versuche ich so Einiges.
-
So, es geht doch.
Nach langem Suchen und Probieren, läuft nun der MySQL Connector mit VC++ 2008 Express.
Man kann zwar im Datenbank Explorer keine Verbindung herstellen, man kann die Verbindung aber in seinen Tools herstellen und das funtkioniert sehr gut.