Msg 468 Level 16 State 9 Cannot resolve the collation conflict

Este error se produce cuando en determinados selects hay campos con diferentes collations (colaciones u ordenamientos) y provocan una incompatibilidad al momento de resolver la consulta.
Esto se soluciona especificando de manera concreta la collation con la sentencia collate, veamos el ejemplo a continuación usando la base AdventureWorks.

select addressline1 collate SQL_Latin1_General_CP1_CI_AS from Person.Address
union all
select FirstName collate SQL_Latin1_General_CP1_CI_AS from Person.Contact

Y con la función fn_helpcollations podemos recuperar una lista de collations compatibles con el sistema operativo del server.

select * from fn_helpcollations()

La collation especificada para las bases de datos, campos de tabla especifica la forma en que SQL va a ordenar los campos al momento de presentarlos en pantalla.
Read More...

Inyección SQL - Técnicas y como evitarlo

En:
http://www.nextgenss.com/papers/advanced_sql_injection.pdf

Se encuentra un excelente tutorial sobre inyección SQL y como evitarlo y "blindar" nuestras aplicaciones en contra de esta técnica que algunas veces muchos desarrolladores omiten.

Hugo Bernachea - (Microsoft Certified Trainer - MCSD)
http://www.linkedin.com/in/bernachea
Read More...

Mensaje de error: Cannot generate sspi context o No se puede generar contexto SSPI

Este es un mensaje de error que SQL Server puede llegar a dar al intentar registrar un servidor SQL con seguridad integrada (windows).
Después de dar vueltas y vueltas en su momento con este error, ciertamente frustrante en algunos casos, después de investigar bastante, creo que la mejor explicación, la mas completa y concisa está, como muchas veces suele estar, en sqlservercentral:

http://www.sqlservercentral.com/articles/Installation/cannotgeneratesspicontext/929/

En resumen, la configuración de active directory, kerberos, e incluso la sincronización de horas tienen que ver con este error.

Hugo Bernachea - (Microsoft Certified Trainer - MCSD)
http://www.linkedin.com/in/bernachea
Read More...

Como des-encriptar un Stored Procedure encriptado ?

El siguiente script lo encontré googleando por ahí y me pareció interesante postearlo con la idea de ser utilizado para recuperar la lógica de stored proc encriptados.
Aparentemente solo funciona con stored de hasta 4000 líneas, mas allá de eso tira un mensaje de error.

Pero bueno, nada es perfecto es esta vida, pero en general cumple con el objetivo:

http://searchwindevelopment.techtarget.com/tip/0,289483,sid8_gci841704,00.html

Si son suficientemente sagaces podrán notar que reemplazando las partes que dicen "Procedure" por "View" podrían hacer un desencriptador de Vistas encriptadas.





Hugo Bernachea - (Microsoft Certified Trainer - MCSD)
http://www.linkedin.com/in/bernachea
Read More...