none
Gravando DBCC em tabela RRS feed

  • Pergunta

  •  

    Boa noite Galera,

     

    Estou com o seguinte problema:

     

    Preciso armazenar em tabela o resultado dos comandos DBCC SQLPERF (logspace) e o resultado da procedure SP_SPACEUSED em uma outra tabela.

     

    []'s

     

    Levi

     

    terça-feira, 22 de janeiro de 2008 21:42

Respostas

Todas as Respostas

  • Use o comando,

    Crie uma tabela conforme os campos do resultado

    depois faça via um

    insert into #table1 exec

    dbcc sqlperf(umsstats) with tableresults, no_infomsgs

    Links externos,

    http://msdn.microsoft.com/en-us/library/aa933206(v=sql.80).aspx

    http://www.sqlservercentral.com/Forums/Topic407754-858-1.aspx#bm1019221

    Teste e retorne,

    []'s


    Thiago Cardoso Luiz - MCSA W2k3 MCTS SQL ITIL MSP http://www.thiagocardoso.org
    Caso seja util VOTE e COLOQUE COMO RESPOSTA
    quarta-feira, 6 de abril de 2011 17:55
    Moderador
  • Levi,

    Veja este exemplo que eu fiz para armazenar o retorno da SP_Spaceused.

    Create

    Table MinhasTabelas

     

    (Codigo Int Primary Key Identity(1,1),
     

    Nome Varchar(100))

     

    Insert

    Into MinhasTabelas

    SELECT

    Name FROM SYS.TABLES
     

    WHERE

    TYPE='U'
     

    Create

    Table EspacoOcupado

     

    (Name VarChar(100),
     

    Rows Int,

    Reserved Varchar(10),

    Data Varchar(10),

    Index_Size Varchar(10),

    Unused Varchar(10))

    Declare

    @Contador SmallInt,
     

    @NomeTabela Varchar(100)

    Set

    @Contador=1

    While

    @Contador <= (Select COUNT(Codigo) from MinhasTabelas)

    Begin

     

    Select @NomeTabela=Nome from MinhasTabelas

    Where Codigo=@Contador

     

    Insert Into EspacoOcupado

    Exec SP_Spaceused @NomeTabela

     

    Set @Contador +=1

    End

     

    Select

    * from EspacoOcupado

    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    quarta-feira, 6 de abril de 2011 18:32
    Moderador
  • Para ver o mesmo resultado do comando DBCC SQLPERF (logspace) , você pode usar a query abaixo:

     SELECT instance_name AS DatabaseName,
           [Data File(s) Size (KB)],
           [LOG File(s) Size (KB)],
           [Log File(s) Used Size (KB)],
           [Percent Log Used]
    FROM
    (
       SELECT *
       FROM sys.dm_os_performance_counters
       WHERE counter_name IN
       (
           'Data File(s) Size (KB)',
           'Log File(s) Size (KB)',
           'Log File(s) Used Size (KB)',
           'Percent Log Used'
       )
         AND instance_name != '_Total'
    ) AS Src
    PIVOT
    (
       MAX(cntr_value)
       FOR counter_name IN
       (
           [Data File(s) Size (KB)],
           [LOG File(s) Size (KB)],
           [Log File(s) Used Size (KB)],
           [Percent Log Used]
       )
    ) AS pvt
    ORDER BY [Percent Log Used] desc

     


    Fabrício França Lima | MCP, MCTS, MCITP | Visite meu site: http://fabriciolima.net | Dicas de artigos SQL: Siga-me no twitter @fabriciodba.
    quarta-feira, 6 de abril de 2011 20:13