jun 17 2012

Instancias de SQL Server: ¿qué son y para qué sirven?

by Jose M. AlarconCategorías: SQL Server
Instancias de SQL Server: ¿qué son y para qué sirven? Cuando instalas SQL Server se te pide que otorgues un nombre a la instancia que estás instalando. Y cuando te conectas desde una aplicación o con el SQL Server Management Studio (SSMS) también lo haces a una instancia determinada de SQL Server. Es tan común que todos lo damos por hecho, pero realmente ¿cuántos saben qué es una instancia de SQL Server y cuál es su utilidad?. Bien, en SQL Server es posible ejecutar varias copias del servidor de datos al mismo tiempo, con sus usuarios, bases de datos y demás elementos independientes unos de otros. A cada una de esas copias se le llama “instancia”. Lo que tenemos con las instancias son varios SQL Server ejecutándose en paralelo en la misma máquina. El límite es de 50 de instancias por cada máquina. Existen dos tipos de instancias: Las instancias con nombre: se accede usando una barra inclinada hacia la izquierda seguida del nombre de la instancia, que es la forma de identificarlas. Por ejemplo: (local)\Instancia, .\Instancia, localho... [Más]

Tags:

abr 27 2012

SQL Server: enviar automáticamente los resultados de una consulta por email

by Jose M. AlarconCategorías: SQL Server | Trucos y consejos genéricos
SQL Server: enviar automáticamente los resultados de una consulta por email Hoy tuve que montar un sistema sencillo para poder enviar de manera periódica, en formato CSV, una serie de datos a unos usuarios. Los datos se obtienen a partir de una consulta más o menos compleja a una base de datos SQL Server. Lo que necesitaba era que los resultados de esa consulta, una vez a la semana, se enviaran por email a un usuario para que pudiera abrirlos en una Excel y trabajar con ellos. Para conseguirlo no quería programar ni tampoco crear ningún paquete de integración específico ni hacer nada complicado. Lo único que necesitaba era definir la consulta, el formato y el destinatario. Punto. Mala suerte: en SQL Server no hay nada incluido nativamente que nos permita conseguir algo así de manera tan directa, lo cual no deja de ser una pequeña vergüenza porque realmente es algo habitual y deberían facilitarlo un poco ¿verdad? Así que tuve que improvisar y buscar una manera de conseguirlo sin complicarme demasiado la vida. A continuación os cuento el método que se me ocu... [Más]

Tags: ,

nov 28 2011

Cómo detectar registros duplicados en una base de datos

by Jose M. AlarconCategorías: SQL Server
Cómo detectar registros duplicados en una base de datos Esta es una consulta muy sencilla pero que a muchos principiantes les resulta de mucha utilidad, así que como hoy he tenido que usarla y me he acordado, la pongo aquí por si a alguien le viene bien. El problema es el habitual: tenemos una tabla con muchos registros y queremos saber si alguno de ellos está duplicado. Lo más común no es que nos interese realmente saber qué registros están duplicados, sino qué registros tienen dos o tres campos iguales. Por ejemplo, si tenemos una lista de clientes quizá no nos interesa saber quiénes están duplicados buscándolos por el nombre (ya que éste puede haber sido escrito diferente: con o sin tilde, con abreviatura o no), por lo que resultaría más interesante averiguar aquellos registros que tienen el teléfono y el email duplicados por ejemplo. La consulta es muy fácil, y usa una función de agrupamiento para determinarlo. La consulta genérica sería esta: 1: SELECT COUNT(*), CAMPO_A, CAMPO_B 2: FROM T... [Más]

Tags:

nov 20 2010

Consulta para sacar información de campos en SQL Server

José Manuel AlarconCategorías: SQL Server
Consulta para sacar información de campos en SQL Server Hoy un truco rápido. Imagínate que tienes dos bases de datos aparentemente idénticas en dos servidores SQL Server. Quizá una es la de producción y la otra es de desarrollo. Las BBDD deberían ser iguales pero no te fías de que sea así por el motivo que sea, y necesitas comprobar de manera rápida si, al menos, tienen las mismas tablas y número de campos. Si no tienes una herramienta mejor a mano con el propio SQL Server puedes conseguirlo fácilmente usando la información contenida en la tabla de sistema Information_Schema que, como su propio nombre indica, contiene información sobre el esquema de la base de datos, y por lo tanto nos permite consultar cualquier dato sobre la estructura y definición de los datos. En el enlace anterior está toda la información, pero vamos a ver un par de consultas sencillas pero útiles, por ejemplo para el caso planteado antes. Información sobre las tablas de la BD SELECT * FROM Information_Schema.Tables Número de campos por tabla Esta consulta es ... [Más]

Tags:

ago 11 2010

Mensaje “No se permite guardar los cambios” en SQL Server 2008

José Manuel AlarconCategorías: SQL Server | Trucos y consejos genéricos
Mensaje “No se permite guardar los cambios” en SQL Server 2008 Una vez creada una nueva tabla en una base de datos en SQL Server 2008 o SQL Server 2008 R2, si utilizas en SQL Server Management Studio, cuando intentas modificarla con algún cambio importante (como añadir o quitar un campo, por ejemplo), seguramente te encontrarás con este mensaje de advertencia: Lo que te está indicando es que no se han podido grabar los cambios en la tabla, y que los únicos campos permitidos son los que pueden contener nulos o tienen un valor por defecto (en este caso concreto). Además, la única opción que te da es la de aceptar, por lo que al hacerlo se te muestra otro mensaje de advertencia diciéndote que has cancelado el grabar los cambios (qué simpáticos: no te quedaba más opción que hacerlo): ¿A qué es debido esto?: El motivo es que el SQL Server Management Studio que viene con SQL Server 2008 trae activada una opción por defecto que impide cualquier cambio sobre las tablas que implique el tener que regenerarlas (es decir, que implique eliminar la tab... [Más]

Tags: ,

ene 6 2010

SQL Server: cómo hacer copias de seguridad directamente en unidades de red

José Manuel AlarconCategorías: SQL Server
SQL Server: cómo hacer copias de seguridad directamente en unidades de red Generalmente, lo que más nos interesa a la hora de realizar copias de seguridad es hacerlas hacia alguna máquina o dispositivo especializado de la red local, distintos a la máquina en la que se ejecuta nuestra aplicación o -en nuestro caso concreto- el servidor de datos. Así podremos recuperarlos desde cualquier otra máquina ante cualquier contingencia que surja. En los Data Center (y en muchas oficinas) suelen existir sistemas NAS (Network Attached Storage, almacenamiento en red) cuyo propósito es precisamente albergar las copias de seguridad. SQL Server, sin embargo, sólo ofrece soporte nativo para realizar copias de seguridad en unidades de disco o dispositvos de backup hardware locales. Esto siempre me ha parecido una seria limitación, ya que hacer copias de seguridad en local no me resulta útil en absoluto. Y tiene muchas limitaciones más (como no comprimir o cifrar las copias), aunque esto es bueno para las empresas que venden herramientas especializadas en ello, como la excelen... [Más]

Tags:

oct 31 2009

Artículo en Scribd: Instalación de la base de datos Northwind - para principiantes

José Manuel AlarconCategorías: SQL Server
Artículo en Scribd: Instalación de la base de datos Northwind - para principiantes La base de datos Northwind es utilizada en todo tipo de artículos, libros y cursos para ilustrar los conceptos básicos de trabajo con bases de datos Sql Server. Te la encuentras constantemente en todas partes. Los programadores principiantes a veces tienen dificultades para instalarla y empezar a usarla. De hecho yo mismo me encuentro en ocasiones explicándoselo a alguno que otro que se encuentra algo perdido. Por ello me he decidido a escribir un texto dirigido a absolutos principiantes que explica cómo descargar, instalar y aprender a conectarse a esta famosa base de datos de Microsoft. Está colgado en Scribd para leer on-line e imprimir: ARTÍCULO: Instalación de la base de datos Northwind - Principiantes ¡Espero que le sea útil a mucha gente!

Tags:

jul 31 2009

¿Dónde está el Monitor de Actividad en SQL Server 2008?

José Manuel AlarconCategorías: SQL Server
¿Dónde está el Monitor de Actividad en SQL Server 2008? Pues esto, pero con algún taco de por medio, fue lo que me pregunté la primera vez que quise utilizarlo en la versión 2008 de SQL Server. En SQL Server 2005 estaba en el nodo de administración del SQL Server Management Studio, bien a la vista y fácil de localizar. Pero en 2008 en ese nodo no hay nada que se le parezca ?¿?¿ Era imposible que se o hayan cargado así que en algún sitio debía de estar ¿no? Bueno la solución es fácil, ahora está en un botón de la barra de herramientas y en el menú contextual del nodo raíz con el nombre del servidor: La verdad es que podían haber dejado el nodo en donde estaba también ¿no? La buena noticia es que este nuevo monitor no tiene nada que ver con el anterior. Este es mucho más potente y da información muy valiosa, informándote incluso de las consultas que están tomando más tiempo y dándote pistas para optimizar las aplicaciones: Espero que a alguno le ayude a encontrarlo si busca este tema en Google :-)

Tags:

ago 8 2008

SQL Server Compact 2008 SP1 Referencia Completa

José Manuel AlarconCategorías: Noticias Programación | SQL Server
SQL Server Compact 2008 SP1 Referencia Completa SQL Server dispone de una versión embebida que es tan interesante como desconocida y poco utilizada. Se trata de SQL Server Compact Edition. La mayor parte de la gente la desecha como opción porque la asocia con crear aplicaciones para dispositivos móviles (como PDAs o teléfonos), pero lo cierto es que tiene una cantidad espectacular de aplicaciones en entornos de escritorio. Para empezar esta versión ligera de SQL Server es gratuita y compatible con su hermano mayor, con multitud de características avanzadas como SGBD. No necesita tener instalado un servicio permanentemente en ejecución en el sistema y es extremadamente ligera (tanto que puedes usarla en un teléfono, así que eso lo dice todo). Una de las características más interesantes es la de todas las opciones de sincronización que ofrece, que nos permiten replicar y mantener en sincronismo datos entre sistemas homogéneos, por lo que la hace ideal para aplicaciones que deban trabajar conectadas de forma no permanente y para almac... [Más]

Tags: ,

ago 7 2008

Ya está disponible la versión definitva de SQL Server 2008

José Manuel AlarconCategorías: Noticias Programación | SQL Server
Ya está disponible la versión definitva de SQL Server 2008 Desde ayer los suscriptores de MSDN y Technet ya puede descargarse la versión definitiva de SQL Server 2008. Se trata de una gran noticia :-) Si eres suscriptor, ahí te dejo los enlaces: Edition Language Download Location SQL Server 2008 Developer (x86, x64, ia64) English MSDN Subscriber Downloads MSDN Top Subscriber Downloads SQL Server 2008 Enterprise (x86, x64, ia64) English MSDN Subscriber Downloads MSDN Top Subscriber Downloads TechNet Subscriber Downloads TechNet Top Subscriber Downloads SQL Server 2008 Standard (x86, x64) English MSDN Subscriber Downloads MSDN Top Subscriber Downloads TechNet Subscriber Downloads TechNet Top Subscriber Downloads SQL Server 2008 Web (x86, x64) English MSDN Subscriber Downloads MSDN Top Subscriber Downloads TechNet Subscriber Downloads TechNet Top Subscriber Downloads SQL Server 2008 Workgroup (x86, x64) English MSDN Subscriber Downloads MSDN Top Subscriber... [Más]

Tags: ,

mar 10 2008

Generadores de datos personales aleatorios para pruebas

José Manuel AlarconCategorías: Mundo TIC | SQL Server
Generadores de datos personales aleatorios para pruebas El otro día, para un proyecto, necesité disponer de una buena lista de nombres, apellidos, teléfonos y otros datos personales de individuos de distintas nacionalidades para poder hacer pruebas. Lo primero que como buen friki programador pensé fue la posibilidad de conseguir en Internet alguna lista de nombres y apellidos (busqué sobre heráldica, censos electorales y otras cosas así en Google) y luego hacer un programa para generarlos aleatoriamente combinándolos. El caso es que llegué hasta algo mucho mejor. Se trata de un par de páginas realmente interesantes que permiten generar datos aleatorios con bastantes parámetros. La primera de ellas es Generatedata.com: Te permite crear una lista de registros de datospersonales simulados a elegir entre mútliples opciones (ver desplegable de la figura), y luego exportarlos a diversos formatos, incluyendo sentencias INSERT de SQL para meterlos en una base de datos. Lo malo es que sólo soporta datos de ciudades y provincias de los países qu... [Más]

Tags: ,

sep 10 2007

Compatibilidad entre versiones de SQL Server - problema la ordenación ORDER BY y los prefijos

José Manuel AlarconCategorías: SQL Server
Compatibilidad entre versiones de SQL Server - problema la ordenación ORDER BY y los prefijos Bueno, he estado completamente "missing" durante 5 semanas. No es que me haya ido de vacacione (ojalá) sino que simplemente he tenido demasiado trabajo :-( Retomo mi actividad blogera habitual con una cosa curiosa que me ha pasado recientemente y que estoy seguro de que a más de uno le podrá resultar útil. Resulta que recientemente migramos una base de datos hecha con SQL Server 2000 a SQL Server 2005. Lo primero que hice una vez adjuntada al nuevo servidor fue poner el modo de compatibilidad con SQL Server 2005, es decir, hacer que se comportara nativamente como si siempre hubiera estado en esta última versión del SGBDR: sp_dbcmptlevel 'MiBaseDatos', '90' Este comando T-SQL hace que la BD indicada se comporte con el nivel de compatibilidad indicado, en este caso la versión 9.0 de SQL Server, o sea, la 2005. El caso es que todo parecía ir estupendamente, pero una de las consultas empezó a fallar. Y se tratata de una consulta muy sencilla. No la voy aponer aquí porque forma parte... [Más]

Tags: