¿Mejores prácticas para mantener sitios web de alojamiento compartido con ASP.NET y SQL Server?

StackOverflow https://stackoverflow.com/questions/314290

Pregunta

He estado haciendo sitios web PHP / MySQL con proveedores de alojamiento compartido durante los últimos dos años. El proceso del día a día es básicamente:

  • desarrollar en Eclipse, un sitio web por carpeta
  • subir a través de FileZilla, un sitio web por carpeta
  • use PHPMyAdmin para crear y administrar sus bases de datos locales y en línea y transferir datos de una a otra
  • para hacer una copia de seguridad de la base de datos en línea, vuelco las tablas de la base de datos en script y las copio localmente

Ahora quiero crear sitios web con ASP.NET con SQL Server 2008 en proveedores de alojamiento compartido, y estoy tratando de entrar en este nuevo paradigma, espero que algunos de ustedes me puedan dar algunos consejos basados ??en tu experiencia y dime lo que no estoy haciendo de manera óptima:

  • He instalado tanto Visual Web Developer 2008 Express como la versión completa de Visual Studio 2008, ambas parecen ser herramientas completas para desarrollar sitios ASP.NET. En términos de sitios web en proveedores de alojamiento compartido, ¿qué puede hacer con la versión completa que no puede hacer con la versión express?
  • Uso FileZilla para cargar mis sitios, lo que parece funcionar bien. ¿Utiliza un programa FTP externo para cargar sus sitios o utiliza "Publicar"? o "Sitio web FTP" en los IDEs anteriores?
  • Instalé SQL Server 2008 Management Studio y ahora puedo emitir comandos SQL a mi base de datos en línea de SQL Server (aunque extrañamente no puedo ver mi base de datos en la lista de la izquierda, todavía puedo acceder a ella, supongo que esto es algo problema de derechos con mi proveedor, www.domainbox.de, pero este proveedor me dijo que usara su administrador en línea, que se llama "ASP.NET Enterprise Manager", que es extremadamente simple pero al menos tiene un "Cuadro de consulta" que me permite enviar consultas a mi base de datos.) ¿Es este " ASP.NET Enterprise Manager " estándar con los servidores ASP.NET o hay algo más que sea mejor, p. ¿dónde podría editar sus datos en la cuadrícula, etc.? Y supongo que con la mayoría de los proveedores puede administrar su base de datos en línea de SQL Server con SQL Server Management Studio, ¿es correcto? (Recuerdo que en 2001 administraba la base de datos en línea de SQL Server 2000 en un proveedor de alojamiento compartido con Enterprise Manager y me tomaría literalmente 10 minutos ver mi base de datos a la izquierda porque también enumeraba las otras 800 bases de datos de clientes, con suerte esto ya se ha resuelto).
  • ¿Cómo hace una copia de seguridad de sus datos en su base de datos en línea para el almacenamiento local? (actualmente tendría que escribir código que envíe mis datos a otro formato, por ejemplo, XML o SQL Script)
  • Y después de realizar una serie de cambios estructurales y de datos en su base de datos local, ¿cómo transfiere esos cambios y los nuevos datos a su base de datos en línea? (Tuve que instalar las herramientas SSMS [< a href = "http://www.ssmstoolspack.com]" rel = "nofollow noreferrer"> http://www.ssmstoolspack.com] para poder volcar mis datos en un script para poder recuperarlo en mi base de datos en línea).

Entonces, aunque he conseguido que la mayoría de las cosas funcionen, creo que debe haber mejores formas de hacerlo, mejores proveedores, mejores herramientas, etc. Me gustaría escuchar algunas de las "mejores prácticas". consejos de cualquiera que trabaje con ASP.NET, SQL Server y hosting compartido.

¿Fue útil?

Solución

En su mayor parte, lo que está haciendo ahora funcionará con un sitio web asp.net.

Para su entorno de desarrollo, no creo que esté limitado al usar Visual Web Developer 2008 express para lo que desea hacer. Aquí hay una página de Microsoft que compara todas las versiones de Visual Studio 2008, incluido Visual Web Developer 2008 Express: Comparación de productos de Visual Studio 2008

Para implementar su sitio web a través de la red, generalmente me limitaré a implementarlo manualmente. Puede usar algunas de las cosas automatizadas en Visual Studio, pero su implementación tenderá a ser un poco más lenta. Después de compilar su aplicación, eliminará todos los archivos en su sitio web de destino y cargará todo desde cero (creo que sin comprimir). Todo su sitio estará inactivo mientras esto sucede. Cuando despliega manualmente, puede cargar solo los archivos modificados, o todo en un formato comprimido.

Con respecto al servidor SQL, muchos servicios de alojamiento compartido le permitirán conectarse con algún tipo de herramienta local de administración de SQL. Sin embargo, la conexión de esta manera generalmente usa mucho ancho de banda, por lo que reducen el ancho de banda permitido. Estos son probablemente los problemas de rendimiento que viste anteriormente. Si puede hacerlo, usaría sus herramientas SQL alojadas para la mayor parte de su trabajo, pero luego usaría el estudio de administración para cualquier cosa que no pueda manejar.

Para realizar una copia de seguridad de su servidor SQL, si su host no tiene una forma de realizar una copia de seguridad automática, deberá hacer algo usted mismo. Primero verificaría si le permitirán al menos ejecutar un comando de copia de seguridad SQL. Esto generará un archivo .bak de su base de datos, pero en el servidor de base de datos local. La mayoría de los lugares trabajarán con usted en esto, ya que muchos clientes lo necesitan.

Para aplicar cambios a su base de datos, su mejor opción es hacer un script de todos los cambios en un script sql y ejecutarlo usando la herramienta de administración remota de SQL. No son difíciles de escribir, y existen algunas herramientas que lo ayudarán con eso. Personalmente me gusta usar Visio. Me permite comparar dos bases de datos (locales y remotas) y luego generar un script para aplicar al remoto con todos los cambios.

Buena suerte

Otros consejos

En cuanto a las capacidades de VS Express vs Standard - Standard sigue siendo la mejor herramienta. Le brinda una experiencia de depuración más rica, soporte más amplio para soluciones / dependencias de proyectos, entre otras cosas.

Estas cosas siguen siendo importantes, incluso cuando se realiza un alojamiento compartido b / c, es absolutamente necesario depurar su aplicación (cliente y servidor). Puede hacer esto adecuadamente con Express con algunas advertencias (no se puede adjuntar a un proceso arbitrario, la depuración de JavaScript del lado del cliente es una molestia), Standard lo hace MUCHO más fácil.

Para publicación / implementación: recomendaría ' Proyectos de Web Depoyment '- una extensión de MSBuild que puede descargar de MS. Esto le brinda una gran cantidad de personalización de cómo desea construir e implementar su sitio web, lo que puede incluir enviarlo a un sitio FTP. Si alguna vez ha utilizado MSBuild y le gusta, los proyectos de implementación web son el enlace más fácil para extender su proceso de compilación con un sitio web ASP.NET.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top