Entradas

Mostrando entradas de octubre, 2011

Navegación sincronizada en Total Commander

Imagen
Para los que no utilicen el Total Commander solo comentaré que es una excelente utilidad para la gestión y comparación de archivos, muy útil para entornos de programación dónde hay que comprobar la sincronización entre directorios con código fuente.El Total Commander es muy extensible pero sus opciones por defecto la verdad que son muy cortas y a veces es necesario ampliarlas con comandos que trae el propio programa o con menús externos creados por usuarios.Una de las herramientas que más echo en falta que no esté por defecto es la navegación sincronizada por directorios como hacen la mayoría de clientes FTP como FileZilla, opción que estos si traen sin necesidad de configurar un comando adicional.Para crear un menú con la opción de navegación sincronizada tenemos que posicionarnos en la barra de herramientas y hacer clic derecho para que salga la opción de cambiar:Una vez allí debemos escribir en la nueva ventana en el apartado comando el siguiente comando interno: cm_SyncChangeDir, …

Pantalla de bloqueo iOS5

Imagen
Una de las cosas que más me ha llamado la atención del nuevo iOS 5 son las mejoras a la hora de tomar las fotografías, la cámara ahora dispara fotos más cómodamente desde el botón de subir volumen y además ahora tenemos un atajo para activar la cámara desde la pantalla de bloqueo a la que accedemos pulsando 2 veces en el botón de inicio:Al acceder a la pantalla de bloqueo del nuevo iOS 5 veremos el cambio respecto a su predecesor:Otra de las cosas significativas es que si tienes bloqueo por código las fotos que realices y que lógicamente se pueden ver con el iPhone bloqueado son las únicas que podrás ver, o sea que tienes acceso a la galería pero solo a las fotos que hagas en ese momento.

Desaparece la opción de compartir archivos en WS2003

Imagen
Esta es una pequeña guía que te puede ayudar a solucionar el fallo en tu Windows Server 2003 si detectas que te han desaparecido las carpetas que tenías compartidas. Hay mucha información sobre compartir archivos en internet pero a mí particularmente no me valió de mucho y esta guía de pasos es la que me ayudó. Lo primero es comprobar que está configurado tu adaptador de Red para compartir archivos e impresoras, vamos a inicio, panel de control, adaptadores de red y comprobamos cada adaptador: Para cada adaptador abrimos las propiedades y debe de estar marcada la opción de compartir archivos e impresoras: Si está todo correcto comprobemos si está el servicio Server activado, inicio, ejecutar, services.msc y debería aparecernos como la siguiente imagen, si no está activado debemos arrancarlo y ponerlo en modo automático: Por último comprobamos qué carpetas tenemos realmente compartidas: Inicio - Ejecutar -  compmgmt.msc - (enter) - Computer Managment Local - System Tools -  Shared Fol…

Errores que no existen en SQL Server

Imagen
Esto no sé si es un bug o que no he logrado dar realmente con la información correcta para solucionar mi problema, pero a falta de una solución propongo el problema. Hace poco me estaba dando un error bastante frecuente el SQL Server, error del tipo Communication link failure y número 16389.Al ir al agente de SQL Server e intentar crear una alerta para este error en concreto (16389) (ver imagen siguiente para los pasos que he seguido al crear la alerta nueva)Pues eso que al intentar crear la alerta como os he mostrado anteriormente me sale el siguiente error:No se puede crear una nueva alerta. (SqlManagerUI)
Error de Crear para Alerta 'Error'.  (Microsoft.SqlServer.Smo)
Excepción al ejecutar una instrucción o un proceso por lotes Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)
The specified @message_id ('16389') does not exist. (Microsoft SQL Server, Error: 14262)¡Que raro! un error reportado por el propio SQL Server y que no exista, bueno, vamos a comprobar en la base…

Restablecer valores de la columna identidad en SQL Server

Hace un tiempo hablé en un post sobre los errores que daba SQL Server al intentar truncar una tabla con claves extranjeras (foreign keys) aunque estas estuviesen vacías. Uno de los puntos que traté en ese post era restablecer el valor de la clave principal de la tabla a 0 y el método que utilicé era el mismo que nos explican en este post Reset Identity Column Value in SQL Server.Ayer casualmente probando este método en una tabla recién truncada descubrí que cuando se realiza la opción TRUNCATE TABLE el valor de la columna de identidad (clave principal) toma el valor NULL en vez del valor 0. Lo descubrí al hacer lo siguiente :DBCC CHECKIDENT (tabla, RESEED, 0)La respuesta del SQL Server Managment Studio fue la siguiente:Checking identity information: current identity value 'NULL', current column value '0'.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.En realidad esto no afecta en nada es sólo una curiosidad más sobre las dif…

Bloquear programas en el Firewall de Windows 7

Aquí os dejo un pequeño tutorial para bloquear programas en el Firewall que vienen por defecto en Windows 7, realmente las opciones avanzadas del firewall de Windows no solo permiten bloquear programas sino que permiten una multitud de configuraciones sobre las cuales no trataremos pero que es cuestión de prueba y error hasta que tengamos nuestro sistema configurado a nuestro gusto. Lo primero que tenemos que hacer es ir a Inicio – Panel de Control - Sistema y SeguridadPulsamos sobre Firewall de WindowsUna vez allí en el lado izquierdo hacemos clic sobre Configuración Avanzada (recuerdo que hay que ser administrador para acceder a estas opciones)Una vez en las opciones avanzadas del Firewall de Windows pulsamos a la izquierda en dónde pone Reglas de EntradaY una vez allí a la derecha hacemos clic dónde pone Nueva Regla, una vez pulsado este enlace se nos abre la ventana con el asistente para crear nuevas reglas del firewall de Windows; en la primera pantalla elegimos Programa (si lo q…

Rendimiento SQL Server: grado de paralelismo

Imagen
El tema de los grados de paralelismo en SQL Server es bastante extenso y tiene una bibliografía bastante amplia sobre todo en inglés (como casi todo en informática), en este post intentaré dar una visión global de qué es y para qué sirven los grados de paralelismo en SQL Server y sobre todo cuando y cómo utilizarlos.En primer lugar y lo más importante es disipar cualquier idea que puedas tener acerca de esta opción (Max Degree of Parallelism) y su vinculación a la cantidad de procesadores que SQL Server puede utilizar cuando trata de procesar más de una conexión (o usuario) - no es así. Si SQL Server tiene acceso a cuatro procesadores ociosos y tiene cuatro procesos para ejecutar, utilizará los cuatro procesadores - independientemente del grado máximo de paralelismo.Entonces, ¿qué esta opción no? Max Degree of Parallelism establece el número máximo de procesadores que SQL Server puede utilizar para una consulta. Si SQL Server tiene que devolver una gran cantidad de datos para una cons…

iOS 5 debería llamarse beta

Imagen
No son pocos los comentarios negativos que andan por la red sobre el nuevo iOS 5 y aunque me cueste tengo que decir que la mayoría de los mismos son ciertos. este lanzamiento más que una versión oficial parece una beta de un sistema futuro mucho más serio.Haciendo un poco de historia muchos de los usuarios de iPhone de lo que más se quejan es del iTunes y de lo poco intuitivo que es para algunas cosas, sin ir más lejos, al instalar el nuevo iOS 5 si eres de los que no sincronizan las aplicaciones y de los incautos, el iTunes te muestra un mensaje antes de nada que dice que tienes compras en tu iPhone que no han sido transferidas al ordenador y contra todo pronóstico en vez de llevarte a que sincronices estas aplicaciones (las cuales perderás si no lo haces) te pone un botón de aceptar.La forma de remediar la sincronización de elementos comprados con iTunes es el enlace que os he dejado ahora desde la misma web de Apple.Pero bien, estos son problemas de antes que no han sido solucionad…

Read Committed Snapshot Isolation (RCSI)

Imagen
Con el lanzamiento de SQL Server 2005 se introdujo un nuevo nivel de aislamiento llamado Read Committed Snapshot (aislamiento de instantáneas).¿Qué son los niveles de aislamiento?El nivel de aislamiento de una transacción (transaction isolation level) define el grado en que se aísla una transacción de las modificaciones de recursos o datos realizadas por otras transacciones. El nivel de aislamiento de una transacción es una característica de vital importancia en el desarrollo de aplicaciones de base de datos, ya que afecta a los tipos y duración de bloqueos que se producen en nuestra infraestructura de base de datos, lo cual, tiene efectos directos en el rendimiento y tiempo de respuesta de nuestras consultas y transacciones. Además, el nivel de aislamiento nos permite indicar cómo deseamos que se comporte nuestro motor de base de datos frente a situaciones (…) que pueden impactar consistentemente en la eficacia de nuestros desarrollos en entornos de base de datos con concurrencia.Se …

Instalando iOS 5 en 2 horas

Imagen
Ayer a las 19:00 hrs (hora española) los de la manzana sacaron a  la luz la quinta versión de su sistema operativo para móviles iOS 5. Una actualización que realmente no trae ninguna novedad en cuestiones de rendimiento comparada con el iOS 4 que nos trajo la multitarea, es una actualización que resume más bien peticiones de usabilidad de los propios usuarios.Datos de la instalación del iOS 5Tamaño de la descarga en España 774,4 MB (la conexión con los servidores de Apple es bastante lenta y suele tardar 1 hora en descargarse) Tiempo de Instalación total en menos de una hora, aunque este valor depende de la cantidad de programas que tengas instalados y la música y vídeos que tengas en tu iPhone (este tiempo es para 84 aplicaciones, 1005 canciones y unas 200 fotos) Es necesario tener actualizado iTunes a la versión 10.5 que también está disponible con una descarga de 73,5 MB.Proceso de Instalación del iOS 5Desgraciadamente no pude sacar fotos del proceso pero describo los pasos que se si…

Optimizar las estadísticas en SQL Server

Imagen
Las estadísticas en SQL Server se utilizan para que el servidor ante una petición ejecute un plan de ejecución adecuado y optimizado al máximo para la misma. Existen varias opciones en las propiedades de la base de datos para gestionar las estadísticas, veremos cada una de ellas para garantizar la mejor configuración de la base de datos.Para ver y editar la configuración de las estadísticas de una base de datos en SQL Server:Abrir el SQL Server Managment Studio Conectarse a la instancia donde está alojada nuestra base de datos. En el panel izquierdo clic derecho en la base de datos que queremos consultar y del menú desplegable elegir Propiedades. En la ventana de propiedades de la base de datos elegir a la izquierda la página de Opciones Aparecerán las configuraciones de las estadísticas en el apartado automático (ver imagen) Crear estadísticas automáticamente (Auto Create Statistics)Se recomienda fuertemente activar Auto Create Statistics pues es una de las formas que utiliza el propio SQ…

Memoria máxima para el SQL Server

Imagen
Uno de los parámetros más importantes del SQL Server es la memoria máxima que establece el límite superior de la cantidad de memoria que utiliza el grupo de búferes del motor de base de datos de SQL Server de Microsoft, o sea lo que viene a indicar es que el grupo de búferes nunca va a dejar que su asignación de memoria adquiera más memoria del nivel especificado en max server memory.Según el propio Microsoft:SQL Server adquiere, como un proceso, más memoria de la especificada en la opción max server memory. Los componentes tanto internos como externos pueden asignar memoria fuera del grupo de búferes, lo cual consume memoria adicional, pero la memoria asignada en el grupo de búferes normalmente representa la cantidad más grande de memoria que SQL Server consume.Calcular el valor de la memoria máxima (max server memory) para nuestro SQL ServerMAX_SERVER_MEMORY = TOTAL_SERVER_MEMORY - [OS/Apps Memory] - [Threads * Thread Size] TOTAL_SERVER_MEMORY es la memoria RAM total de nuestro se…

Agregar un valor por defecto en SQL Server

Imagen
Supongamos que queremos modificar una columna existente en una tabla que tenemos creada en nuestra base de datos SQL Server 2008 R2, queremos modificarla para hacerla NO NULL y agregarle un valor por defecto, la solución que me ha funcionado en un poco rara y compleja pues consta de 3 consultas, pero a fin de cuentas me ha funcionado.Como modificar una columna de una tabla y agregarle un valor por defecto (default)USE <database_name>
GOUPDATE <table name> set <column name> = <default value> where <column name> IS NULL;
GOALTER TABLE <table name> ALTER COLUMN <column name> <data type> NOT NULL;
GOALTER TABLE <table name> ADD CONSTRAINT <constraint name> DEFAULT <default value> FOR <column name>;
GOLo que hago para modificar una columna de una tabla y agregarle un valor por defecto son tres sencillos pasos:rellenar el campo de la tabla para los valores que son nulos con el valor por defecto modificar esta columna y decir…

Errores al mover datos antiguos en SQL Server

Hace un tiempo estuve escribiendo una solución para aligerar el tamaño de tablas importantes moviendo datos antiguos a tablas auxiliares. Esta es una solución muy práctica sobre todo tendiendo en cuenta que la ejecutas con una sola sentencia SQL lo único malo es que cada tabla debe ser igual en el número de campos, o sea, si borras uno lo tienes que borrar en ambas tablas (lo mismo pasa al agregar un campo), de no hacerlo tenemos el siguiente error:SQLSTATE: 21S01
code: 213
message: Microsoft SQL Native Client SQL Server Column name or number of supplied values does not match table definitionAlgunas consultas que nos pueden ser útiles:Agregar campos a una tabla desde la consola utilizando sintaxis SQL:ALTER TABLE tabla_nombre ADD campo_nombre tipo_campo null_or_not_null;Borrar campos:ALTER TABLE tabla_nombre DROP COLUMN campo_nombre;Borrar un índice (es muy importante borrar los índices antes de borrar los campos asociados en la tabla)DROP INDEX indice_nombre ON tabla_nombre;

Tipos de campos en SQL Server con PHP

Con el driver de microsoft para PHP podemos obtener la información de los tipos de campos devueltos de una consulta con la función sqlsrv_field_metadata, por ejemplo:$cols = sqlsrv_query($conexion, $query);
$valores = sqlsrv_field_metadata($cols);
$tipo_campo = $valores[0]['Type'];La correspondencia entre los valores numéricos devueltos por sqlsrv_field_metadata y el literal del tipo de campo es la siguiente:-5bigint-2binary-7bit1char93datetime3decimal6float-4image4int3money-8nchar-10ntext2numeric-9nvarchar-9nvarcharMAX7real93smalldatetime5smaillint3smallmoney-150sql_variant-1text-2timestamp-6tinyint-11uniqueidentifiar-3varbinary-3varbinaryMAX12varchar12varcharMAX-152xml

Tickets que caducan en jQuery

Al parecer el equipo de trabajo de jquery esta saturado de trabajo porque hoy me ha llegado una actualización del ticket que les mandé hace 15 días con el problema de los nombres con corchetes en el core de jquery, la respuesta ha sido que al no tener un caso de ejemplo por mi parte pues que cerraban el ticket porque reciben muchos, he aquí la respuesta textual:Because we get so many tickets, we often need to return them to the initial reporter for more information. If that person does not reply within 14 days, the ticket will automatically be closed, and that has happened in this case. If you still are interested in pursuing this issue, feel free to add a comment with the requested information and we will be happy to reopen the ticket if it is still valid. Thanks!En españolDebido a que recibimos muchas entradas de errores, a menudo necesitamos volver al que lo reportó inicialmente para más información. Si esa persona no responde dentro de 14 días, el ticket se cerrará automáticamente…

SQL Server Managment Studio Denali

Imagen
Desde hace unos días estoy probando el SQL Server Managment Studio “Denali” CTP3 (correspondiente al SQL Server code name Denali o SQL Server 2011), teniendo en cuenta que es una CTP (comunity technical preview) pues es normal que sea una versión inestable y de fallos, nada recomendable para entornos de producción porque en realidad no deja de ser una versión alpha de este software.En realidad en este post voy a hablar poco del SQL Server Management Studio Denali, porque ya hay bastantes sitios en inglés que hablan de él, así que me limitaré a decir lo que más me ha sorprendido y a poner enlaces a sitios externos.Lo que más me llama la atención de esta nueva versión del Managment Studio es su interfaz ahora mucho más parecida al Visual Studio, en las siguientes imágenes veremos las comparativas con el Managment Studio de SQL Server 2008 R2:También destaca que la barra de información y detalle ya no esté en la parte inferior sino a la derecha del panel, lo cual, en mi opinión, es mucho…