2

Bei der Firma, die ich entwickle, führen die Entwickler normalerweise Datenbanken auf ihren Laptops aus. Wir haben auch eine Instanz von SQL Server 2005 und SQL Server 2000 Servern, die als virtuelle Maschinen unter einer MSDN-Lizenz ausgeführt werden.Ist SQL Server 2005 Express gut genug für die Entwicklung?

Ich bin kein MSDN Guru und nicht wirklich vertraut mit den Ins-und-outs von MSDN, also sind meine Fragen wie folgt.

Wäre jeder Entwickler in der Lage, eine MSDN-Version des SQL Servers für Entwicklungszwecke auf seinem Laptop zu installieren, wenn wir genügend Abonnements haben? Sollten wir in der Ungewissheit stattdessen SQL Server Express für unsere Entwicklungszwecke verwenden und die Datenbanken später auf unsere zentralen Datenbankserver migrieren, nachdem wir alle erforderlichen Änderungen an den Datenbanken vorgenommen haben? Gibt es wesentliche Unterschiede zwischen SQL Server Express und SQL Server Enterprise hinsichtlich der Funktionalität?

+0

Bitte verwenden Sie nicht das Tag "mssql". Bitte verwenden Sie stattdessen "sql-server". Außerdem ist das Produkt "SQL Server", nicht "MS SQL 2005". –

+0

SQL Server Enterprise und Developer unterstützen bestimmte Skalierbarkeitsfunktionen wie Tabellenpartitionierung und Multi-Thread-Indexerstellung, Online-Neuindizierung usw. nicht in Express. Express entspricht grundsätzlich der Standard Edition, jedoch mit den Einschränkungen, auf die andere hingewiesen haben (RAM und Dateigröße, kein SQL Server-Agent usw.) Wenn Sie MSDN für die Entwickler haben, würde ich die Developer Edition für Ihre Produktionsumgebung verwenden. – onupdatecascade

Antwort

1

Ich kann mich nicht erinnern, irgendwelche funktionellen Unterschiede zwischen der Express-Version und der Vollversion. Es gibt nur Größenbeschränkungen für Datenbanken und wie viel es verarbeiten kann. Ich könnte mich irren, aber daran erinnere ich mich.

+1

Sie erinnern sich richtig - die SQL Server Express-Version ist auf 1 CPU, 4 GB Datenbankgröße (pro Datenbank) begrenzt und wird nur 1 GB RAM (oder etwas ähnliches) verwenden - aber ansonsten ist es funktional gleichwertig vollwertiger SQL Server –

+0

das ist gut zu wissen :) – Aduljr

0

Sie benötigen "SQL Server Express mit erweiterten Diensten", wenn Sie die Volltextindizierung oder Berichterstellungsdienste in der von Ihnen entwickelten Anwendung verwenden möchten. Ansonsten sind sie funktional gleichwertig zu Vollversionen.

Es gibt Beschränkungen für die Datenbankgröße, die verwendeten CPU-Kerne und die Speicherauslastung, dies sollte jedoch im Allgemeinen kein Problem darstellen. Die Grenzen für die aktuelle Version sind 4 GB pro Datenbank, 1 CPU-Core, 1 GB RAM.

Der SQL Server Profiler ist ein sehr nützliches Tool, das in den Express-Editionen nicht verfügbar ist. Dies wäre der Hauptgrund für die Installation der Developer Edition von SQL Server.

4

Wenn Ihr MSDN-Abonnement zulässig ist, empfehle ich Ihren Entwicklern, die Developer Edition von SQL 2005 oder SQL 2008 zu installieren, da diese Version den SQL-Profiler enthält, der es den Entwicklern erleichtert, SQL-Engpässe zu lokalisieren.

2

SQL Server Express ist ausreichend für Produktion für viele kleine Anwendungen (vor allem zum Ersetzen von Access usw.).

Das echte Ding ist: Ihre Entwickler sollten die gleichen (oder ähnlich) verwenden, wie Sie beabsichtigen, in der Produktion zu verwenden, um irgendwelche "Überraschungen" in letzter Minute "nicht unterstützt"/"arbeitet anders" zu vermeiden.

Wenn Sie beabsichtigen, zu implementieren, dann entwickeln Sie gegen Express.

Wenn Sie beabsichtigen, in Unternehmen zu implementieren, dann entwickeln Sie gegen, na ja, Entwickler-Edition, die das gleiche ist wirklich.

Größe ist ein Faktor, obwohl auch; obwohl ich gegen Unternehmen einsetze, benutze ich Express auf meinem Laptop (bei der Arbeit im Zug usw.) aus Platzgründen. Aber ich gehe immer zu meinem Hauptdesktop (mit mehr Festplatten/Arbeitsspeicher und einer VM wie meine Produktionsplattform konfiguriert), um die Validierung usw. durchzuführen.

1

Betrachtet man es aus der Sicht eines Unternehmens nur ... einige Gedanken ...

Entwickeln gegen Server-Installationen (virtuell, real, was auch immer) bedeutet, dass Sie sich gegen etwas entwickeln, das Produktion oder UAT ähnelt. Ich denke, es fördert auch Best Practice und Disziplin.

Die Express-Edition hat Beschränkungen, dh Sie können die Daten oder Bedingungen, die Sie in der Produktion haben, nicht replizieren. Keine der Datenbanken, an denen ich arbeite, würde in den Express-Limits laufen.

Wenn ich Daten entferne, so dass ich lokal ausführen kann, habe ich keine Hinweise darauf, wie meine 1000 Zeilen Abfragen funktionieren werden, wenn ich 200 Millionen in Produktion habe. Und vergessen Sie nicht, Partitionierung, indizierte Ansichten und andere gute Sachen zu.

Ich habe viele Anwendungen von Drittanbietern gesehen, die SQL Server auf dem Webserver oder einer freigegebenen SQL/App-Box benötigen, oder die sysadmin-Rechte benötigen. Für mich sah das immer so aus, als ob die Zielgruppe nicht angesprochen und lokal entwickelt wurde.

Der Vorteil von Serverinstallationen ist Kapazität und Leistung. Wie werden Sie Abfrage auf Ihrer 200 Millionen Zeile/50 GB-Datenbank zu tunen, mit den Effekten oder Parallelität usw.

Sagen, dass: Entwickler Edition kann auch lokal auf Ihrem Laptop installiert werden.

Schließlich sind in vielen Geschäften lokale SQL Server-Installationen nicht zulässig. Zurück in meinen 100% DBA Tagen, habe ich sie jagen ...

0

Wenn Ihr Hauptanliegen die Kosten ist, kaufen Sie eine Developer Edition für jeden Entwickler. At $49 (neunundvierzig) erhalten Sie eine vollwertige Enterprise-Edition-Funktionalität, mit Tools und SQL-Agent und Volltextsuche und SSIS und BI und allen Arbeiten. Ist nur für Entwicklungszwecke lizenziert. Und es kann tatsächlich günstiger sein, als ein MSDN-Abonnement oder ein Technet-Abonnement zu kaufen.

Entwickeln gegen Express Edition ist nicht machbar, wenn Sie ein Produkt entwickeln, das in der Bereitstellung Standard oder Enterprise Edition Funktionalität erfordert. Ihre Entwickler können einige Funktionen nicht verwenden (SQL-Agent-Jobs, SSIS, BI (OLAP, DM), Berichts-Generator, vollständige Replikation, Spiegelung usw.), können nicht gegen große Datenmengen testen, werden es nicht tun über die Management-Tools (SSMS) verfügen.