Mostrando entradas con la etiqueta Tiene que ir algo aqui?. Mostrar todas las entradas
Mostrando entradas con la etiqueta Tiene que ir algo aqui?. Mostrar todas las entradas

viernes, 15 de octubre de 2010

Como saber quien es db_owner en SQL Server

Seguramente que alguna vez se han visto en la necesidad - si, ustedes que tuvieron el infortunio de dedicarse a las TI - de revisar la infraestructura a su cargo y tratar de aplicar medidas de seguridad para evitar el uso y/o maluso indiscriminado. Bueno, pues es mi caso el dia de hoy. Y aunque he reiterado en otras ocasiones que este no es un blog de tecnología si me ha servido muy bien al propósito de no olvidar donde pongo las soluciones a esos problemas que resultan tener una solución un poco rebuscada.

En esta ocasión voy a enseñarles como auditar un servidor de bases de datos con SQL Server y asi identificar aquellos usuarios que pertenecen al rol de DB_OWNER y que quizas no sea necesario. De hecho no lo es en ningun caso y es una pésima decisión hacer esto para simplificar la implementacion de algun sistema. Bien, vamos allá.

La forma cansada: Si queremos hacer esto de forma tediosa podemos acceder via el Analizador de Consultar (el Query Analizer pues..) y conectarnos a cada base de datos y ejecutar exec sp_helpuser db_owner con lo que nos regresará los usuarios que tengan el rol db_owner para esa base de datos. Si tienes un par de bases de datos no ocupas más, pero si tu caso es como el mio y mas bien tienes muchas bases de datos te conviene mas leer como hacer:

La forma Menos cansada. Aqui vamos a utilizar un script que nos va simplificar mucho el trabajo pues solo tendremos que ejecutarlo sobre la base de datos Master y nos regresara un lista enorme con lo que queremos. Vamos por partes.

1. Primero necesitamos acceso al servidor con niveles de administrador, si ustedes administran no deberían tener problema.

2. Ahora nos conectamos con el Query Analizer a la base de datos Master porque necesitaremos tomar de alli el catalogo de bases de datos existentes en el servidor. ESta información se guarda en la tabla sysdatabases y tomares solo el nombre y el dbid. Puede revisar el contenido de esa tabla haciendo un select * from sysdatabases. Normalmente los numeros del 1 al 6 corresponden a las bases de datos nativas de SQL (master, model, northwind, etc) por lo que nuestras bases de datos empezaran a partir del dbid numero 7.

3. Ejecutamos el siguiente script, adicionalmente puede cambiar el tipo de salida que arroja el Query Analizer para que sea vaya a un archivo. Describiré paso a paso el script.

Primero declaramos las variables para controlar el ciclo y el nombre de la base de datos.

DECLARE @Contador INT
DECLARE @Rows int
DECLARE @NameDb varchar(50)


Luego inicializamos la variable @Contador en 1, igual podria ser a 7 y asi evitamos las bases de datos nativas de SQL.

Set @Contador = 1

Declaramos una base de datos temporal que llenaremos con los datos obtenidos de la tabla sysdatabases. Noten que solo creamos las columnas de Nombre de la base de datos (Name) y el identificar (dbid).

DECLARE @tbldatabase TABLE
(
Name varchar(50) NOT NULL,
dbID CHAR(11) NOT NULL
)


Ahora llenamos la tabla temporal que acabamos de crear. Ya tenemos el catalogo de bases de datos listas para que sean auditadas.

INSERT INTO @tbldatabase
SELECT name, dbid FROM
sysdatabases


Ahora igualaremos la variable @Rows al numero de renglones de nuestra tabla que temporal, que serán - efectivamente estudiantes - el numero de bases de datos que auditaremos. Esta variable la usaremos para hacer un ciclo y ejecutar el script sobre todas las bases.

SET @Rows=(SELECT count(*) FROM @tbldatabase)

Aqui empieza la magia. Lo que hace es abfrir un ciclo desde 1 hasta el numero total de bases de datos almacenado en la variable @Rows y ejecutar el mismo exec sp_helpuser db_owner sobre cada base de datos. Agregare comentarios en las lineas para describir lo que hacen.

WHILE @Contador<=@Rows BEGIN
-- En este set se iguala el nombre de la base de datos segun el valor
-- del @Contador.
SET @NameDb = (SELECT Name FROM @tbldatabase WHERE dbid = @Contador)
-- Este Select es solo para que aparezca el nombre de la base de datos
-- antes
y sepamos cual estamos auditando
Select @NameDb
-- Aqui ya estamos cambiando de la Master a la base de datos que estamos

-- auditando y ejecutamos el script.
exec('USE ' + @Namedb + ' exec sp_helpuser db_owner')
-- Incrementamos el contador para avanzar un registro en la tabla temporal

-- y tomar otra base de datos
SET @Contador = @Contador + 1
END

Finalmente lo ejecutamos sin miedo y con singular alegria y tendremos nuestro reporte listo para ser revisado. Y bien, que sigue?

Pues sigue quitarle esos privilegios a esos usuarios sobre las bases de datos y solo asignarle aquellos que requieran, para lo que pueden usar este post anterior.

Gracias a Fer Luna por pasarme el script en el que me base y ayudarme a adecuarlo a mis propositos.

Saludos.

Aca abajo pongo el codigo sin comentarios y listo para ser ejecutado.


------Empieza codigo ---------


DECLARE @Contador INT
DEclare @Rows int
DECLARE @NameDb varchar(50)

Set @Contador = 1

DECLARE @tbldatabase TABLE
(
Name varchar(50) NOT NULL,
dbID CHAR(11) NOT NULL
)

INSERT INTO @tbldatabase
SELECT name, dbid FROM sysdatabases

SET @Rows=(SELECT count(*) FROM @tbldatabase)
WHILE @Contador<=@Rows

BEGIN
SET @NameDb = (SELECT Name FROM @tbldatabase WHERE dbid = @Contador)
Select @NameDb
exec('USE ' + @Namedb + ' exec sp_helpuser db_owner')
SET @Contador = @Contador + 1

END

------Termina codigo --------

miércoles, 7 de julio de 2010

Servicio de mudanzas.

Solo hasta que te mudes solo vas a notar que rápido caducan tus alimentos en el refrigerador. O lo rápido que un cuarto de baño se ensucia. O cuanto vello corporal se acumulan en los tapetes. O Que tan rápido 346 hormigas pueden devorar a una cucaracha recién aplastada. Se necesita estar solo para darte cuenta como el polvo se acumula entre tus muebles y tus huesos, negándose a salir y dejarte exhausto a cada paso.

Únicamente a solas veras que la comida pierde sabor y las visitas su encanto cuando el alma se te va en buscar recuerdos reptando por las paredes.

Hasta que tu mismo estés solo vas a notar lo frías y tristes que son esas mismas cuatro putas paredes que te has comprado. Y sentirás lo que se siente no sentirte a ti dentro de ellas.

sábado, 13 de marzo de 2010

Y quizas.

Digamos que son casi las 2am. Y que hace apenas unos minutos conducía yo por esos caminos de Thor. Con todos esos maleantes haciendo sus maleanticidades. Y puede que justo antes de despedirme, en su puerta y ya dos escalones abajo para propiciar el beso, la he mirado a los ojos y le haya dicho que me gustaría quedarme. Y ella habrá dicho que también lo quería. Pero yo he visto otra cosa. Y solo he dicho, muy bajo, solo para mí. He dicho quizás. Y luego me he ido.


Supongo que así seremos la mayoría, lo obvio lo ignoramos y la mínima duda la convertimos en un abismo. Insorteable.


Paz





viernes, 13 de marzo de 2009

Post previo a ponerme ebrio

Pues estoy en mi truck afuera de la casa de Jonathan esperando que llegue para empezar a tomar. Esta semana estuvo de la chingada, justo igual que las otras tres anteriores, pero quien le da importancia ya a las cosas. Lo bueno que es el inicio de un fin de semana laaaargo y que tengo un par de cervezas en la hielera (12 enpara ser exactos, mas dos buds de litro por si hay que ser rigurosamente exactos). Lo unico que me ha puesto alegre los ultimos dias es ver que el led del modem 3g se pone azul y que puedo seguir perdiendo irresponsablemente el tiempo antes de que las dos materias que curso y que son las ultimas de mi carrera se vean amenazadas por una reprobada inminente.

Pero como dije antes, quien le da importancia a esas cosas.

Salud.

sábado, 20 de diciembre de 2008

Palabras que todo LSIA ya TI-TU-LA-DO deberia conocer para vender un proyecto.

El negocio del desarrollo de software, aceptemoslo, jamás ha sido un negocio que pague bien. Y no me refiero al dinero sino que la satisfacción de sacar un producto a producción no marca el final de un ciclo si no más bien el inicio donde empezaras a trabajar en detalles que jamás salieron a la luz durante una etapa de analisis o cosas que al cliente le parecio oportuno omitir para que asi no te diera pánico entrarle al proyecto.

Además, los nuevos gerentes e inversionistas ya no se contentan con una aplicación con botoncitos bonitos y reportes cuadraditos: quieren resultados el primer mes. Y bueno, ellos tienen control sobre la llave de los dineros. Y esa llave se tarda en abrir bastante. Dicen. Yo estoy del otro lado de la interfaz en ese tipo de proyectos. Pero no soy ajeno a las peripecias que deben hacer para afanarse el dinero para un proyecto de desarrollo de software porque me ha tocado participar en algunas juntas donde se discute ese tipo de menesteres y la verdad es que las pseudo razones que dan para iniciar el desarrollo son casi razones para olvidarse del asunto.

Por ello y en afán de apoyar a todos esos compañeros egresados que navegan con bandera de gurus de RUP (ese método de las ballenitas) y que dominan a la perfección el google y wikipedia he intentado crear una lista de conceptos que deslumbraran a cualquier PM (project manager) entendido y hara que suelten el billete sin pensarla mucho.

Top ten de los conceptos que todo LSIA titulado debe saber.


10. Compromiso. Ante todo el cliente debe quedarse con la idea de que tu, como proveedor, no sientas que le estás haciendo el megafavor de ayudarles a solucionar sus problemas. El Cliente quiere pensar que al momento de firmar el contrato tu equipo se pondrá la camiseta de la empresa - les quede como les quede - y sudaran sangre hasta terminar el proyecto. Es muy importante repetir la palabra compromiso con una entonacion mesurado y dirigiendo la mirada en forma pasiva a los tipos de jerarquía mas baja.. porque serán ellos quienes se pongan una chinga y es mejor tener su simpatía.

9. Vida promedio. Esto es un concepto que ya ha caido en desuso, fue muy de moda en los 80's y 90's para ser ya casi ha sido sustituido por el de ROI ( me parece escuchar el tintineo de muchos dientes de LSIA solo de recordar las clases de Ingeniería Económica) . Al cliente le interesa saber cuanto va durar su sistema productivo, más aún al cliente estarámuy interesado en saber cuando tendra que invertir en mantenimiento de su sistema y cuanto va costar, aqui es de vital importancia no hablar mas de la cuenta y evitar que las letritas chiquitas no digan absolutamente nada de estos y ya como quiera despues se le pasan al cliente como...

8. Costos ocultos. Este obviamente no es un término que se pueda andar diciendo en todas las reuniones. No. Este solo lo pueden decir cuando el cliente ya este comprometido, o por decirlo coloquialmente: cuando el cliente sepa que ya se la dejaron caer. En un tono conciliador y de forma que al cliente le quede claro que todos sabemos que siempre hay costos ocultos, de esta forma se transforma en su problema y lo toma como afrenta personal malversarunos cuantos billetes de por ahi para salir al paso.

7. Entregables. En un proyecto ideal - no he estado en ninguno aún- lo normal sería que la documentación fuera entregada en tiempo y forma, pero jamás es así. En muchos de los casos se comete el error de poner a documentar un sistema a la misma persona que lo creo lo cual obviamente es una mala decisión. Como sea, como proveedor, es mala idea levantar una expectativa mayor sobre los entregable porque para cuando el proyecto este en su etapa final la relacion con tu cliente estarátan desgastada que lo unico que querras sera largarte de ahi.

6. Requerimientos. Este termino es básico y puede resolverte muchos problemas si lo empleas bien. En un sentido estrictamente etimologico quiere decir todos aquellas solicitudes o necesidades de tu cliente que DEBISTE recabar durante la fase de apertura del sistema. Lo importante es hacerle creer al cliente que si no puso en claro algo en esa fase no se puede ya incluir en el proyecto por riesgo a causar costos (ocultos obviamente) o por alterar los

5. Alcance del proyecto. Este término te va servir de mucho lograr que tu cliente se muerda el izquierdo cuando le digas que no se puede incluir tal o cual funcionalidad por no estar dentro del alcance del proyecto. En menor medida tambien puede servir para justificar que el cliente invierta en agregar modulos a un sistema, aun cuando quizas esa funcionalidad debio ser descubierta y documentada por tu analista de sistemas.

Obviamente el cliente quiere saber que tiene respaldo técnico por parte del proveedor mas si va invertir una buena cantidad de lana en equipo. Es por ello que se deben dominar un par de conceptos que abren con facilidad las carteras.

4. Outsourcing. O Subcontratación. Esto es generalmente cuando se contratan los servicios de un tercero para realizar una tarea que a) Es tediosa y/o riesgosa, b) Es demasiado costosa para que tu absorbas los costos o c) Jamás la consideraste y ahora ya es un factor critico de exito. Obviamente lo ideal es aqui sugerir el outsourcing como la salvacion y ademas proponer a un tercero que nos pueda dar parte de la ganacia.

3. Performance. Esta palabra es de las mas socorridas a lo largo del proyecto, es casi como una wildcard que abre puertas y códigos presupuestales con una facilidad pasmosa. No hay mas que decir que '... el performance se vera afectado posivitivamente sí se invierte en modernizar los servidores..' para que las cajas registradoras empiecen a sonar. Casi al parejo las cejas de la gente de TI se empieza a levantar. Son signos que hay que leer para saber que un par de patadas en el culo vienen en camino.

2. Infraestructura tecnológica. Aqui las alarmas deben estar encendidas siempre, porque cualquier cosa que digas provocara la ira o miradas aprobadoras del area de TI. Y es de todos sabidos que aunque pocas veces son escuchados proyectos enteros se han venido abajo por falta de su apoyo. Aunque no por eso vas a parecer un estupido aldeano? Puedes citar este termino siempre y cuando en la reunion haya no más de un integrante del área de TI, asi las posibilidades de que quiera presentar resistencia será nula.

Y por último la joya de todos los técnicismos, algo con lo que todo mundo cae y que creanlo o no, me ha tocado escuchar en una reunión con un consultor que se pensaba que esta tratando con un grupo de agricultores tratando de montar un tractor.

1. Control de redundancia ciclica. Obviamente el término tiene poco o nada que ver con la justificación de proyectos de software, pero nombrar otros pudiera causar que te pidieran dar mas explicaciones. Por eso es mejor decir una frase elaborada cuando te pidan explicaciones de porque los resultados no son los esperados tu podrias dar una respuesta del tipo: 'Hemos observado que no hemos llegado a los niveles de servicio esperados debido a que el performance de la infraestructura tecnologica se ha visto afectado por el factor de perdida de estabilidad en el control de redundancia ciclica de los servidores lo que nos forzará a realizar cambios drásticos en nuestros desarrollo y esto, obviamente, afectará los tiempos de entrega de nuestro proyecto.' Directo y no tanto a la vez, pero nadie lo entendera y es posible - creanlo, lo es - de que se lo traguen.

Estoy seguro, tu lector LSIA, que de ahora en adelante podrás abrirte paso con más facilidad en las juntas y hacerte respetar por tus compañeros. Te lo dice alguien que estuvo ahi, se rió, mucho. Y se sigue riendo aún.

Paz.

miércoles, 8 de octubre de 2008

Zona rosa

Pues no lo iba contar pero espero que con mi experiencia luego si andan alguna vez por el DF no les pase lo mismo. Sucede que el hotel donde me estuve quedando estaba en plena Zona Rosa y en una de las que me aventure buscando un oxxo o algo así donde recargar saldo del mostrocelular me topé con una chica de buenas caderas que venia con una maleta de estas que tienen rueditas para facilitar el llevarlas contigo. La chava se miraba como que extraviada y no dejaba de buscar algo en su celular y yo que ya me sentía todo un nativo porque conocía las 3 cuadras más próximas al hotel me acerque a ver si le podía ayudar. La plática fue breve.. bueno, mejor la reproduzco.

Mostro: (en tono galán acá tipo Mauricio Garcés) Alo sabrosura, te puedo ayudar en algo?

Chica de buenas caderas: No, ya llegue gracias.

Y nada que se metió a un teibol con todo y maleta. Y ahora que lo pienso quizás lleva a un tipo destazado en la maleta porque no creo que una tanga, unas zapatillas y unas borlas cubre pezones necesitaran tanto espacio. Quien me manda por pendejo.

Paz

lunes, 6 de octubre de 2008

Mèxico DF parte II

Seguramente se habran preguntado si logre mi objetivo. Pero no, no hubo suerte. O Ninel Conde se escondio muy bien o de plano anduve muy lejos de manosearle su operado trasero. Como sea, hace ya una semana y media de que volvi del DF en donde termine pasando en total tres semanas. Me gustaria decirles que fue una visita edificante, enriquecedora o entretenida cuando menos, pero la verdad es que fue cansado y monotono la mayor parte del tiempo. Agotador es la palabra y la coronación final fue que llegando a Obregón ya se tenia lista una compra aun sin ver los resultados que habiamos tenido y por los que estuvimos tres putas semanas trabajando de 8.30am a 9:00pm.

Lo unico que saque de todo eso fue los tragos gratis. Aunque bueno, he aqui una lista de los conocimientos que adquiri durante mi estancia:

- Como distinguir un taxista que puedo someter a golpes.
- Aprendi que en Mexico DF puede haber mujeres guapas. Ya no solo posters como en mi visita pasada.
- Aprendi a pedir direcciones ocultado mi acento sonorense.
- Aprendi que hay extranjeros que por muy gϋeros no se les quita lo ignorantes.
- Que a veces es sano mandar al demonio a toda la estructura organizacional de tu trabajo.
- Entendi porque los DFeños no son tan fijados en el fisico. Aca todo es puro cariño.Y lo entenderiamos si en Obregon tuvieras que pasar 6 horas diarias en el trafico para llegar a casa. Llegando quisieras tirarte lo que fuera.
- Entendi, luego de caminar por varias taquerias, que jamas en su vida nadie podra igualar a los tacos de Obregon.

Como sea.. ya volvi. Me perdi de postear sobre algunos sucesos que pasaron pero afortunadamente K en su blog ya comentó sobre ellos.

Paz.

viernes, 29 de agosto de 2008

Mercury Loadrunner 4 - Mostroenturno 2

Regularmente no hablo de tecnología mas que cuando se aplica al contexto, como en "el telnet hijo de su chingada madre se quedaba colgado..' o '..el pendejo del apliqueichon server que andaba valiendo madres.' Evito hacerlo, porque todo el dia es lo unico que hago. Maldecir no, trabajar con tecnología quiero decir. Bueno, la verdad es que me la paso diciendo groserias todo el dia asi que segun mi teacher de ingles le tengo un culto a la violencia. Yo pense que era al dolor pero parece que no. Ella sabrá mas. Desde aqui las cosas se ven distintas.

Como sea, fue una semana bastante pesada y la que viene va estar peor, lo que si les puedo asegurar queridos lectores es que mañana el puto Mercury Loadrunner va moder el polvo. Chingue su madre el amor si no.

Peace out

PS: si quieren saber que es el Loadrunner vean aca. Y si alguien saber y quiere hacer el paro me dicen.

martes, 12 de agosto de 2008

and if I weren't an IT PRO...

Seguro que muchas veces se han preguntado: ¿Y si en lugar de meterme a informatica hubiera estudiado otra cosa? Tales razonamientos solo vienen despues de un dia donde te ha ido de la fregada y por mas que intentas hacer bien las cosas al final del dia el balance te deja para rumbo de la chingada. Varias veces me ha pasado, algunas en las que he metido la pata hasta las verijas y otras donde el resto del mundo se empeña en ponerse en frente y hacerla de pedazos. Y si, lo reconozco, he llegado a decir 'Chingada madre!! porque no pude ser tractorista como todos en mi pueblo!!!'.

Pero seamos sinceros, llevo 16 años con un teclado en las manos y basicamente lo unico que se hacer mas o menos bien es trabajar con TI, no dispongo de la suficiente fuerza bruta como para aguantar un dia en la sabritas cargando costales de papas y de seguro en acosa me iban a querer correr porque seguiramente encontraría la forma de que las maquinas hicieran mi chamba.

Y pues me he preguntado cuales serían mis oportunidades laborales de no trabajar en las trincheras tecnológicas de mi departamento. Se me ocurren algunas.

1. Guitarrista cumbiero: Es de todos conocido que las cumbias llevan tres acordes, asi que con la pericia en la guitarra tengo mas que garantizado el exito en cualquier grupo musical que amenice bailes, bodas y xv años. Ademas como siempre he sido un iman para gays y stalkers en potencia de seguro que en unos cuantos bailes me hare de mi club de groupies y fans.

2. Servidor publico ventanilloso: Cuando no soy un reverendo hijo de puta suelo ser una persona muy pero muy amable, que mejor cualidad para estar en una ventanilla de unos de los trámites mas engorrosos y en la que la cola le da tres vueltas al palacio. Yo digo que no hay nada mas reconfortante que te manden a chingar tu madre con una sonrisa y de forma muy amable, hasta te vas encabronado... pero sonriendo.

3. Asesino profesional: Despues de años de jugar Doom, Blood, Call of duty, Postal, Wolfstein, GTA y otros juegos de violencia y de ver y volver a ver 'Reservoir Dogs' creo que cuento con la experiencia suficiente para dedicarme a venadear politicos y otro tipo de alimañas.

4. Limpiador de graffiti y demas arte urbano: Seguro que aqui si me hago rico tomando en cuenta que la ciudad esta hecho un chiquero por culpa de los estupidos pubertos que creen que es la onda andarse subiendo a los anuncios para escribir su cochinero. Solo que aparte que a mi a los 5m de altura ya me empiezan a dar calambres y de seguro que los cholitos la iban agarrar contra mi por destuir su arte.

Bueno son las que se me ocurren, despues de todo si un dia me las ingenio para hacer un cague monumental siempre me podre ir al tractor. ejem-

lunes, 30 de junio de 2008

Jumper

Hace un par de días me copie de algun lado la pelicula Jumper, como no la pude ir al cine a falta de saya pues la vi en casa. Aunque la historia es interesante tiene sus puntos flojos que como cinefilo que no soy no describiré. Seguro que ya hay muchas reseñas hechas por gente con mas gracia. Para mi cae en el mismo lugar donde estan otras tantas peliculas domingueras.

Lo que si es que me puse a pensar cuando veia que el bueno de la peli saltaba de un lugar a otro en lo util que sería para un mostro como yo contar con esas habilidades. Mi trabajo y mi vida personal se verian simplificados en forma absurda. Veamos algunos ejemplos del uso de la habilidad.

Uso Habilidad 1: Escapar de una situación embarazosa.
Por ejemplo cuando se me jodio el server aquel. Al momento previo de que el cague fuera de dominio publico podría haber agarrado el server y saltado hacia Cupertino en California donde esta una empresa que arregla este tipo de cagues.

Uno Habilidad 2: No quedarse sin cheve.
Imaginate que son las 11.40 y quedan 2 botes. El expendio mas cercano está a 10 minutos. No llegas. Pues agarras la hielera y saltas al expendio. Y ya entrado en gastos abrazas el refri con todos los botes y pegas el salto a casa. De una vez agarras unos pistaches.

uso Habilidad 3: Limpieza religiosa.
Imaginate que son las 7.45am y que a tu puertan llegan los Testigos de Jehova (hasta el momento ninguna otra secta ha ido a joder a mi casa) que te vienen a decir que se va acabar el mundo y tu por zarra no estas entre los compas que se van a salvar. Pues los agarras y pegas el salto a un lugar lejano, no se.. como Utah donde probablemente sirvan de algo.

Solo se me ocurren esas. Aunque si pudiera saltar ya hubiera pegado el brinco a la merga de aqui. Es todo.