SQL Server Performance Forum – Threads Archive
Optimizador de Base de datos
Saludos .. ..<br />les escribo por que tengo una duda .. lo que pasa es que estoy haciendo un proyecto que trata de hacer un optimizador de base de datos … y uno de los puntos a tocar es sobre eliminacion de inidices no usados ….. para hacer la aplicacion estamos recuperando la metadata del SQL SERVER 7.0 .. pero por mas que busco informacion de como obtener el porcentaje de utilizacion de indices no lo en****ro .. salvo en esta pagina que me dicen una manera pero atravez del tunin index wizar .. .. pero lo que en relidad estoy buscando es como poder implementar una funcion que permita localizar el porcentaje de uso de los indices pero como usuario DBA no como SYS …<br />espero me puedan ayudar con esta duda que por mas que busco info no la encuentro …<br />Otra duda que tengo es para ver el rendimiento de las sentencias .. queziera saber como es que hace el SQL Sqerver para calcualar su rendimiento, es decir como se implementa el EXecution plan pues el proyecto tambien abarca este tema y tampoco puedo encontrar informacion acerca de este tema …<br />espero me puedan ayudar … les agradezco por adelantado , y tambien les agadezco el hecho de leer este mensaje …<br />gracias !!

Willy, La única forma conocida, más o menos sistematizada, es la del artÃculo que se encuentra en este Forum (está en español). Con respecto a execution plan son rutinas internas de SQL que, hasta donde yo se, no se encuentan disponibles en ninguna documentación. Saludos,
Luis Martin
Moderator
SQL-Server-Performance.com One of the symptoms of an approaching nervous breakdown is the belief that one’s work is terribly important
Bertrand Russell
All postings are provided “AS IS†with no warranties for accuracy.
La metadata de la base de datos es solo descriptiva. No te aporta información del uso o de la forma de uso. Tal vez lo que estés buscando se encuentre en los valores que dejan las trazas del SQL Profiler, tu aplicación podrÃa recorrer la traza, interpretarla y tener la inteligencia de optimizar. Por ejemplo dejas corriendo un sistema con trazas una semana, y luego la analizas con tu aplicación, dentro de la traza podés gusrdar el plan de ejecución y recorriendolo (no digo que sea tarea facil) te va a decir que indices se utilizaron y en que forma. Saludos
Antes que nada agracerles por el hecho de ayudar con su experienciencia , yo recien empiezo con esto y la verdad que lo que se es por lo que he investigado pues es un proyectos con fines educativos en cual he propuesto.[<img src=’/community/emoticons/emotion-5.gif’ alt=’


Creo que puedes encontrar la información que buscas en los Libros On Line de SQL Server. No obstante, para ser sincero, es muy difÃcil llevar a cabo tu proyecto. Por un lado, no existe herramienta paga, que realize el trabajo del Profiler y del Index Tunign Wizard. Por otro lado, no existe ninguna herramienta, store procedure o software de terceros que analize el uso de los Ãndices de una base de datos. Te comento estas cosas, dado que he buscado mucha información y software de terceros que permita realizar esas funciones, como alternativa de las ofrecidas por SQL sin encontrar alguna. Pero, quién sabe?, quizas tu puedas ser el primero. Ojalá asà sea.
Luis Martin
Moderator
SQL-Server-Performance.com One of the symptoms of an approaching nervous breakdown is the belief that one’s work is terribly important
Bertrand Russell
All postings are provided “AS IS†with no warranties for accuracy.
hola !! bueno uds saben como puedo crear un procedimiento almacenado que se ejecute en una fecha determinada en la base de datos [?] espero me puedan ayudar.<br />gracias !<br />willy cornejo [<img src=’/community/emoticons/emotion-5.gif’ alt=’

Si, puedes usar un job agendado con el procedimiento almancenado para que se ejecute en la fecha que tu quieras.
Luis Martin
Moderator
SQL-Server-Performance.com One of the symptoms of an approaching nervous breakdown is the belief that one’s work is terribly important
Bertrand Russell
All postings are provided “AS IS†with no warranties for accuracy.
Hola a todos ! bueno esta vez me dirijo a uds porque tengo una duda, no se asi alguno de uds sabe (si es que se pude ) como hacer para saber el numero de accesos que a ocurrido en una tabla, accesos me refiero al total de inserts, updates, select que a ocurido sobre alguna tabla especÃfica …<br />espero me puedan ayudar con esta gran duda que tengo [<img src=’/community/emoticons/emotion-5.gif’ alt=’


Quizás con un trigger que cuente cada insert, update o select.
Luis Martin
Moderator
SQL-Server-Performance.com One of the symptoms of an approaching nervous breakdown is the belief that one’s work is terribly important
Bertrand Russell
All postings are provided “AS IS†with no warranties for accuracy.
ok pero hay un problema, no se puede detectar los selects con triggers, talvez este equivocado, y si lo estoy espero me puedas ayudar con esto .. como dedecto un select con triggers[?] , espero me puedas ayudar gracias!<br />ah ! otra cosa no se si me pudieran decir como es que el sql server maneja las fachas por que una vez pude insertar una fecha pero ahora me sale error de formato <img src=’/community/emoticons/emotion-6.gif’ alt=’



Tienes razón con respecto al select. Trigger es solamente para insert, delete o update. Con respecto a las fechas tienes que mirar la configuración regional del SO.
Luis Martin
Moderator
SQL-Server-Performance.com One of the symptoms of an approaching nervous breakdown is the belief that one’s work is terribly important
Bertrand Russell
All postings are provided “AS IS†with no warranties for accuracy.
y existe alguna forma de detectar cuando se haces algun select en alguna tabla ?? lo que pasa es que necesito hayar el numero de accesos que una tabla especifica ha tenido ..<br />espero me puedan ayudar .<br />gracias !<br />willy cor[<img src=’/community/emoticons/emotion-5.gif’ alt=’

El profiler detecta cada instrucción ejecutada, el problema que el select puede tener más de una tabla y además con joins lo cual implica una especie de tabla temporaria. Adicionalmente, si un select de una tabla ya se encuentra en memoria no existe nuevo acceso a esa tabla, lo cual complica saber cuando se realiza un select sobre alguna tabla.
Luis Martin
Moderator
SQL-Server-Performance.com One of the symptoms of an approaching nervous breakdown is the belief that one’s work is terribly important
Bertrand Russell
All postings are provided “AS IS†with no warranties for accuracy.
ahora tengo otro prblemita .. he ceado un job cuya funcion es insertar una fila en una tabla , pero este nunca se ejecuta <img src=’/community/emoticons/emotion-7.gif’ alt=’:S’ /> , le he agreagado steps y shedule pero no hace nada … q es lo q puedo hacer .. sabe alguno por que ocurre esto y como puedo solucionarlo?? <br />espero me puedan ayudar [<img src=’/community/emoticons/emotion-5.gif’ alt=’


Tienes levantado el sqlagent?.
Lo agendaste para una hora o fecha fija?
Algún error en el Visor de Eventos o el Log de SQL?
Luis Martin
Moderator
SQL-Server-Performance.com One of the symptoms of an approaching nervous breakdown is the belief that one’s work is terribly important
Bertrand Russell
All postings are provided “AS IS†with no warranties for accuracy.
Hola ! al parecer no esta levantado el SQL Agent ..<img src=’/community/emoticons/emotion-7.gif’ alt=’:S’ /><br />gacias por la ayudadita [<img src=’/community/emoticons/emotion-5.gif’ alt=’


El lugar del DBCC te sugiero:
select * from sysperfinfo.
En esa tabla están todos los contadores de SQL.
Luis Martin
Moderator
SQL-Server-Performance.com One of the symptoms of an approaching nervous breakdown is the belief that one’s work is terribly important
Bertrand Russell
All postings are provided “AS IS†with no warranties for accuracy.
hola [<img src=’/community/emoticons/emotion-5.gif’ alt=’



Te sugerio cambiar ,@freq_interval = 1 por 4. Probá y contame.
Luis Martin
Moderator
SQL-Server-Performance.com One of the symptoms of an approaching nervous breakdown is the belief that one’s work is terribly important
Bertrand Russell
All postings are provided “AS IS†with no warranties for accuracy.
Hola ! … bueno supongo me habran extrañado .. jejeeje..<br />esta vez les escribo a uds pues tienen mayor experiencia en esto que yo .. debido a que recien he empezado con mi investigacion para la realizacion de un optimizador de bases de datos ..(que es mi tema de tesis) .. acudo a uds debido a q desearia me escribieran indicandome que es lo q un dba necesita en una aplicación para optimización de bases de datos.. uds tienes mayor experiencia y han estado investigando por mucho mas tiempo que yo. <br />hasta el momento mi aplicacion realiza lo sgte:<br />- creacion de indices, archivos, grupo de archivos.<br />- desfragmentación (reorganizacion )de indices.<br />- muestra los recursos usados por las sentencias.(esta parte aun le falta mejorarla)(que creerÃan uds conveniente muestre en este punto ???)<br />- muestra reportes graficos sobre los acirtos de cache, y uso de CPU en un periodo dado (esto en el caso de SQL server), en el caso de oracle es por Table SPace y ademas se muestra el uso de memoria.<br />- En caso de Oracle eliminacion de indices no usados (esto no esta implementado en SQL SErver pues no encuentro aun manera de hacerlo <img src=’/community/emoticons/emotion-7.gif’ alt=’:s’ />)<br />- Se puede puede conectar a varias bases de datos tipo Oracle o Sql Server.<br />Hasta ahora esto es lo que he avanzado, me parece que podria agragale algunas cosas mas, por ello acudo a uds que se desempeñan como DBA’s pues tienen una visión mas panorámica de lo que deben de hacer este tipo de productos…<br />espero uds puedan aportar con sus ideas….<br />bueno de antemano les agradezco tan solo el hecho de darme un poco de su tiempo .. y ademas por la ayuda que me puedan brindar.<br />GRACIAS <br />Willy Cornejo Toreo <img src=’/community/emoticons/emotion-5.gif’ alt=’

Algunos puntos para agregar: 1) Cola de los discos.
2) Cola del Procesador o procesadores. Si miras el Monitor de Performance encontrarás algunas ideas más. Con respecto a los Ãndices no usados, es cierto SQL no tiene esa posibilidad.
Podrás encontrar en los artÃculos en castellano un acercamiento al tema. Saludos, Luis Martin
Moderator
SQL-Server-Performance.com One of the symptoms of an approaching nervous breakdown is the belief that one’s work is terribly important
Bertrand Russell
All postings are provided “AS IS†with no warranties for accuracy.
Tambien prodrÃa ser interesante el tema de bloqueos e interbloqueos. Que ayude a reastrear la causa de un bloqueo y muestre el nivel de isolación que utiliza la aplicación.
Y un monitor que muestre un mapa de seguridad del server y las bases, como por ejemplo que usuarios acceden por roles fijos de servidor y de base de datos y cuales por roles de usuario, que usuarios pueden realizar modificaciones DDL y cuales DML.
O dado un objeto quien que pueden hacer los usuarios con el. Ya sea porque tienen permisos directos o indirectos.
Tambien lo permisos a public que no deberÃan ser modificados.
hola, ke tal, voy a realizar un proyecto en el ke una base de datos de sql server se actualizará con los datos de una bd en oracle, asà ke necesito toda la información posible sobre como hacerlo. además aun no he creado la bd en sql server, asà como tambien la bd en sql server no contendrá todas las tablas de la bd de oracle.si alguno de ustedes sabe, favor de indicarme donde conseguir informacion y/o explicarme como hacerlo, de antemano, gracias. SeLeNe
Se: En la próxima oportunidad te sugiero que inicies un nuevo post. Esto captará mayor atención a los miembros del Forum. Con respecto a la pregunta, tienes que investigar el DTS ( en el Administrador Coorporativo) para transferir de Oracle a SQL Server.
Luis Martin
Moderator
SQL-Server-Performance.com One of the symptoms of an approaching nervous breakdown is the belief that one’s work is terribly important
Bertrand Russell
All postings are provided “AS IS†with no warranties for accuracy.
]]>