Hauptüberlegungen beim Übergang von der MS Access-Programmierung zu SQL Server

8

Ich bin ein 100% autodidaktischer MS Access-Programmierer (Hauptteil meiner Arbeit ist das Programmieren). Ich baue jetzt größere Datenbanken auf. Verwenden Sie weiterhin MS Access als Benutzeroberfläche, aber SQL Server, um alle Daten zu speichern und mehr von der 'Arbeit' zu erledigen.

Im Wesentlichen ist meine Frage; Welche Themen muss ich für SQL Server wissen, die ich bei der Verwendung von Access wahrscheinlich nicht gelernt oder benötigt habe?

Ich suche nicht, dass du mir sagst, wie ich etwas machen soll, sondern eher, was du denkst, sind die wichtigsten Dinge, die ich recherchieren sollte - es gibt viele Themen und verdammt viele Details, ich möchte mich nicht lange finden Weg einen weniger wertvollen Weg hinunter ...

Brain Dump:

  • Wartung: Was sind die wichtigsten (Datenbank überprüfen, Datenbank reduzieren, Statistiken aktualisieren, neu erstellen usw.)
  • Indizes - Ich weiß nicht so viel wie ich sollte. Gibt es ein gutes Buch / Blog usw., das mir die Grundlagen nach oben beibringen kann?
  • Alles andere, was ich vermisst habe (es gibt wahrscheinlich viele, wie gesagt, ich bin neu in SQL Server ...)

Wenn es mir hilft, für einen mittelgroßen Einzelhändler zu arbeiten, decken die Datenbanken, an denen ich hauptsächlich arbeite, solche Dinge ab wie

  • Berichtsplattform (fasst Verkäufe / Einnahmen / Inventar usw. aus dem Hauptsystem zusammen und bietet schnelle Berichte)
  • Ein Abstimmungswerkzeug zwischen einem dritten Teil und dem, was unsere Filialen durch Register führen (importiert Daten von Dritten und verweist auf die Transaktionsprotokolle).
  • Speichert alle Daten, die mit unseren Werbeaktionen zu tun haben. Produkt, Preise, Prognosen, tatsächliche Ergebnisse usw.
Simon1979
quelle
Warum SQl Server 2005? Es ist ein bisschen alt, mit 3 Hauptversionen dahinter.
Marian
Es ist das, was wir derzeit bei meiner Arbeit installiert haben, und da ich der einzige bin, der es wirklich verwendet, muss ich zeigen, welchen Wert ich damit hinzufügen kann, bevor sie aktualisiert werden.
Simon
@ Simon1979 Einer der Werte ist ein einfacher Upgrade-Pfad. In SQL Server 2012 können Sie die DB-Sicherung von SQL Server 2005 wiederherstellen, jedoch nicht von einer früheren Version (SQL Server 2000). Möglicherweise können Sie mit der nächsten Version von SQL Server keine DB-Sicherung von SQL Server 2005 wiederherstellen. Die Wiederherstellung einer Sicherung ist eine der einfachsten Möglichkeiten, Daten von verschiedenen Servern zu übertragen
Max

Antworten:

4

Wenn Sie mehr über SQL Server erfahren, werden Sie (zu Ihrer Freude) eine Reihe von Funktionen entdecken, die Sie in SQL Server auf Datenbankebene ausführen können, die Sie zuvor in Access auf Anwendungsebene ausführen mussten. Einige Beispiele sind:

Trigger: Auf Tabellenebene definierte Prozeduren, mit denen Dinge automatisch ausgeführt werden, wenn sich INSERT / UPDATE / DELETE in der Tabelle befindet.

Gespeicherte Prozeduren: Ähnlich wie Access-Makros und die kleinen VBA-Prozeduren, die SubSie in Access erstellt haben, um "nützliche Dinge" zu tun, außer dass sie in SQL Server Teil der Datenbank selbst sind. Sie können also eine gespeicherte Prozedur (SP) einmal schreiben und (fast) überall verwenden, auch für Anwendungen, die dieselbe Datenbank verwenden.

Funktionen: Diese sind etwas analog zu den kleinen VBAs, die FunctionSie in Access geschrieben haben, um sie in Abfragen zu integrieren, mit der Ausnahme, dass SQL Server-Funktionen wie SPs enger an die Datenbank gebunden sind. SQL Server-Funktionen können auch skalarwertig (Rückgabe eines einzelnen Skalarwerts) oder tabellarisch (Rückgabe eines Rowsets) sein.

Unterhaltsame SQL-Tricks: In SQL Server sind viele SQL-Funktionen verfügbar, die in Access (Jet / ACE) SQL nicht unterstützt werden. "Common Table Expressions" (CTEs) und " RANKund PARTITION" gaben mir "Aha " -Momente, als ich anfing.

Ich könnte weitermachen, aber das sind die Dinge, an die ich mich erinnere, als ich sie früh entdeckte, die mich zum "Nachdenken in SQL Server" gebracht haben.

Verstehen Sie mich nicht falsch, ich denke immer noch, dass Access ein ausgezeichnetes Werkzeug ist, wenn es angemessen verwendet wird, und sollte ernsthaft in Betracht gezogen werden

  • Erstellen (oder einfach nur Mock-up) von Front-End-Anwendungen gegen ein SQL Server-Back-End und

  • Führen Sie eine Datenbereinigung durch, erstellen Sie Ad-hoc-Abfragen und Berichte und führen Sie ähnliche Aufgaben für Ihre SQL Server-Daten aus.

Schließlich, auch wenn Sie werden arbeiten mit SQL Server 2005 Ich empfehle , dass Sie eine Kopie von SQL Server 2008 (oder 2012) Express erhalten für das Lernen , vor allem wegen der IDE - Erweiterungen in SQL Server Management Studio (nämlich die automatische Vervollständigung und interaktives Debuggen). Beachten Sie nur die neueren Funktionen (2008+), auf die Sie möglicherweise stoßen, und verlassen Sie sich bei Ihrem Produktionscode nicht auf diese. (Oder verwenden Sie sie als Aufzählungszeichen für Ihr Pitch, um ein Upgrade von SQL Server 2005 durchzuführen ....)

Gord Thompson
quelle
4

Es gibt viel zu lernen ... entweder online oder in Büchern. Hier sind ein paar erste Links, um Ihnen den Einstieg zu erleichtern (sehr unvollständige Liste, sollte Sie aber eine Weile beschäftigen):

Foren

Blogs

Bücher

KookieMonster
quelle
3

Nachdem ich SQL Server seit einigen Jahren (und vor diesem Zugriff) verwendet habe, würde ich Folgendes vorschlagen.

  1. Sichern und Wiederherstellen - Sie nehmen keine Kopie einer Datei mehr zum Sichern der Datenbank, abhängig von Ihren Anforderungen (Größe, benötigen Sie minutengenaue Wiederherstellungen usw.). Versuchen Sie, eine Datenbank zu sichern und wiederherzustellen. Sie sind nichts ohne Ihre Daten!
  2. Sehen Sie sich die Videos von Brent Ozar an: http://www.youtube.com/brentozar - der Typ ist eine SQL Server-Legende. Es richtet sich eher an die technische Seite, aber es gibt auch einige gute Anfängervideos. Ich habe viel von ihnen gelernt (auch wenn das Thema ziemlich trocken ist!)
  3. Wartung - Ich vermute, dass die Anforderungen minimal sind, wenn Access bis jetzt in Ordnung war: Wenn Sie nicht viel Verarbeitung, viele Daten (10 GB +) oder komplexe Abfragen haben, können Sie SQL Server ohne Probleme monatelang ohne Wartung ausführen . Index-Neuindizierungen / Neuerstellungen (es gibt einen Unterschied) sind wahrscheinlich das erste, was Sie verwenden möchten, wenn Sie viele Datensätze haben.
  4. Ich habe die Treppen in SQL Server Central http://www.sqlservercentral.com/stairway/ wirklich empfohlen - sie sind eine großartige Einführung in die Indextypen und Datentypen (diese unterscheiden sich erheblich von Access!).
  5. Wenn Sie jemals befürchten, dass Ihre Datenbank nicht in einem Top-Zustand ist, versuchen Sie es mit der gespeicherten Prozedur sp_blitz von Brent Ozar (Google dafür - ich brauche mehr Reputation, um einen zusätzlichen Link zu veröffentlichen!) - sie überprüft viele Datenbankstatistiken / -parameter und bietet eine Priorisierte Liste der Aufgaben mit Links zur Website, um eine eingehendere Diskussion zu ermöglichen.

Ich habe vor kurzem angefangen, mit SQL Server-Berichten zu arbeiten, aber die Einrichtung kann schwierig sein. In den meisten Geschäftsfällen ist es für Manager häufig flexibler, Excel zum Abrufen von Daten aus einer gespeicherten SQL Server-Prozedur zu veranlassen.

Hoffe das hilft, willkommen an Bord :)

Greg Robson
quelle
2

Für alle, die mit SQL Server beginnen, würde ich empfehlen, zuerst die grundlegenden Bausteine ​​zu lernen, bevor Sie sich mit den Dingen vom Typ DBA befassen.

  1. Grundlegende Typen und Funktionen verschiedener SQL-Objekte (Tabellen, Schlüssel, Ansichten, gespeicherte Prozeduren, benutzerdefinierte Funktionen, Trigger)
  2. Schreiben von Basic T-SQL, DML & DDL

Sobald Sie diese beherrschen und mit SQL Server arbeiten können, ohne MS Access verwenden zu müssen, wobei hauptsächlich T-SQL-Typen verwendet werden, können Sie weitere Informationen zu den grundlegenden Aufgaben vom Typ DBA erhalten, z.

  1. Backup wiederherstellen

  2. Instandhaltung

  3. Verwaltung

Auf den MSDN & Learning-Websites von Microsoft finden Sie sehr nützliche Lektionen und Tutorials. Ich verstehe, dass es nicht immer klar ist, wo man anfangen soll, aber wenn Sie den obigen Listen grob folgen, sollten Sie in kürzester Zeit SQL-ing sein.

Hinweis : Während die meisten Microsoft-Zertifizierungskurse für SQL 2005 wahrscheinlich abgebrochen wurden, können Sie die verfügbaren Ressourcen für SQL 2008 R2 weiterhin verwenden. Ich werde vielleicht dafür erschossen, dass ich das sage, aber SQL 2008 R2 ähnelt SQL 2005 (im Kontext dessen, was Sie lernen möchten), sodass Sie 2008 R2 studieren und trotzdem in Ordnung sein können.

Zuletzt: Willkommen bei dba.stackexchange.com und SQL Server

RoKa
quelle
2

Ich bin derzeit in genau der gleichen Situation wie Sie, mein Freund, und ich kann das vollkommen verstehen. Daher werde ich das Buch empfehlen, das viele der Fragen gelöst hat, die ich im Zusammenhang mit dem Wechsel zu SQL Server hatte.

Buch: Microsoft Access-Entwicklerhandbuch für SQL Server von Mary Chipman und Any Baron

Das Buch erklärt alles, was Sie wissen müssen, von Sicherheitsvorteilen bis hin zu Benutzerberechtigungen usw. und das Beste ist, dass es auf sehr lesbare und unkomplizierte Weise erklärt wird.

Es gibt wahrscheinlich eine aktuellere Version dieses Buches, aber dies ist die aktuelle, die ich verwende, und sie erfüllt alle meine Anforderungen!

Hoffe es hilft dir genauso wie es mir geholfen hat.

Viel Glück!

Justin
quelle
2

Um Ihre Fragen zu beantworten -

Wartung: Was sind die wichtigsten (Datenbank überprüfen, Datenbank reduzieren, Statistiken aktualisieren, neu erstellen usw.)

Eine der besten Lösungen für die Wartung ist die SQL Server-Sicherung, die Integritätsprüfung sowie die Index- und Statistikwartung. Lesen Sie sie einfach durch und stellen Sie sie bereit. Von der SQLServer-Community getestet und weit verbreitet.

Indizes - Ich weiß nicht so viel wie ich sollte. Gibt es ein gutes Buch / Blog usw., das mir die Grundlagen nach oben beibringen kann?

Treppe zu SQL Server-Indizes - Hervorragende Serien von der Grundstufe bis zur Fortgeschrittenenstufe.

Alles andere, was ich vermisst habe (es gibt wahrscheinlich viele, wie gesagt, ich bin neu in SQL Server ...)

In SQL Server gibt es viel mehr als nur Wartung und Indizierung. Mein Vorschlag wäre, sich über alle Inhalte zu informieren, die auf den folgenden Websites veröffentlicht wurden ... (Sie sind die besten !!)

SQLSkills.com

brentozar.com

SQLServerCentral.com

Wenn Sie regelmäßig mit SQLServer arbeiten, müssen Sie mehr Wissen in verschiedenen Bereichen wie Notfallwiederherstellung, Leistungsoptimierung, Hochverfügbarkeit, Datenbankbeschädigung usw. erwerben.

Hinweis: Es gibt eine Vielzahl von Informationen im Internet, die auch ausgezeichnete schlechte Ratschläge enthalten. Mein Rat wäre daher, sich von den Leuten informieren zu lassen, die täglich mit SQLServer gearbeitet haben und arbeiten.

Überprüfen Sie abschließend diese Schulung von SQLSkills - eine der am besten angebotenen. Ich persönlich habe IE1 und IE2 genommen und vertraue mir. Sie werden den Unterschied spüren!

Kin Shah
quelle
0

Eine sehr interessante Sache , die Sie auf SQL Server studieren können , ist der Abfrageausführungsplan und den SQL - Abfragehinweis können Sie verwenden , wenn der Abfrageausführungsplan nicht ist , was Sie erwarten.

Der Abfrageausführungsplan ist ein erweitertes Thema, kann Ihnen jedoch helfen, die Leistung von SQL Server zu verstehen .

Natürlich sollten Sie den Abfragehinweis nicht missbrauchen. Nach meiner Erfahrung sind sie der letzte Ausweg, wenn eine Abfrage nicht mit der erwarteten Leistung funktioniert.

Max
quelle