Muss ich zum installieren von sql server auf jedem client, wenn meine software benutzt?
Wenn wir entwickeln software in c# (oder im Grunde .Net), die wir nicht installieren Sie visual studio, um jeden client. Der client muss nur erforderlich .Net framework (1.0, 1.1, 2.0, 3.0 etc) installiert und wir sind gut zu gehen.
Gleiche Weise, wenn wir machen, machen eine app in VC2008, er braucht nur Visual C++ 2008 runtime (von der MS-Website frei, über 4-5Mb). Also, im Grunde, wir müssen nur runtime environment. aber es ist nicht jeder SQL-server-2008-runtime - (oder ich bin dessen nicht bewusst?).
So, meine Frage ist, ob meine software mit SQL Server 2008, welche Laufzeit (oder etwas anderes) wird benötigt auf der client-Seite, damit es funktioniert?
Auch, eine weitere Sache, die ich sehen, es ist ein SQL Server express edition, die kann ich angeblich den Einsatz in Bereitstellung, aber es scheint ein bisschen schwer zu wissen, dass, wenn meine software, wenn Sie nur 5, 10 oder 20 MB, die ich brauche zu installieren, die über einen gig-nur, damit Benutzer es ausführen zu können.
Schließlich, wenn ich bin mit SQL Server 2008 Developer Edition (die ich bin, oder enterprise one nicht sicher) und ich installierte SQL Server express auf dem client, wäre es nicht dazu führen, einige problem, wenn meine software nutzt einige Funktionen, die nicht unterstützt werden in der express edition? (sagen Sie die Nummer der Datenbank oder der gleichzeitigen Verbindung, oder alles andere).
So? Welche Laufzeit ist erforderlich für Sie? Und wenn die Installation von sql server express ist die einzige option, was, wenn ich über einige features, die nicht unterstützt werden in der express edition? Sicherlich, ich kann nicht tun, eine vollständige Installation der developer edition auf jedem client!
EDIT: falls dies helfen, mein Aktuelles Projekt ist ein Bibliotheks-management-system, und es wird installiert werden, der client (der computer, den der Bibliothekar für wen mache ich das), also es ist kein Fall von server-client hier. Also sollte ich die Installation von sql express auf seinem Rechner? Auch, als YvesR
zeigte in seiner Antwort, der link zeigt nur drei Ausgaben (Haupt), aber http://msdn.microsoft.com/en-us/library/cc645993%28v=SQL.110%29.aspx zeigt ausführlichen Vergleich. Also, in diesem speziellen Szenario, das ich gerade beschrieben habe, würde es reichen, wenn ich einfach eingesetzt, und die express-edition auf der client-Maschine?
Nun, über das, was ich sagte über einige Funktionen nicht zur Verfügung stehen, wird in der express-edition
http://msdn.microsoft.com/en-us/library/cc645993(v=SQL.110).aspx#CrossBoxScale
zeigt, dass die express-edition beschränkt sich auf eine Datenbank der Größe 10 GB, jetzt weiß ich, dass ist mehr als genug in dem Szenario, das ich oben beschrieben, aber was ist, wenn in einigen anderen Fällen brauche ich mehr als das? Als express-edition wird es nicht tun, als, wie soll ich bereitstellen?
Schließlich http://www.microsoft.com/sqlserver/en/us/get-sql-server/how-to-buy.aspx zeigt zwei weitere edition, Kompakt und Entwickler, ich weiß über die Entwickler, aber was ist diese kompakt-edition? Und noch wichtiger, warum sind diese nicht comared oder aufgeführt hier?
Edit 2: der 4 GB, die Grenze, nicht 10 GB. 10 GB ist in SQL Server 2008 R2 Express und höher, 4 GB in SQL Server 2008 Express.
marc_s: vielen Dank dafür!
- Die Developer Edition ist - wie der name schon sagt - ist nur dann rechtlich zulässig in Entwicklung - du bist nicht erlaubt, um damit in die Produktion.
- Wenn es ein system nur für eine person, dann bin ich ziemlich sicher, du wirst eine harte Zeit haben, stärker als die 4 GB Datenbankgröße für die SQL Server Express bis zur version 2008 und SQL Server 2008 R2 (und 2012), die Größe wurde optimiert, um den 10 GB - das sollte reichlich genug!
- Mist! Es sind 4Gb in SQL 2008? wtf??? Anyways, ich werde nicht entwachsen, dass in einem single-user Szenario, aber falls ich die brauchen große, und kann nicht ein client-server-setup, was dann? Und was ist das compact edition erwähnt in den link, den ich gegeben? Ist es nur für 2012 oder auch für 2008?
- Comapct-Edition ist eine "SQL Server-look-a-like" - es fühlt sich an wie SQL-Server, der es versteht, T-SQL, aber es ist sehr begrenzt - keine gespeicherten Prozeduren, nicht alle Datentypen sind unterstützt. Aber auf der Seite: es ist vollständig in nur ein paar DLL ' s - keine server-installation nötig, es ist einfach ein Teil Ihrer Anwendung. Limit ist auch 4 GB für den einzelnen
.sdf
- Datei, die enthält Ihre Datenbank - PS: es ist 4 GB bis zu 2008 Express - von 2008 R2 - Express und ab, es ist 10 GB.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie eine SQL Server-Datenbank bestehen bleiben die Daten in Ihrer Anwendung, die Sie benötigen
ein. client-server-Infrastruktur, in dem Ihr client eine Verbindung zu einem zentralen SQL-Server über LAN
b. oder einen client installiert sql server-edition (das ist, was Sie wollen, Schätze ich mal). Für diese können Sie SQL Server Express edition verwenden oder einfach nur eine MSDE (Desktop Edition).
Siehe für weitere details z.B. dieser blog-post http://searchsqlserver.techtarget.com/tip/SQL-Server-2005-Express-vs-Desktop-Engine-MSDE oder google für Sie, viele Informationen von MS selbst über MSDE.
EDIT: Seit 2012 gibt es nicht mehr MSDE, SQL Server 2012 Express bringt einen Modus wie MSDE hat. Siehe hier: http://www.microsoft.com/sqlserver/en/us/editions/2012-editions/express.aspx
Und wie man hier sehen kann: http://www.microsoft.com/sqlserver/en/us/editions.aspx, es sollte nicht sein, eine Funktion, die Sie verwenden, nicht verfügbar ist für eine desktop-Anwendung imho.
YvesR
beschrieben. Ich aktualisiert meine Frage einschließlich, und fügte einige weitere details über meine aktuellen arbeiten finden Sie, wenn Sie sich wieder!OK, lass uns wieder ein bisschen. Haben Sie eine Anforderung für jeder von Ihre software Kunden haben eine eigene lokale Datenbank? Wenn dies der Fall ist, gibt es weit einfachere Möglichkeiten der Speicherung von Daten auf dem client (ich würde vorschlagen, Serialisierung, um die Datei als ein Ansatz).
Wenn Ihre Voraussetzung ist, um jede client-Verbindung über eine zentrale Datenbank, dann brauchen Sie nicht alle runtime-Komponenten zu anderen als der .net-core-Bibliotheken.
Es ist keine client-runtime erforderlich für die access-Datenbank neben der .NET framework installiert ist (was Sie brauchen für alle .NET-Programme sowieso).
Wenn Sie möchten, dass die Datenbank sich auf dem gleichen Rechner wie der client, Kostenlose Möglichkeiten wären z.B. SQL-Server Express oder SQLite.
Hier sind zwei Möglichkeiten für Windows-Anwendungen:
Desktop-Anwendung, die verwendet werden, wird für jeden Kunden separat ohne dass ein computer als server. Sie brauchen nur zu installieren
SSMS
und die Anwendung für Ihre Kunden. Die Update/Delete/Insert-Operationen separat durchgeführt werden.Client-Server-Ansatz, installieren
SSMS
und fügen Sie Ihre DB auf einem computer. Diese computer dienen Ihren Kunden als server. Dann installieren Sie die exe-Datei auf jedem client-computer verwenden, stellen Sie sicher, dass die clients mit dem server verbunden sind, über die IP.