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 / dba / 问题

All perguntas(dba)

Martin Hope
tuespetre
Asked: 2024-08-10 00:29:18 +0800 CST

Como faço para que o MySQL use um índice adequado em vez de um tipo de arquivo para uma função de janela?

  • 5

Estou usando a versão MySQL 8.0.38.

Dada a seguinte tabela:

CREATE TABLE `url_alias` (
    `pid` INT UNSIGNED NOT NULL AUTO_INCREMENT,
    `src` VARCHAR(128) NOT NULL DEFAULT '' COLLATE 'utf8mb3_general_ci',
    `dst` VARCHAR(128) NOT NULL DEFAULT '' COLLATE 'utf8mb3_general_ci',
    PRIMARY KEY (`pid`) USING BTREE,
    INDEX `src_dst_pid` (`src`, `dst`, `pid` DESC) USING BTREE
)
COLLATE='utf8mb3_general_ci'
ENGINE=InnoDB
;

E a seguinte consulta nessa tabela:

SELECT *
FROM (
    SELECT ua.pid, ua.src, ua.dst, ROW_NUMBER() OVER w AS 'num'
    FROM url_alias ua
    WINDOW w AS (
        PARTITION BY ua.src, ua.dst 
        ORDER BY ua.pid DESC
    )
) t
WHERE t.num > 1

Usando EXPLAIN FORMAT=JSON, obtenho as seguintes informações:

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "85537.71"
    },
    "table": {
      "table_name": "t",
      "access_type": "ALL",
      "rows_examined_per_scan": 760313,
      "rows_produced_per_join": 253412,
      "filtered": "33.33",
      "cost_info": {
        "read_cost": "60196.48",
        "eval_cost": "25341.23",
        "prefix_cost": "85537.71",
        "data_read_per_join": "191M"
      },
      "used_columns": [
        "pid",
        "src",
        "dst",
        "num"
      ],
      "attached_condition": "(`t`.`num` > 1)",
      "materialized_from_subquery": {
        "using_temporary_table": true,
        "dependent": false,
        "cacheable": true,
        "query_block": {
          "select_id": 2,
          "cost_info": {
            "query_cost": "838338.80"
          },
          "windowing": {
            "windows": [
              {
                "name": "w",
                "using_filesort": true,
                "filesort_key": [
                  "`src`",
                  "`dst`",
                  "`pid` desc"
                ],
                "functions": [
                  "row_number"
                ]
              }
            ],
            "cost_info": {
              "sort_cost": "760313.00"
            },
            "table": {
              "table_name": "ua",
              "access_type": "index",
              "key": "src_dst_pid",
              "used_key_parts": [
                "src",
                "dst",
                "pid"
              ],
              "key_length": "776",
              "rows_examined_per_scan": 760313,
              "rows_produced_per_join": 760313,
              "filtered": "100.00",
              "using_index": true,
              "cost_info": {
                "read_cost": "1994.50",
                "eval_cost": "76031.30",
                "prefix_cost": "78025.80",
                "data_read_per_join": "568M"
              },
              "used_columns": [
                "pid",
                "src",
                "dst"
              ]
            }
          }
        }
      }
    }
  }
}

Isso mostra que a janela especificada na consulta está causando uma classificação de arquivos, embora ROW_NUMBER() OVER (PARTITION BY src, dst ORDER BY pid DESC)deva ser equivalente a ler o índice src_dst_pidsequencialmente enquanto mantém alguma variável de contador.

Há algo que possa ser feito para eliminar o tipo de arquivos na consulta ou isso é alguma limitação do planejador de consultas?

mysql
  • 1 respostas
  • 23 Views
Martin Hope
mac01021
Asked: 2024-08-09 01:22:42 +0800 CST

Por que as atualizações na tabela aumentam o tamanho da relação?

  • 5

No meu banco de dados Postgres tenho uma tabela grande execution_transcriptscom várias colunas. Duas dessas colunas tasksão resultcolunas JSONB que contêm valores que geralmente estão na faixa de quilobytes e às vezes na faixa de megabytes.

A mesa está ficando muito grande e estamos trabalhando em uma estratégia para reduzir seu tamanho.

Especificamente, SELECT pg_total_relation_size('treeline_schema.execution_transcript')retorna 22528457179136cerca de 20 TB.

Como experiência, em uma cópia de nosso banco de dados de produção, executei a seguinte consulta para anular essas duas colunas nas 2.000 linhas inferiores:

UPDATE execution_transcript
SET result = NULL, task = NULL
WHERE id <= 2000 and id > 0;

Feito isso, vejo que o tamanho total da relação aumentou 319,4 kb para 22528457498624.

Isso ocorre porque tudo que fiz foi acrescentar novos valores a um log e algum processo de compactação subsequente diminuirá o tamanho da relação no futuro? Preciso executar etapas adicionais se quiser diminuir o espaço ocupado pela tabela?

postgresql
  • 1 respostas
  • 28 Views
Martin Hope
Parker
Asked: 2024-08-08 21:50:13 +0800 CST

Qual é a causa dessa consulta lenta intermitente ao contar linhas em uma única coluna de texto indexada no PostgreSQL?

  • 5

Tenho uma tabela com 2.395.015 linhas, onde uma TEXTcoluna tem um de três valores e nunca é NULL. Tenho problemas intermitentes de desempenho de consulta ao contar o número de linhas em que o valor corresponde à maioria (>99%) das linhas. Quero corrigir esse problema de desempenho. Essas consultas devem retornar contagens exatas, então não posso usar contagens aproximadas.

corpus=# \d metadata
                             Table "public.metadata"
    Column     |            Type             | Collation | Nullable |    Default
---------------+-----------------------------+-----------+----------+----------------
 id            | text                        |           | not null |
 priority      | integer                     |           | not null | 10
 media_type    | text                        |           | not null |
 modified      | timestamp without time zone |           | not null | now()
 processed     | timestamp without time zone |           |          |
 status        | text                        |           | not null | 'QUEUED'::text
 note          | text                        |           |          |
 content       | text                        |           |          |
 resolved      | text                        |           |          |
 response_time | integer                     |           |          |
 luid          | integer                     |           | not null |
 jamo_date     | timestamp without time zone |           |          |
 audit_path    | text                        |           |          |
Indexes:
    "metadata_pkey" PRIMARY KEY, btree (id)
    "metadata_id_idx" btree (id)
    "metadata_luid_idx" btree (luid)
    "metadata_modified_idx" btree (modified DESC)
    "metadata_processed_idx" btree (processed DESC)
    "metadata_status_idx" btree (status)
Check constraints:
    "media_type_ck" CHECK (media_type = ANY (ARRAY['text/json'::text, 'text/yaml'::text]))
    "status_ck" CHECK (status = ANY (ARRAY['QUEUED'::text, 'PROCESSED'::text, 'ERROR'::text]))
Foreign-key constraints:
    "metadata_luid_fkey" FOREIGN KEY (luid) REFERENCES concept(luid) ON DELETE CASCADE

corpus=#

Tenho algumas consultas simples que contam o número de linhas que correspondem a um dos três códigos de status ( QUEUED, PROCESSED, ERROR). Há 0 linhas que correspondem a QUEUED, 9.794 que correspondem a ERROR, e 2.385.221 que correspondem a PROCESSED. Quando executo uma consulta idêntica em cada um desses códigos de status, geralmente obtenho um conjunto de resultados prontamente:

corpus=# EXPLAIN ANALYZE VERBOSE SELECT COUNT(*) FROM metadata WHERE status='QUEUED';
                                                                          QUERY PLAN

---------------------------------------------------------------------------------------------------------------------------------------------------------------
 Aggregate  (cost=1947.17..1947.18 rows=1 width=8) (actual time=2.935..2.936 rows=1 loops=1)
   Output: count(*)
   ->  Index Only Scan using metadata_status_idx on public.metadata  (cost=0.43..1915.97 rows=12480 width=0) (actual time=2.932..2.933 rows=0 loops=1)
         Output: status
         Index Cond: (metadata.status = 'QUEUED'::text)
         Heap Fetches: 0
 Planning Time: 0.734 ms
 Execution Time: 2.988 ms
(8 rows)
corpus=# EXPLAIN ANALYZE VERBOSE SELECT COUNT(*) FROM metadata WHERE status='ERROR';
                                                                             QUERY PLAN

--------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Aggregate  (cost=1184.19..1184.20 rows=1 width=8) (actual time=1484.763..1484.764 rows=1 loops=1)
   Output: count(*)
   ->  Index Only Scan using metadata_status_idx on public.metadata  (cost=0.43..1165.26 rows=7569 width=0) (actual time=4.235..1484.029 rows=9794 loops=1)
         Output: status
         Index Cond: (metadata.status = 'ERROR'::text)
         Heap Fetches: 9584
 Planning Time: 0.072 ms
 Execution Time: 1484.786 ms
(8 rows)

corpus=#
corpus=# EXPLAIN ANALYZE VERBOSE SELECT COUNT(*) FROM metadata WHERE status='PROCESSED';
                                                                                          QUERY PLAN

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Finalize Aggregate  (cost=261398.83..261398.84 rows=1 width=8) (actual time=741.319..749.026 rows=1 loops=1)
   Output: count(*)
   ->  Gather  (cost=261398.62..261398.83 rows=2 width=8) (actual time=741.309..749.020 rows=3 loops=1)
         Output: (PARTIAL count(*))
         Workers Planned: 2
         Workers Launched: 2
         ->  Partial Aggregate  (cost=260398.62..260398.63 rows=1 width=8) (actual time=735.099..735.100 rows=1 loops=3)
               Output: PARTIAL count(*)
               Worker 0: actual time=730.871..730.872 rows=1 loops=1
               Worker 1: actual time=733.435..733.436 rows=1 loops=1
               ->  Parallel Index Only Scan using metadata_status_idx on public.metadata  (cost=0.43..257903.37 rows=998100 width=0) (actual time=0.065..700.529 rows=795074 loops=3)
                     Output: status
                     Index Cond: (metadata.status = 'PROCESSED'::text)
                     Heap Fetches: 747048
                     Worker 0: actual time=0.060..702.980 rows=670975 loops=1
                     Worker 1: actual time=0.076..686.946 rows=1010099 loops=1
 Planning Time: 0.085 ms
 Execution Time: 749.068 ms
(18 rows)

corpus=#

Mas, ocasionalmente, a contagem de PROCESSEDlinhas leva muito tempo (às vezes, vários minutos):

corpus=# EXPLAIN ANALYZE VERBOSE SELECT COUNT(*) FROM metadata WHERE status='PROCESSED';
                                                                                           QUERY PLAN

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Finalize Aggregate  (cost=261398.83..261398.84 rows=1 width=8) (actual time=30019.273..30019.336 rows=1 loops=1)
   Output: count(*)
   ->  Gather  (cost=261398.62..261398.83 rows=2 width=8) (actual time=30019.261..30019.326 rows=3 loops=1)
         Output: (PARTIAL count(*))
         Workers Planned: 2
         Workers Launched: 2
         ->  Partial Aggregate  (cost=260398.62..260398.63 rows=1 width=8) (actual time=29967.734..29967.735 rows=1 loops=3)
               Output: PARTIAL count(*)
               Worker 0: actual time=29939.915..29939.916 rows=1 loops=1
               Worker 1: actual time=29944.395..29944.395 rows=1 loops=1
               ->  Parallel Index Only Scan using metadata_status_idx on public.metadata  (cost=0.43..257903.37 rows=998100 width=0) (actual time=75.385..29931.795 rows=795074 loops=3)
                     Output: status
                     Index Cond: (metadata.status = 'PROCESSED'::text)
                     Heap Fetches: 747151
                     Worker 0: actual time=128.857..29899.156 rows=916461 loops=1
                     Worker 1: actual time=28.609..29905.708 rows=854439 loops=1
 Planning Time: 421.203 ms
 Execution Time: 30019.440 ms
(18 rows)

corpus=#

Enquanto a consulta acima está sendo executada lentamente, consigo consultar a mesma tabela para qualquer um dos outros dois códigos, e essas consultas retornam em 1 segundo. Procurei por bloqueios de tabela (não há nenhum). Isso acontece mesmo quando não há outras consultas ou inserções de tabela em execução.

  • Quais são as possíveis causas para essas consultas lentas intermitentes?
  • Que depuração adicional posso tentar para obter mais informações sobre essas consultas lentas?
  • Há alguma configuração de servidor relevante?
  • Existe uma maneira mais eficiente de indexar/codificar essas colunas (por exemplo, devo usar um CHAR(1)), ou mesmo um SMALLINT? Se sim, qual índice deve ser usado para a coluna?

Se eu usar um CHAR(1), há alguma diferença entre as seguintes restrições:

  • ALTER TABLE jgi_metadata ADD CONSTRAINT status_code_ck CHECK (status_code = ANY (ARRAY['Q'::char(1), 'P'::char(1), 'E'::char(1)]));

  • ALTER TABLE jgi_metadata ADD CONSTRAINT status_code_ck CHECK (status_code IN ('Q', 'P', 'E'));

  • Um índice parcial poderia ser usado para esta coluna, mesmo que isso nunca aconteça NULL?

  • Devo dividir o PROCESSEDoff em uma coluna booleana e então usar a statuscoluna somente para os outros códigos e torná-la anulável com um índice parcial?

Este é o PostgreSQL 11 com configurações padrão, rodando no Linux.

Outras coisas que tentei:

  • Aumentou o work_mem para 100 MB (via postgresql.conf). Nenhuma alteração no desempenho.
  • Tentei criar um índice parcial na coluna de status.

Atualização: Descobri que esse problema de desempenho não tem nada a ver com a coluna de status, mas sim com o tamanho da tabela em si, como mostra a consulta de 2 minutos a seguir:

corpus=# EXPLAIN ANALYZE VERBOSE SELECT COUNT(*) FROM metadata;
                                                                                            QUERY PLAN

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Finalize Aggregate  (cost=196398.52..196398.53 rows=1 width=8) (actual time=118527.897..118554.762 rows=1 loops=1)
   Output: count(*)
   ->  Gather  (cost=196398.30..196398.51 rows=2 width=8) (actual time=118522.165..118554.756 rows=3 loops=1)
         Output: (PARTIAL count(*))
         Workers Planned: 2
         Workers Launched: 2
         ->  Partial Aggregate  (cost=195398.30..195398.31 rows=1 width=8) (actual time=118491.043..118491.044 rows=1 loops=3)
               Output: PARTIAL count(*)
               Worker 0: actual time=118475.143..118475.144 rows=1 loops=1
               Worker 1: actual time=118476.110..118476.111 rows=1 loops=1
               ->  Parallel Index Only Scan using metadata_status_idx on public.metadata  (cost=0.43..192876.13rows=1008870 width=0) (actual time=71.797..118449.265 rows=809820 loops=3)
                     Output: status
                     Heap Fetches: 552630
                     Worker 0: actual time=75.877..118434.476 rows=761049 loops=1
                     Worker 1: actual time=104.872..118436.647 rows=745770 loops=1
 Planning Time: 592.040 ms
 Execution Time: 118554.839 ms
(17 rows)

corpus=#

Isso parece ser muito semelhante a outras perguntas agora, então estou tentando estratégias de mitigação a partir desta resposta :

  • VACUUM ANALYZE metadata;A primeira vez COUNT(*)que isso levou 5 segundos, as contagens subsequentes levaram 190 ms.

Outros pensamentos:

  • Ajudaria se a coluna de status fosse dividida em sua própria tabela, com uma chave estrangeira na metadatatabela?

Nota: Estou me convencendo de que esta pergunta é uma duplicata de várias outras perguntas aqui:

  • Contagens extremamente lentas do PostgreSQL
  • As consultas count(*) são muito lentas, mesmo com uma varredura somente de índice
  • Por que algumas consultas de contagem são tão lentas?
  • Otimizando o resultado da contagem de seleção no Postgresql
  • https://stackoverflow.com/questions/58449716/postgres-why-does-select-count-take-so-long
  • https://stackoverflow.com/questions/16916633/if-postgresql-count-is-always-slow-how-to-paginate-complex-queries
  • https://stackoverflow.com/questions/7943233/fast-way-to-discover-the-row-count-of-a-table-in-postgresql/7945274#7945274

Esta resposta pode conter a melhor solução para este problema:

  • https://stackoverflow.com/a/7945274/2074605

Conforme solicitado, aqui está uma análise do plano de consulta com buffers:

EXPLAIN (ANALYZE, BUFFERS, VERBOSE) SELECT COUNT(*) FROM metadata;

                                                                                           QUERY PLAN

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Finalize Aggregate  (cost=80771.95..80771.96 rows=1 width=8) (actual time=26711.481..26716.494 rows=1 loops=1)
   Output: count(*)
   Buffers: shared hit=293915 read=19595 dirtied=282 written=12
   ->  Gather  (cost=80771.73..80771.94 rows=2 width=8) (actual time=26711.203..26716.488 rows=3 loops=1)
         Output: (PARTIAL count(*))
         Workers Planned: 2
         Workers Launched: 2
         Buffers: shared hit=293915 read=19595 dirtied=282 written=12
         ->  Partial Aggregate  (cost=79771.73..79771.74 rows=1 width=8) (actual time=26565.622..26565.623 rows=1 loops=3)
               Output: PARTIAL count(*)
               Buffers: shared hit=293915 read=19595 dirtied=282 written=12
               Worker 0: actual time=26530.890..26530.891 rows=1 loops=1
                 Buffers: shared hit=105264 read=6760 dirtied=145 written=5
               Worker 1: actual time=26530.942..26530.942 rows=1 loops=1
                 Buffers: shared hit=84675 read=7529 dirtied=46 written=2
               ->  Parallel Index Only Scan using metadata_status_idx on public.metadata  (cost=0.43..77241.05 rows=1012275 width=0) (actual time=42.254..26529.232 rows=809820 loops=3)
                     Output: status
                     Heap Fetches: 17185
                     Buffers: shared hit=293915 read=19595 dirtied=282 written=12
                     Worker 0: actual time=59.291..26494.376 rows=815113 loops=1
                       Buffers: shared hit=105264 read=6760 dirtied=145 written=5
                     Worker 1: actual time=31.165..26484.729 rows=1036972 loops=1
                       Buffers: shared hit=84675 read=7529 dirtied=46 written=2
 Planning Time: 98.400 ms
 Execution Time: 26716.529 ms
(25 rows)
query-performance
  • 4 respostas
  • 107 Views
Martin Hope
Łukasz Góra
Asked: 2024-08-08 18:00:57 +0800 CST

Como obter registros que atendam às condições armazenadas em outras tabelas

  • 5

Problema: Como obter requisitos aprovados onde existem 4 tabelas em tal relação requisitos-> links <-test_cases test_cases-> resultados <-resultado

Cenário:

Tabela1 - requisitos

id_requerido status
req-1 abrir
req-2 abrir

Tabela2 - casos_teste

id_teste status
tc-1 abrir
tc-2 cancelado

Tabela3 - links

link_id id_requerido id_teste
link-1 req-1 tc-1
link-2 req-1 tc-2

Tabela4 - resultados dos testes

id_resultado id_teste resultado
res-1 tc-1 passou
res-2 tc-2 fracassado

Até agora tentei essa abordagem para gerar uma tabela req_id | cnt_test_cases | cnt_results e tratar o requisito como aprovado quando cnt_test_cases = cnt_results(='passed') mas não funciona porque essas colunas calculadas não existem para a instrução 'Having' no final

SELECIONE requisitos DISTINTOS.req_id,

(SELECT COUNT (DISTINCT test_cases.test_id) FROM test_cases, links WHERE links.req_id = requisitos.req_id AND links.test_id = test_cases.test_id AND test_cases.status! = 'cancelled') como cnt_test_cases,

(SELECT COUNT (DISTINCT results.result) FROM results, links WHERE links.req_id = requisitos.req_id AND links.test_id = results.test_id AND results.reuslt = 'passed') como cnt_test_cases) como cnt_results

Tendo cnt_test_cases = cnt_results

Talvez haja uma abordagem melhor?

count
  • 2 respostas
  • 36 Views
Martin Hope
Marco Galassi
Asked: 2024-08-06 17:33:09 +0800 CST

Aumento do armazenamento do banco de dados MySQL do Google Cloud SQL devido a `tmp_data`. O que é tmp_data é Google Cloud MySQL e qual pode ser a causa?

  • 6
Esta questão foi migrada do Stack Overflow porque pode ser respondida no Stack Exchange dos Administradores de Banco de Dados. Migrado há 7 dias .

Nosso banco de dados MySQL do Google Cloud teve um aumento enorme e inesperado de espaço usado em alguns dias. Passou de 15 GB para 16 TB! Obviamente, isso também está causando problemas em nosso faturamento, pois o custo do armazenamento SQL aumentou drasticamente.

Após verificar o armazenamento por meio do Google Cloud SQL System Insights, percebemos que o aumento se deve ao que o Google SQL chama de tmp_data. Aqui você pode ver como disparou:

gráfico mostrando o aumento do armazenamento

Reiniciar a instância do banco de dados limpou isso tmp_datae restaurou o uso do armazenamento do banco de dados para os 15 GB esperados antes.

Os logs SQL também não parecem mostrar nada significativo além de mensagens de erro relacionadas à falta de armazenamento disponível quando o limite foi atingido.

Gostaria de entender o que pode estar causando esse problema. Para começar, tentei pesquisar o que tmp_dataé, mas não consigo encontrar uma resposta confiável para o que isso representa.

Questões:

  • O que há tmp_datano Google Cloud MySQL?
  • O que eu poderia investigar para tentar entender qual pode ser o problema?
mysql
  • 1 respostas
  • 43 Views
Martin Hope
user3276487
Asked: 2024-08-08 00:17:06 +0800 CST

Precisa ler os logs de erros do SQL Server da Instância Gerenciada do SQL Server e alertar do portal do Azure

  • 5

Simulamos alguns logs de erros em nossa Instância Gerenciada do SQL Server. Os logs de erros do SQL Server estão na pasta Gerenciamento. Tenho um requisito simples em que estou preso no streaming desses logs de erros para o portal do Azure por meio do espaço de trabalho de análise de log. Veja a captura de tela em anexo.

Longa duração

Observe que preciso monitorar os logs e quando recebo o texto da mensagem, preciso alertar via portal do Azure.

Estou tentando transmiti-lo para o espaço de trabalho do Log Analytics usando o recurso "adicionar configuração de diagnóstico", mas não consigo encontrar a categoria específica. Só consigo encontrar:

  • Estatísticas de uso de recursos
  • Registros de auditoria de operações Devops
  • Evento de auditoria de segurança SQL

Não consigo encontrar os logs de erros nem fazer consultas usando a consulta Kusto de diagnóstico do Azure. Assim que conseguir encontrar o log, o portal do Azure capturará a entrada do log e alertará por meio do monitor do Azure.

Alguém pode aconselhar sobre como alertar através do portal do Azure lendo esses logs de erros no SQLMI.

sql-server
  • 1 respostas
  • 45 Views
Martin Hope
questionto42
Asked: 2024-08-07 20:30:54 +0800 CST

"Falha no login do usuário 'AD\MyUser'." ... 0x80004005 "Não é possível abrir o banco de dados "MyDatabase" solicitado pelo login. O login falhou."

  • 5

A mensagem de erro completa:

MyPackageName:Erro: Código de erro SSIS DTS_E_OLEDBERROR. Ocorreu um erro de banco de dados OLE. Código de erro: 0x80004005. um registro OLE DB está disponível. Fonte: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80004005 Descrição: "Falha no login do usuário 'AD\MyUser'.". Um registro OLE DB está disponível. Fonte: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80004005 Descrição: "Não é possível abrir o banco de dados "MyDatabase" solicitado pelo login. O login falhou.".

E uma mensagem de erro de acompanhamento:

MyDataFlowTaskName:Erro: Código de erro SSIS DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. A chamada do método AcquireConnectionm para o gerenciador de conexões "MyConnectionManager" falhou com o código de erro 0xC0202009. Pode haver mensagens de erro postadas antes disso com mais informações sobre o motivo da falha na chamada do método AcquireConnection.

Preciso executar uma SELECTconsulta TSQL em um banco de dados. Como posso contornar o erro de login?

ssis
  • 1 respostas
  • 51 Views
Martin Hope
questionto42
Asked: 2024-08-07 20:22:57 +0800 CST

Como posso saber qual usuário executa um pacote no Catálogo do Integration Services (SSISDB) do SQL Server Agent?

  • 5

Preciso descobrir o usuário que executa os pacotes SSIS no SSISDB, mas não consigo encontrá-lo. Existem tantos usuários e usuários do sistema conectados a outros bancos de dados que não consigo aprender com esse padrão qual usuário é necessário. Não sei pelo nome qual deles faz isso no final.

Como posso saber qual usuário executa um pacote no Catálogo do Integration Services (SSISDB) do SQL Server Agent?

ssis
  • 1 respostas
  • 22 Views
Martin Hope
Aleksandr Beliavski
Asked: 2024-08-07 13:45:19 +0800 CST

Quais são as consequências de um espaço de tabela SYSAUX 100% cheio?

  • 5

Tenho banco de dados Oracle 19c com mais de 20 mil objetos e mais de 100 sessões ativas ao mesmo tempo. Descobri que o espaço de tabela SYSAUX está ~99,7% cheio. Está bastante claro o que fazer com isso.

Gostaria de saber quais são os riscos quando a tablespace SYSAUX fica 100% cheia? Porque não está claramente divulgado na documentação.

oracle
  • 1 respostas
  • 19 Views
Martin Hope
crichavin
Asked: 2024-08-07 09:43:56 +0800 CST

Por que é retornado um valor de data e hora que corresponde ao valor do predicado ao usar maior que comparação

  • 9

Quero encontrar registros maiores que o tempo fornecido em meu predicado, que vem de um aplicativo Web C# no qual existe apenas type DateTime. No entanto, o SQL Server está retornando uma linha igual ao valor do predicado fornecido. Por que está fazendo isso? A ShipDateTimeUTCcoluna é um datetimetipo de dados.

DECLARE @p__linq__1 datetime2(7) = '2024-08-07 00:14:11.3630000';

SELECT 
    [OrderHeaderId],
    Id,
    [ShipDateTimeUTC]
FROM  
    [dbo].[ShippingContainerHeader]
WHERE 
    [ShipDateTimeUTC] > @p__linq__1;

Aqui estão os resultados onde você pode ver que ShipDateTimeUTC corresponde ao valor do predicado. Eu não quero que isso seja incluído. Por que está sendo incluído nos resultados?

resultados SQL

sql-server
  • 2 respostas
  • 368 Views
Prev
Próximo

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