Considérations principales lors du passage de la programmation MS Access à SQL Server

8

Je suis un programmeur MS Access 100% autodidacte (la partie principale de mon travail est la programmation), je construis maintenant des bases de données plus grandes; toujours en utilisant MS Access comme interface utilisateur, mais SQL Server pour stocker toutes les données et faire plus de «travail».

En substance, ma question est; quels sujets dois-je savoir pour SQL Server que je n'ai probablement pas appris ou dont j'ai besoin lors de l'utilisation d'Access?

Ne pas vous chercher pour me dire comment faire quoi que ce soit, plus ce que vous pensez être les choses les plus importantes que je devrais faire une recherche - il y a beaucoup de sujets et beaucoup de détails, je ne veux pas me retrouver longtemps chemin sur un chemin moins précieux ...

Dépotoir:

  • Maintenance: quels sont les plus importants (vérifier la base de données, réduire la base de données, mettre à jour les statistiques, reconstruire, etc.)
  • Index - Je ne sais pas autant que je devrais, y a-t-il un bon livre / blog, etc. qui peut m'apprendre les bases?
  • Tout ce que j'ai manqué (il y en a probablement beaucoup, comme je l'ai dit, je suis nouveau sur SQL Server ...)

Si cela aide, je travaille pour un détaillant de taille moyenne et les bases de données sur lesquelles je travaille principalement couvrent des choses telles que

  • Plateforme de rapports (résume les ventes / reçus / stocks, etc. du système principal et fournit des rapports rapides)
  • Un outil de réconciliation entre un tiers et ce que nos magasins mettent à travers les registres (importe les données de tiers et fait des références croisées dans les journaux de transactions)
  • Stocke toutes les données relatives à nos promotions; produit, prix, projections, résultats réels, etc.
Simon1979
la source
Pourquoi SQl Server 2005? C'est un peu vieux, avec 3 versions principales derrière.
Marian
C'est ce que nous avons actuellement installé dans mon travail et comme je suis le seul à vraiment l'utiliser, je devrai démontrer quelle valeur je peux ajouter avec avant de mettre à niveau.
Simon1979
@ Simon1979 l'une des valeurs est d'avoir un chemin de mise à niveau simple. Dans SQL Server 2012, vous pouvez restaurer la sauvegarde de base de données à partir de SQL Server 2005, mais pas à partir d'une version antérieure (SQL Server 2000). Peut-être que la prochaine version de SQL Server ne vous permettra pas de restaurer la sauvegarde de base de données à partir de SQL Server 2005. Et la restauration d'une sauvegarde est l'un des moyens les plus simples de transférer des données à partir de différents serveurs
Max

Réponses:

4

Au fur et à mesure que vous en apprendrez plus sur SQL Server, vous découvrirez (à votre plaisir) un certain nombre de choses que vous pouvez faire dans SQL Server au niveau de la base de données que vous aviez auparavant à faire dans Access au niveau de l'application. Quelques exemples:

Déclencheurs: procédures définies au niveau de la table pour que les choses se produisent automatiquement chaque fois qu'il y a un INSERT / UPDATE / DELETE sur la table.

Procédures stockées: un peu similaires aux macros Access et aux petites procédures VBA que Subvous avez créées dans Access pour faire des "trucs utiles", sauf que dans SQL Server, elles font partie de la base de données elle-même. Ainsi, vous pouvez écrire une procédure stockée (SP) une fois et l'utiliser (presque) n'importe où, même dans des applications qui partagent la même base de données.

Fonctions: elles sont quelque peu analogues aux petits VBA que Functionvous avez écrits dans Access pour incorporer dans les requêtes, sauf que les fonctions SQL Server, comme les SP, sont plus étroitement liées à la base de données. Les fonctions SQL Server peuvent également être de valeur scalaire (renvoyer une seule valeur scalaire) ou de table (renvoyer un ensemble de lignes).

Fun astuces SQL: Il y a beaucoup de SQL fonctionnalités disponibles dans SQL Server qui ne sont pas pris en charge dans Access (Jet / ACE) SQL. Les "expressions de table communes" (CTE) et " RANKet PARTITION" sont celles qui m'ont donné "des moments" aha "" au début.

Je pourrais continuer, mais ce sont les choses que je me souviens avoir découvert très tôt et qui m'ont fait "penser à SQL Server".

Ne vous méprenez pas, je pense toujours qu'Access est un excellent outil lorsqu'il est utilisé de manière appropriée et devrait être sérieusement pris en compte pour

  • créer (ou simplement simuler) des applications frontales par rapport à un serveur principal SQL Server, et

  • effectuer le nettoyage des données, créer des requêtes et des rapports ad hoc et effectuer des tâches similaires sur vos données SQL Server.

Enfin, même si vous travaillerez avec SQL Server 2005, je vous recommande vivement d'obtenir une copie de SQL Server 2008 (ou 2012) Express pour l' apprentissage , principalement en raison des améliorations de l'EDI dans SQL Server Management Studio (à savoir, la saisie automatique et débogage interactif). Soyez simplement au courant des nouvelles fonctionnalités (2008+) que vous pouvez rencontrer et ne comptez pas sur elles pour votre code de production. (Ou, utilisez-les comme puces pour votre présentation pour la mise à niveau de SQL Server 2005 ....)

Gord Thompson
la source
4

Il y a beaucoup à apprendre ... en ligne ou par le biais de livres. Voici quelques premiers liens pour vous aider à démarrer (liste très incomplète, mais devrait vous occuper pendant un certain temps):

Les forums

Blogs

Livres

KookieMonster
la source
3

Ayant utilisé SQL Server depuis quelques années maintenant (et avant cet accès), je suggère ce qui suit.

  1. Sauvegarde et restauration - vous ne prenez plus une copie d'un fichier pour sauvegarder la base de données, selon vos besoins (taille, avez-vous besoin de restaurations à la minute, etc.) essayez de sauvegarder et de restaurer une base de données. Vous n'êtes rien sans vos données!
  2. Regardez les vidéos de Brent Ozar: http://www.youtube.com/brentozar - le gars est une légende de SQL Server. Il vise plus le côté technique, mais il y a aussi de bonnes vidéos pour débutants. J'ai beaucoup appris d'eux (même si le sujet est assez sec!)
  3. Maintenance - Je suppose que les besoins sont minimes si Access a été correct jusqu'à présent: à moins que vous n'ayez beaucoup de traitement, beaucoup de données (10 Go +) ou des requêtes complexes, vous pourriez très bien exécuter SQL Server sans faire de maintenance pendant des mois sans problème. La réindexation / reconstruction d'index (il y a une différence) est probablement la première chose que vous voudrez utiliser si vous avez beaucoup d'enregistrements.
  4. J'ai vraiment recommandé les escaliers sur SQL Server Central http://www.sqlservercentral.com/stairway/ - ce sont de bonnes introductions aux types d'index, aux types de données (ceux-ci diffèrent un peu d'Access!)
  5. Si vous craignez que votre base de données ne soit pas en parfait état, essayez la procédure stockée sp_blitz de Brent Ozar (Google pour cela - j'ai besoin de plus de réputation pour publier un lien supplémentaire!) - il vérifie beaucoup de statistiques / paramètres de base de données, fournit un liste prioritaire de ce qui doit être fait avec des liens vers le site Web pour offrir une discussion plus approfondie.

J'ai commencé à travailler avec SQL Server Reporting récemment, mais cela peut être difficile à configurer - pour la plupart des analyses de rentabilisation, obtenir qu'Excel récupère les données d'une procédure stockée SQL Server est souvent plus flexible pour les gestionnaires.

J'espère que cela vous aide, bienvenue à bord :)

Greg Robson
la source
2

Pour toute personne commençant par SQL Server, je recommanderais de commencer par apprendre les blocs de construction de base avant de vous lancer dans les choses de type DBA.

  1. Types et fonctions de base de différents objets SQL (tables, clés, vues, procédures stockées, fonctions définies par l'utilisateur, déclencheurs)
  2. Écriture de base T-SQL, DML & DDL

Une fois que vous les maîtrisez et que vous pouvez travailler sur SQL Server sans avoir à utiliser MS Access, en utilisant principalement les types T-SQL, vous pouvez passer à en savoir plus sur les tâches de base du type DBA, telles que:

  1. Restauration de sauvegarde

  2. Entretien

  3. Administration

Les sites MSDN et d'apprentissage de Microsoft vous proposeront des leçons et des didacticiels très utiles. Je comprends qu'il n'est pas toujours clair par où commencer, mais si vous suivez à peu près les listes ci-dessus, vous devriez être SQL-ing en un rien de temps.

Remarque : Bien que la plupart des cours de certification Microsoft SQL 2005 aient probablement été interrompus, vous pouvez toujours utiliser les ressources disponibles pour SQL 2008 R2. Je pourrais me faire tirer dessus pour avoir dit cela, mais SQL 2008 R2 est assez similaire à SQL 2005 (dans le contexte de ce que vous voulez apprendre) pour que vous puissiez étudier 2008 R2 et toujours être OK.

Enfin: Bienvenue sur dba.stackexchange.com et SQL Server

RoKa
la source
2

Je suis actuellement exactement dans la même situation que toi mon ami et je peux tout à fait comprendre. Je recommanderai donc le livre qui a résolu bon nombre des questions que j'avais sur le passage à SQL Server.

Livre: Guide du développeur Microsoft Access pour SQL Server par Mary Chipman et Any Baron

Le livre explique tout ce que vous devez savoir, des avantages de la sécurité aux autorisations des utilisateurs, etc. et surtout, il est expliqué de manière très lisible et simple.

Il existe probablement une version plus à jour de ce livre, mais c'est la version actuelle que j'utilise et il répond à tous mes besoins!

J'espère que cela vous aide autant que cela m'a aidé.

Bonne chance!

Justin
la source
2

Pour répondre à tes questions --

Maintenance: quels sont les plus importants (vérifier la base de données, réduire la base de données, mettre à jour les statistiques, reconstruire, etc.)

L'un des meilleurs solutons pour la maintenance est la sauvegarde de SQL Server, la vérification d'intégrité et la maintenance d'index et de statistiques. Il suffit de le lire et de le déployer. Testé et largement utilisé par la communauté SQLServer.

Index - Je ne sais pas autant que je devrais, y a-t-il un bon livre / blog, etc. qui peut m'apprendre les bases?

Escalier vers les index SQL Server - Excellente série du niveau de base au niveau avancé.

Tout ce que j'ai manqué (il y en a probablement beaucoup, comme je l'ai dit, je suis nouveau sur SQL Server ...)

Il y a bien plus que la maintenance et l'indexation dans SQL Server. Ma suggestion serait de lire tout contenu publié par les sites ci-dessous ... (Ils sont les meilleurs !!)

SQLSkills.com

brentozar.com

SQLServerCentral.com

En travaillant régulièrement avec SQLServer, vous ressentirez le besoin d'acquérir plus de connaissances dans différents domaines tels que la récupération après sinistre, l'optimisation des performances, la haute disponibilité, la corruption de base de données, etc.

Remarque: Il existe une pléthore d'informations sur le Web avec d'excellents mauvais conseils. Donc, mon conseil serait de se renseigner auprès des personnes qui ont travaillé et travaillent avec SQLServer au jour le jour.

Enfin, consultez cette formation de SQLSkills - l'une des meilleures proposées. J'ai personnellement pris IE1 et IE2 et croyez-moi. Vous sentirez la différence!

Kin Shah
la source
0

Une chose très intéressante que vous pouvez étudier sur SQL Server est le plan d'exécution de requête et le conseil de requête SQL que vous pouvez utiliser lorsque le plan d'exécution de requête n'est pas celui que vous attendez.

Le plan d'exécution des requêtes est un sujet avancé, mais il peut vous aider à comprendre les performances de SQL Server.

Naturellement, vous ne devez pas abuser de l'indice de requête , d'après mon expérience, ils sont le dernier recours lorsqu'une requête ne fonctionne pas avec les performances attendues.

Max
la source