AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-51125

mouliin's questions

Martin Hope
mouliin
Asked: 2016-10-08 00:36:34 +0800 CST

Processamento de procedimentos armazenados e log de erros

  • 5

Eu trabalhava para uma empresa onde eles tinham essa solução de data warehouse de terceiros. Obviamente, todos os objetos e tabelas estavam ocultos no banco de dados de suporte, então não tenho uma ideia clara do que exatamente aconteceu dentro de alguns dos procedimentos armazenados. Eu vi esse procedimento armazenado interessante lá e quero replicá-lo em minha própria solução, mas simplesmente não consigo entender como ele funciona. Estou descrevendo o procedimento armazenado abaixo e será muito útil se alguém puder me dar algumas ideias sobre como conseguir isso. Melhor ainda se você puder me sugerir como posso tornar isso ainda melhor.

O procedimento armazenado foi chamado de log do processo. Tinha parâmetros como DBID, ObjectId, Step, Status, Remarks, Reads, Inserts, Updates, Deletes

O que tivemos que fazer foi, dentro de cada procedimento armazenado, temos que executar este procedimento armazenado com Status como 2 (Em andamento) Durante o processo, onde podemos executar este procedimento armazenado várias vezes no final de cada etapa ou seção após aumentar o valor de passo variável. com base nas contagens de linhas das instruções Insert update select e delete, deveríamos registrar valores nas respectivas variáveis ​​de parâmetro do procedimento armazenado. No final, você pode executar o mesmo procedimento armazenado com Status de 3 (Concluído) ou se o procedimento terminou no bloco catch, o status será 4 (Falha) na seção de comentários, podemos copiar as mensagens de erro do SQL.

Para ver todas essas informações, tivemos acesso a um relatório, para o qual obviamente eu não tinha o código-fonte, mas o relatório mostrava a que horas o procedimento armazenado começou, quando terminou, qual era o status quantas atualizações inserções exclui e lê fez. se falhou, qual foi a mensagem de erro?

Já tenho algumas ideias de melhorias para armazenar, quem começou?, quais eram os valores dos parâmetros? Para quem iniciou a parte do procedimento armazenado, estou confuso. A maioria desses procedimentos armazenados é executada como parte de diferentes trabalhos. Todos os nossos trabalhos são executados como um usuário de conta de serviço, mas os trabalhos são iniciados manualmente por vários usuários. Preciso descobrir qual usuário iniciou, pois dentro do procedimento armazenado, como usuário atual, sempre mostrará a conta de serviço. Também para Valores de Parâmetros, existe uma maneira dinâmica melhor de descobrir isso? em vez de definir um valor para uma variável manualmente. Eu esperava usar a saída de INPUTBUFFER, mas ela mostra apenas o nome do parâmetro, não os valores.

Se alguém puder me orientar sobre a estrutura da tabela de back-end e o script para este SP de auditoria, será muito útil. Além disso, mais ideias de melhoria são bem-vindas.

Minha principal confusão: acredito que eles tinham alguma tabela onde estavam armazenados esses valores de stored procedures e se o SP já estiver rodando, eles atualizaram no registro então fazendo um Insert mas como eles identificariam para fazer um insert ao invés de atualizar no cenário onde o procedimento armazenado falhou criticamente e o bloco catch não foi executado.

stored-procedures sql-server-2014
  • 1 respostas
  • 12267 Views
Martin Hope
mouliin
Asked: 2015-09-03 02:48:40 +0800 CST

Relatório SSRS Matrix - Contagem de dados NULL

  • 0

Eu tenho um relatório de matriz SSRS para qualidade de dados em nosso warehouse. Usamos este relatório para exibir valores inválidos em campos específicos durante um período de tempo específico.

Por exemplo, Código postal ausente/inválido, Meu SP lista todos os usuários com código postal ausente ou inválido em nosso sistema. Eu listo esses usuários com base em suas atividades nos últimos 6 meses. No Front-end, estou usando o relatório Matrix para exibir a contagem de usuários.

Outro campo de validação é Data de nascimento ausente, se nos últimos 6 meses não houver nenhum usuário sem data de nascimento, meu SP retorna uma linha com o campo de validação como "Data de nascimento ausente", mas a data da atividade será nula, pois não há 't qualquer tempo de atividade. (Este é o resultado da minha junção externa esquerda na tabela de campos de validação. Consulte o ERD em anexo para obter mais detalhes)

Se aparecer pelo menos uma vez nos últimos 6 meses, a contagem se tornará 0 nos outros cinco meses automaticamente, mas o que eu quero fazer é exibir 0 como contagem para os critérios de validação "Data de nascimento ausente", mas atualmente esse critério específico não aparece no relatório em tudo.

Alguém tem alguma ideia de como posso conseguir isso?

ERD e captura de tela do relatório

Obrigado,

Maulin.

ssrs pivot
  • 1 respostas
  • 340 Views
Martin Hope
mouliin
Asked: 2014-12-13 03:26:04 +0800 CST

SSIS - Tamanho do Parâmetro ODBC

  • 1

Eu criei um pacote SSIS que roda a cada hora na minha máquina. A primeira parte do meu pacote executa uma tarefa Executar SQL e o conjunto de resultados (linha única, coluna única) é uma lista separada por vírgulas de IDs de registro exclusivos que foram atualizados na última hora. (ou seja, FJ1,FJ2,FJ3) Eu capturo esse resultado em uma variável e quando eu executo tarefas de script do usuário para exibir o valor dessa propriedade, ele aparece como deveria ser.

Eu passo esta variável para executar a tarefa SQL em diferentes servidores ODBC usando um procedimento armazenado

Minha instrução SQL é a seguinte

call DeleteRowsById(?)

E então atribuí minha variável (como SQL_Longvarchar) ao parâmetro 1 na seção de mapeamento de parâmetros. (ParameterSize é -1), mas não exclui os registros da tabela. (Eu executei o SP manualmente no Workbench e funcionou como esperado) Então tive uma ideia e como parte do meu SP comecei a fazer entradas em uma tabela Temp apenas para ver o que estava surgindo como variável. Inserir na tabela mostra apenas o primeiro caractere da variável e é por isso que não está excluindo nenhum registro.

Alguém pode me indicar a direção certa, pois não consigo descobrir por que minha variável está sendo truncada.

ssis odbc
  • 1 respostas
  • 1233 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve