Consideraciones principales al pasar de la programación de MS Access a SQL Server

8

Soy un programador 100% autodidacta de MS Access (la parte principal de mi trabajo es la programación), ahora estoy construyendo bases de datos más grandes; sigo usando MS Access como la interfaz de usuario, pero SQL Server para almacenar todos los datos y hacer más del "trabajo".

En esencia mi pregunta es; ¿Qué temas necesito saber para SQL Server que probablemente no aprendí o no necesité al usar Access?

No busco que me digas cómo hacer nada, más lo que crees que son las cosas más importantes que debería investigar: hay muchos temas y muchos detalles, no quiero encontrarme mucho tiempo camino por un camino menos valioso ...

Volcado cerebral:

  • Mantenimiento: cuáles son los más importantes (verificar la base de datos, reducir la base de datos, actualizar las estadísticas, reconstruir, etc.)
  • Índices - No sé tanto como debería, ¿hay algún buen libro / blog, etc. que pueda enseñarme lo básico?
  • Cualquier otra cosa que me haya perdido (probablemente haya muchas, ya que dije que soy nuevo en SQL Server ...)

Si me ayuda, trabajo para un minorista de tamaño medio y las bases de datos en las que trabajo principalmente para cubrir cosas como

  • Plataforma de informes (resume ventas / recibos / inventario, etc. del sistema principal y proporciona informes rápidos)
  • Una herramienta de conciliación entre una tercera parte y lo que nuestras tiendas ponen a través de registros (importa datos de terceros y hace referencias cruzadas a los registros de transacciones)
  • Almacena todos los datos relacionados con nuestras promociones; producto, precios, proyecciones, resultados reales, etc.
Simon1979
fuente
¿Por qué SQl Server 2005? Es un poco viejo, con 3 versiones principales detrás.
Marian
Es lo que hemos instalado actualmente en mi trabajo y como soy el único que realmente lo uso, tendré que demostrar qué valor puedo agregar con él antes de que se actualicen.
Simon1979
@ Simon1979 uno de los valores es tener una ruta de actualización simple. En SQL Server 2012 puede restaurar la copia de seguridad de DB desde SQL Server 2005, pero no desde una versión anterior (SQL Server 2000). Tal vez la próxima versión de SQL Server no le permita restaurar la copia de seguridad de la base de datos de SQL Server 2005. Y restaurar una copia de seguridad es una de las formas más fáciles de transferir datos de diferentes servidores
máximo

Respuestas:

4

A medida que aprenda más sobre SQL Server, descubrirá (para su deleite) varias cosas que puede hacer en SQL Server a nivel de base de datos que anteriormente tenía que hacer en Access a nivel de aplicación. Algunos ejemplos incluyen:

Desencadenantes: procedimientos definidos a nivel de tabla para hacer que las cosas sucedan automáticamente cada vez que hay un INSERT / UPDATE / DELETE en la tabla.

Procedimientos almacenados: algo similar a las macros de Access y esos pequeños procedimientos de VBA Subque creó en Access para hacer "cosas útiles", excepto que en SQL Server son parte de la base de datos. Por lo tanto, puede escribir un Procedimiento almacenado (SP) una vez y usarlo (casi) en cualquier lugar, incluso en aplicaciones que comparten la misma base de datos.

Funciones: son algo análogas a los pequeños VBA Functionque escribió en Access para incorporar a las consultas, excepto que las funciones de SQL Server, como los SP, están más estrechamente vinculadas a la base de datos. Además, las funciones de SQL Server pueden ser de valor escalar (devolver un solo valor escalar) o de tabla (devolver un conjunto de filas).

Trucos divertidos de SQL: hay muchas funciones de SQL disponibles en SQL Server que no son compatibles con Access (Jet / ACE) SQL. Las "expresiones de tabla comunes" (CTE) y " RANKy PARTITION" son las que me dieron "momentos" ajá "cuando comenzaba.

Podría continuar, pero estas son las cosas que recuerdo haber descubierto al principio que me hicieron "pensar en SQL Server".

No me malinterpreten, sigo pensando que Access es una herramienta excelente cuando se usa de manera adecuada, y se debe considerar seriamente como una forma de

  • construir (o simplemente simular) aplicaciones front-end contra un servidor SQL Server, y

  • realice la limpieza de datos, cree consultas e informes ad-hoc y realice tareas similares en sus datos de SQL Server.

Finalmente, a pesar de que trabajará con SQL Server 2005, le recomiendo que obtenga una copia de SQL Server 2008 (o 2012) Express para aprender , principalmente debido a las mejoras de IDE en SQL Server Management Studio (es decir, autocompletar y depuración interactiva). Solo tenga en cuenta las características más recientes (2008+) que pueda encontrar y no confíe en ellas para su código de producción. (O úselos como viñetas para que su lanzamiento se actualice desde SQL Server 2005 ...)

Gord Thompson
fuente
4

Hay mucho que aprender ... ya sea en línea o a través de libros. Aquí hay algunos primeros enlaces para comenzar (lista muy incompleta, pero debería mantenerte ocupado por un tiempo):

El

Blogs

Libros

KookieMonster
fuente
3

Después de haber usado el servidor SQL durante algunos años (y antes de ese acceso), sugeriría lo siguiente.

  1. Copia de seguridad y restauración: ya no está tomando una copia de un archivo para hacer una copia de seguridad de la base de datos, dependiendo de sus necesidades (tamaño, si necesita restauraciones hasta el último minuto, etc.) intente hacer una copia de seguridad y restaurar una base de datos. ¡No eres nada sin tus datos!
  2. Vea los videos de Brent Ozar: http://www.youtube.com/brentozar : el tipo es una leyenda de SQL Server. Está dirigido más al aspecto técnico, pero también hay algunos buenos videos para principiantes. He aprendido mucho de ellos (¡incluso si el tema es bastante seco!)
  3. Mantenimiento - Supongo que las necesidades son mínimas si Access ha estado bien hasta ahora: A menos que tenga una gran cantidad de procesamiento, una gran cantidad de datos (10 GB +) o consultas complejas que podría felizmente ejecutar SQL Server sin realizar trabajos de mantenimiento durante meses sin ningún problema. Sin embargo, es probable que lo primero que desee usar sea reindexar / reconstruir índices (hay una diferencia) si tiene muchos registros.
  4. Realmente recomendé las Escaleras en SQL Server Central http://www.sqlservercentral.com/stairway/ , son una excelente introducción a los tipos de índice, los tipos de datos (¡estos difieren bastante de Access!)
  5. Si alguna vez le preocupa que su base de datos no esté en óptimas condiciones, intente con el procedimiento almacenado sp_blitz de Brent Ozar (Google, ¡necesito más reputación para publicar un enlace adicional!). Comprueba muchas estadísticas / parámetros de la base de datos, proporciona un lista priorizada de lo que se necesita hacer con enlaces al sitio web para ofrecer una discusión más profunda.

Recientemente comencé a trabajar con SQL Server Reporting, pero puede ser una tarea difícil de configurar: en la mayoría de los casos de negocios, hacer que Excel recupere datos de un Procedimiento almacenado de SQL Server a menudo es más flexible para los gerentes.

Espero que esto ayude, bienvenido a bordo :)

Greg Robson
fuente
2

Para cualquiera que comience con SQL Server, recomendaría comenzar primero con el aprendizaje de los bloques de construcción básicos, antes de entrar en las cosas de tipo DBA.

  1. Tipos básicos y funciones de diferentes objetos SQL (tablas, claves, vistas, procedimientos almacenados, funciones definidas por el usuario, disparadores)
  2. Escritura de T-SQL básico, DML y DDL

Una vez que tenga un control sobre estos, y pueda trabajar en SQL Server sin tener que usar MS Access, utilizando principalmente tipos T-SQL, entonces podría continuar aprendiendo más sobre las tareas básicas de tipo DBA, como:

  1. Copia de seguridad de restauracion

  2. Mantenimiento

  3. Administración

Los sitios de aprendizaje y MSDN de Microsoft tendrán lecciones y tutoriales muy útiles para usted. Entiendo que no siempre está claro por dónde comenzar, pero si sigue más o menos las listas anteriores, debería ejecutar SQL en poco tiempo.

Nota : Si bien la mayoría de los cursos de certificación de Microsoft SQL 2005 probablemente se hayan descontinuado, aún puede usar los recursos disponibles para SQL 2008 R2. Podría recibir un disparo por decir esto, pero SQL 2008 R2 es lo suficientemente similar a SQL 2005 (en el contexto de lo que desea aprender) para que pueda estudiar 2008 R2 y aún así estar bien.

Por último: Bienvenido a dba.stackexchange.com y SQL Server

RoKa
fuente
2

Actualmente estoy exactamente en la misma situación que tú, mi amigo, y puedo entenderlo completamente. Por lo tanto, recomendaré el libro que ha resuelto muchas de las preguntas que tenía con respecto a pasar al servidor SQL.

Libro: Guía del desarrollador de Microsoft Access para SQL Server por Mary Chipman y Any Baron

El libro explica todo lo que necesita saber, desde los beneficios de seguridad hasta los permisos de usuario, etc. y, lo mejor de todo, se explica de una manera muy legible y directa.

Probablemente haya una versión más actualizada de este libro, pero esta es la actual que uso y llena todas mis necesidades.

Espero que te ayude tanto como a mí.

¡Buena suerte!

Justin
fuente
2

Para responder tu pregunta --

Mantenimiento: cuáles son los más importantes (verificar la base de datos, reducir la base de datos, actualizar las estadísticas, reconstruir, etc.)

Una de las mejores soluciones para el mantenimiento es la copia de seguridad, la comprobación de integridad y el mantenimiento de índices y estadísticas de SQL Server. Simplemente léalo e implemente. Probado y utilizado ampliamente por la comunidad SQLServer.

Índices - No sé tanto como debería, ¿hay algún buen libro / blog, etc. que pueda enseñarme lo básico?

Escalera a los índices de SQL Server : series excelentes desde el nivel básico hasta el avanzado.

Cualquier otra cosa que me haya perdido (probablemente haya muchas, ya que dije que soy nuevo en SQL Server ...)

Hay mucho más que solo mantenimiento e indexación en SQL Server. Mi sugerencia sería leer sobre cualquier contenido publicado por los siguientes sitios ... (¡Son los mejores!)

SQLSkills.com

brentozar.com

SQLServerCentral.com

Al trabajar con SQLServer de manera regular, sentirá la necesidad de obtener más conocimiento en diferentes áreas como recuperación ante desastres, ajuste de rendimiento, alta disponibilidad, corrupción de la base de datos, etc.

Nota: Hay una gran cantidad de información en la web con excelentes malos consejos también. Por lo tanto, mi consejo sería recibir educación de las personas que han trabajado y están trabajando con SQLServer en el día a día.

Por último, consulte esta capacitación de SQLSkills , una de las mejores que se ofrecen. Yo personalmente he tomado IE1 e IE2 y confía en mí. ¡Sentirás la diferencia!

Kin Shah
fuente
0

Una cosa muy interesante que puede estudiar en SQL Server es el Plan de ejecución de consultas y la Sugerencia de consultas SQL que puede usar cuando el plan de ejecución de consultas no es lo que esperaba.

El Plan de ejecución de consultas es un tema avanzado, pero puede ayudarlo a comprender el rendimiento de SQL Server.

Naturalmente, no debe hacer un mal uso de la sugerencia de consulta , en mi experiencia, son el último recurso cuando una consulta no funciona con el rendimiento esperado.

Max
fuente