Welcome to Pandora FMS Community!

Find answers, ask questions, and connect with our community around the world.

Welcome to Pandora FMS Community Forums Soporte de la comunidad VBscript Tamaño de Base de Datos

  • VBscript Tamaño de Base de Datos

    Posted by jorge.loyola on April 22, 2015 at 20:52

    Hola,
    Estoy viendo la posibilidad de un script que me traiga los valores actuales del tamaño de la bases de datos de diferentes servidores, ya lo tengo armado y con una instuccion de mensaje trabaja correctamente, el problema esta  en la generación de la información, este es el script que estoy  usando.

    serverName = “Nombre de Servidor”

    set cn = createobject(“ADODB.Connection”)
    set cmd = createobject(“ADODB.Command”)
    set rs = createobject(“ADODB.RecordSet”)

    cn.open “Provider=SQLOLEDB.1;Data Source=” & serverName & “;Integrated Security=SSPI;Initial Catalog=Master”
    cmd.activeconnection = cn

    cmd.commandtext = “exec sp_helpdb”
    set rs = cmd.execute

    Do while not rs.EOF

    if  rs(“dbid”) > 4 then

    module_description= rs(“name”)
    module_data = rs(“db_size”)
    Wscript.StdOut.WriteLine “
    Wscript.StdOut.WriteLine “
    Wscript.StdOut.WriteLine “
    Wscript.StdOut.WriteLine “
    Wscript.StdOut.WriteLine “

                Wscript.StdOut.flush

    end if
    rs.movenext
    loop

    cn.close

    Si ponga la instrucción de MSGBOX me da todas las bases de datos y esta es la salida con el Wscript




    Solamente me muestra una y con la instrucción de MSGBOX me muestra 2 dbs.

    Alguna sugerencia para obtener toda la información?.
    Saludos y de antemano Gracias

    fborja replied 9 years, 10 months ago 2 Members · 3 Replies
  • 3 Replies
  • fborja

    Member
    April 23, 2015 at 12:07
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Hola!

    ¿Cómo estás ejecutando el comando desde el agente?

    Salu2

  • jorge.loyola

    Member
    April 23, 2015 at 20:40
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Hola Si lo lo estoy ejecutando desde el agente, en mi caso en particular quite la línea de  Wscript.StdOut.flush
    y trabajo correctamente trayendo el valor  esperado.
    quedo de la siguiente manera;

    SGN3M = “Nombre de Servidor”
    User =”Usuario de DB”
    UserGN3=”Contraseña”
    DBWires=”master”
    set cn = createobject(“ADODB.Connection”)
    set cmd = createobject(“ADODB.Command”)
    set rs = createobject(“ADODB.RecordSet”)
    ConnectionString= “Provider=SQLOLEDB.1;Persist Security Info=False;” _
    & “User ID=” & User & “;” _
    & “Password = ” & UserGN3 & “;” _
    & “Initial Catalog=” & DBWires & “;” _
    & “Data Source=” & SGN3M & “;”
    cn.open ConnectionString
    cmd.activeconnection = cn
    cmd.commandtext = “exec sp_helpdb”
    set rs = cmd.execute
    while rs.eof true and rs.bof true
    if  rs(“dbid”) >=7  then
    module_description= rs(“name”)
    module_data = rs(“db_size”)
    Wscript.StdOut.WriteLine “”
    Wscript.StdOut.WriteLine “db_size_”& module_description & “”
    Wscript.StdOut.WriteLine “” & module_description & “”
    Wscript.StdOut.WriteLine “288”
    Wscript.StdOut.WriteLine “generic_data”
    Wscript.StdOut.WriteLine “”& replace (replace ( module_data ,” MB”,””),” “,””)& “”
    Wscript.StdOut.WriteLine “”
    end if
    rs.movenext
    wend

    cn.close

    En este caso quedo personalizado para una db en especifico.
    Saludos

  • fborja

    Member
    April 24, 2015 at 11:58
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Genial!

    Si al final todo sale jeje, muchas gracias por compartirlo con nosotros

    Saludos!