944 063 154

Blog

Etiqueta: Microsoft

PDO en la próxima versión del driver de SQL Server para PHP

Publicado enDesarrollo web

Hace unos días podíamos leer que por fin el driver de PHP para trabajar con SQL Server desde PHP contará con soporte para PDO en su versión 2.0.

PDO (PHP Data Objects) es una extensión que permite el acceso a los datos para PHP 5 a través de una capa de abstracción. Esto permite que puedan hacerse consultas a la base de datos de PHP utilizando funciones propias del lenguaje de programación. La extensión fue desarrollada en 2003, aunque no fue estable hasta PHP 5.0 publicado en 2004. Aún tendría que pasar otro año para considerar a PDO estable y que incluyera su primera interfaz por defecto.

Aunque PHP no sea un lenguaje de programación orientado a objetos por sí mismo, sí permite esta funcionalidad. Gracias a la extensión PDO es posible utilizar funciones de extensión regulares para acceder a los datos. Esto es posible debido a la implementación de tecnología orientada a objetos.

Porqué usar PDO

Esta versión del driver de SQL Server es compatible con la API de PDO, aunque se sigue manteniendo la API nativa de SQL Server que existía hasta el momento. De esta forma se ofrece una compatibilidad absoluta entre las dos API. Además de haberse creado una capa común a ambas que permite disponer de las funciones de ambas APIs, tal y como se indica en el gráfico inferior.

La incorporación de este controlador de SQL Server es un gran avance en el desarrollo de la aplicación.  Y también para los desarrolladores que trabajan con PHP bajo entornos Microsoft. Algunos de los ORM más importantes están escritos en PHP; al igual que muchos CMS, como Drupal. Con PDO es más fácil integrar aplicaciones y añadir más funcionalidades a los frameworks más utilizados.

PDO-php-sqlsrv

Por nuestra parte,este servicio aún no está disponible, ya que la versión estable todavía no se ha publicado. En cuanto esté disponible, procederemos a implantar este driver en nuestros servicios de hosting, para ofrecerte siempre el mejor servicio.

Importar una base de datos a SQL Azure (II de II)

Publicado enServidores Cloud Sistemas TI

Anteriormente veíamos cómo importar una base de datos a SQL Azure utilizando un Wizard para ello. En esta ocasión vamos a realizar la operación directamente a través de SQL Server Management Studio (SSMS) generando para ello un script.

Pero, primero deberemos saber si tenemos compatibilidad con Azure. Para ello, tenemos que tener instalada la versión R2 de SQL Server Management Studio.

De local a un script

Para exportar la base de datos en local y llevarla a un script en un formato que sea compatible con Azure, debemos conectarnos desde SSMS a nuestro server local. Una vez realizada la conexión, podremos realizar la exportación de la base de datos en formato Azure. Para ello, utilizaremos el asistente que permite la generación de scripts.

En primer lugar, y una vez dentro de Microsoft SQL Server Management Studio, debemos buscar la base de datos “eventos”. Haciendo click con el botón derecho del ratón, elegiremos tareas > generar scripts de entre las opciones que se despliegan en el menú.

importar una base de datos a sql azure-export

importar una base de datos a sql azure-script

En nuestro caso, vamos a exportar todas las tablas y los usuarios que se encuentran en la base de datos. Si solo necesitas unos datos concretos, este es momento de que lo indiques. De esperar, ya no será posible hacerlo más tarde.

importar una base de datos a sql azure-objetos

En este paso debemos indicar dónde queremos guardar el script que vamos a generar. Para ello, tenemos que acceder a Avanzadas para especificar que queremos exportar en formato para Azure. Así, podremos hacerle saber que queremos incluir tanto el esquema como los datos que se recogen en la base de datos.

importar una base de datos a sql azure-scripting

importar una base de datos a sql azure-opciones

Con esto, nuestro script ya está listo. Ahora, es el momento de iniciar la importación de la base de datos exportada en nuestro servidor SQL Azure.

importar una base de datos a sql azure-resumen

importar una base de datos a sql azure-guardar script

Importar una base de datos a SQL Azure

Una vez hemos descargado la base de datos, deberemos seguir los siguientes pasos para subirla a SQL Azure. Para ello, en primer lugar, debemos conectar nuestro servidor con el servicio SQL Azure iniciando sesión.

SQL Server 2008 R2-importar una base de datos a sql azure

Una vez dentro de nuestra suscripción, y al igual que cuando hemos realizado la importación a través de Wizard, necesitamos crear una nueva base de datos. Como en el anterior tutorial, hemos llamado a esta nueva base de datos “eventos”.

Crear base de datos-importar una base de datos a sql azure

Por último abrimos nuestro script y lo ejecutamos en el servidor SQL Azure. Cuando aparezca el mensaje de que los comandos han sido completados correctamente.

importar una base de datos a sql azure

De esta forma, nuestra base de datos local en SQL Server, ya estará importada en Azure.

importar una base de datos a sql azure-explorador

Aquí termina nuestro tutorial paso a paso de cómo importar una base de datos a SQL Azure. Y ya sabes, no dudes en escribir si tienes alguna duda o consulta; estaremos encantados de atenderte.

Importar una base de datos a SQL Azure (I de II)

Publicado enServidores Cloud Sistemas TI

En el siguiente post veremos como subir una base de datos local en SQL Server 2008 al servicio SQL Azure.

Existen varias maneras de importar una base de datos a SQL Azure.

  1. Mediante los servicios de integración de SQL Server 2008 (SSIS).
  2. Usando la utilidad BCP.
  3. Desde el código, usando la clase System.Data.SqlClient.SqlBulkCopy.
  4. Utilizando wizards o scripts para la carga de los datos.

En este artículo, utilizaremos la ultima opción para importar la base de datos.

El cloud de Microsoft

Azure, la nube de Microsoft, tiene algunas limitaciones. Por ejemplo, no permite la importación de bases de datos mediante un “restore” ni tampoco adjuntar una base de datos al servidor SQL de Azure.

Para poder realizar la importación de una base de datos, en primer lugar, es necesario crear un servidor SQL Azure. A continuación, habrá que copiar el nombre del servidor que hemos creado, ya que será necesario conocerlo para saber dónde tenemos que conectarnos.

En nuestro caso, hemos aprovechado para crear una nueva base de datos a la que hemos llamado “eventos”. Esto es un paso opcional, ya que como veremos más adelante es posible crear nuevas bases de datos desde el propio Wizard.  Este permite la creación de hasta 149 bases de datos por servidor SL Azure y con un tamaño máximo de 1 GB ó 10 GB.

Importando una base de datos con SQL Azure

En primer lugar, deberemos acudir a nuestra suscripción de Windows Azure Services. Una vez hayamos iniciado sesión, deberemos pinchar en SQL Azure > Database. Allí podremos ver cuántas bases de datos tenemos en el servidor, cuál es su tipo y qué tamaño ocupan.

 

SQL Azure

 

Al lado de la pestaña Databases, se encuentra la de Firewall Settings. Aquí tenemos que añadir al menos una regla que permita la conexión desde nuestro equipo al servidor, en nuestro caso contamos con 3 reglas diferentes.

Firewall

Ahora utilizaremos SQL Azure Migration Wizard para poder migrar la base de datos. La descarga de esta aplicación está disponible en CodePlesk. Para instalarla, sólo hay que seguir el asistente de instalación. Un proceso tan sencillo que no es necesaria la explicación. Pero por si acaso te surje alguna duda, adjuntamos los pantallazos del proceso.

SQL Migration Wizard 1SQL Azure Migration Manager 2SQL Azure Migration Manager 3SQL Azure Migration Manager 4SQL Azure Migration Manager 5SQL Azure Migration Manager 6SQL Azure Migration Manager 7SQL Azure Migration Manager 8SQL Azure Migration Manager 9

Si tienes instalado Microsoft SQL Server Management Studio R2, puedes conectarte a tu servidor SQL Azure. Y, si no cuentas con esta herramienta, te facilitamos un enlace para que puedas iniciar la descarga.

sql2008R2

En Microsoft SQL Server Management Studio, solo tienes que acudir al explorador de objetos y conectar el servidor. Una vez estés conectado al servidor, deberás abrir la carpeta que lleva el nombre del servidor al que quieres acceder. Y dentro de esta buscar la carpeta que has creado con anterioridad. Recordamos que nosotros le hemos dado el nombre de “eventos”.

SQL 2008 Management Studio R2

¿Buscas otra forma diferente de realizar la importación de una base de datos a SQL Azure? Consulta la segunda parte de cómo importar una base de datos a SQL Azure.

Virtualizando SQL Server 2008 sobre Hyper-V R2

Publicado enSistemas TI

Unos rápidos apuntes a tener en cuenta a la hora de virtualizar un entorno SQL Server 2008.

Discos

De espacio fijo. En SQL Server 2008 es muy importante el I/O de los volúmenes con los que se trabaja. Por ello la recomendación es utilizar siempre discos fijos.
Controladora SCSI. Al igual que sucede en entornos físicos, en virtual sólo podremos colocar hasta 4 discos IDE. Por lo que si necesitamos más discos lo mejor es utilizar un bus SCSI.
Usar varios VHD. Es decir, uno para el propio sistema y los archivos de instalación de SQL; otro para tempdb, otro para los logs, otro para los datos… Esto, al igual que en un entorno real permite mejorar el I/O, sobre todo si disponemos de una cabina y dedicamos discos separados (spindles) o LUN para mejorar aún más el I/O. Aún cuando no dispongamos de discos separados sigue siendo recomendable utilizar diferentes VHDs.
Sistema de archivos. NTFS con unidad de asignación a 64 K para obtener mejor rendimiento.

Red

– Importante que la red sea Gigabit y la velocidad esté configurada en full-duplex.
– Siempre usaremos los adaptadores sintéticos que usan los Servicios de Integración instalados en la VM para funcionar, ya que ofrecen mucho mejor rendimiento que los emulados. Estos últimos sólo son útiles por razones de compatibilidad en sistemas que no soportan los Servicios de Integración (anteriores a MS Windows Server 2003 R2, kernels de linux no soportados, etc…).
– Si es posible usar teaming para mejorar el rendimiento y ofrecer redundancia, sobre todo para conexiones a una cabina vía iSCSI.

Memoria

La memoria se comporta exactamente igual que en una máquina física, a diferencia de otros hypervisores en Hyper-V no se permite el sobreuso (aunque MS ya está trabajando en ello) por lo que la cantidad asignada a una VM se reserva en el anfitrión por completo. Recuerda que es importante dejar al propio nodo anfitrión 2 GB libres para el sistema y sus tareas.

Si sigues estos apuntes no debería de haber ningún problema para virtualizar un entorno SQL Server sobre Hyper-V.

Tecno-amig@, ¿Ya sabes cómo usar Hyper-V con un adaptador de red inalámbrico?

Generar un archivo CSR en IIS 6.0

Publicado enSistemas TI

Si quieres instalar un certificado SSL en tu sitio web necesitarás un CSR; es decir, una solicitud para la firma del certificado. En este archivo se encuentran algunos datos que serán incluidos en el certificado SSL; como el nombre de tu empresa, una dirección asociada a la misma o el dominio para el que se ha generado dicho SSL. Además de esta información, en el CSR se incluye una llave pública que también aparecerá en el certificado. Si tu servidor web utiliza Windows como sistema operativo, y por tanto es IIS, te mostramos cómo puedes generar el CSR en IIS 6.0.

Generando un CSR en IIS 6.0

IIS > Sitios Web > Propiedades del sitio > Seguridad de directorios > Certificado de servidor… > Crear un nuevo certificado > Preparar la petición ahora pero enviarla más tarde > Poner un para el certificado y dejar longitud en bits de 1024 > Rellenar el resto de datos que solicita el formulario hasta finalizar.

Es IMPORTANTE que donde se pregunta el “Nombre común” (Common name) se ponga el nombre COMPLETO del dominio para el que vamos a solicitar el certificado. Por ejemplo: www.linube.com.

Cómo salvar la key privada

MMC > Complemento Certificates > Seleccionar Request > All task > Export

Si quieres más información, puedes consultar la documentación oficial.

Bloquear IPs desde el firewall de Windows 2008

Publicado enSistemas TI

Una de las cosas que más me gustan respecto a la seguridad de Windows, son las mejoras en el firewall de Windows 2008. Entre las nuevas posibilidades que ofrece en comparación con la versión anterior de Windows, destaca la de poder bloquear ips atacantes de una forma sencilla. Bloquear IPs desde el firewall de Windows ya es una realidad; asimismo, no resulta nada complicado ni necesitarás de conocimientos técnicos avanzados.

Como estoy seguro de que ningún administrador deja de revisar la pestaña Seguridad en el Visor de Eventos (¿verdad que no?), en ocasiones pueden detectarse reiterados intentos de conexión. Tanto si son ilegítimos, como si no, aunque no consigan nada pueden lograr un ataque DDOS en toda regla. Para evitar este tipo de situaciones, lo más adecuado es filtrarlos a través de un firewall perimetral. Actualmente, desde la versión Windows 2008 a falta de uno, disponemos de dos firewalls. Es decir, además de utilizar el cortafuegos perimetral, también podemos filtrar el tráfico desde el propio server.

Cómo bloquear IPs desde el firewall de Windows

1) En primer lugar, debemos abrir el firewall de Windows y acudir al asistente para nuevas reglas de entrada.

2) A continuación, y una vez allí, seleccionamos añadir nueva regla de entrada.

3) Seguidamente, en el apartado ‘Tipos de regla’ añadimos una regla personalizada. esta opción nos permite decidir a qué tráfico queremos impedirle la entrada en el servidor. En cualquiera de las otras dos opciones, la limitación se puede aplicar a programas y puertos.

Bloquear IPs desde el firewall de Windows-Añadir regla de firewall

4) Una vez hayamos especificado la nueva regla, dentro de la pestaña de ‘Programa’, la aplicamos a Todos los programas.

Bloquear IPs desde el firewall de Windows-firewall

5) Justo después, en ‘Protocolo y puertos’, deberemos especificar el tipo de protocolo. Nuestra recomendación en este punto es optar por Cualquiera.

Bloquear IPs desde el firewall de Windows-fw protocolo

6) Ahora tendremos que agregar la IP que queremos bloquear. Aunque lo habitual es limitar el acceso a unas determinadas IPs, también puedes bloquear un rango entero.

Bloquear IPs desde el firewall de Windows-fw agregar ip a bloquear

7) En la siguiente pestaña, ‘Acción’, deberemos seleccionar la opción: Bloquear la conexión.

Bloquear IPs desde el firewall de Windows-fw bloquear la conexion

8) Llegados a este punto, tendremos que indicar a que redes aplicamos la regla. Esto lo puedes hacer desde la pestaña de ‘Perfil’.

Bloquear IPs desde el firewall de Windows-fw redes

9) Para ir finalizando con el bloqueo de IPs desde el Firewall de Windows es necesario ponerle un ‘Nombre’ identificativo.

Bloquear IPs desde el firewall de Windows-nombre regla

10) Pulsando ‘Finalizar’ en el apartado de ‘Nombre’, ya habremos creado nuestra nueva regla de seguridad.

Bloquear IPs desde el firewall de Windows-2008

Como podemos ver, con Windows 2008 crear reglas en el Firewall es mucho más fácil. Además, la posibilidad de poder activar dos cortafuegos diferentes, pero complementarios, hacen que la seguridad del servidor sea aún mejor.

Ahora que ya sabes cómo bloquear IPs desde el firewall de Windows 2008, puedes crear tantas reglas nuevas como consideres necesarias para evitar que tu alojamiento pueda ser hackeado.