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
Marcello Miorelli
Asked: 2024-06-24 19:14:57 +0800 CST

obtendo as configurações de memória para todas as instâncias em um servidor

  • 7

Eu tenho uma consulta que me mostra todas as instâncias do SQL Server em um servidor:

DECLARE @GetInstances TABLE
( Value nvarchar(100),
 InstanceNames nvarchar(100),
 Data nvarchar(100))

Insert into @GetInstances
EXECUTE xp_regread
  @rootkey = 'HKEY_LOCAL_MACHINE',
  @key = 'SOFTWARE\Microsoft\Microsoft SQL Server',
  @value_name = 'InstalledInstances'

Select [ServerName] = @@servername,InstanceNames from @GetInstances 

e também tenho uma consulta que mostra as configurações de memória e o uso de uma instância específica:


SELECT [instance] = @@servername, p.* 
  FROM (SELECT name, [value_in_use] 
          FROM sys.configurations) t 
          PIVOT (MAX([value_in_use]) FOR name IN ([min server memory (MB)], 
                                                  [min memory per query (KB)], 
                                                  [max server memory (MB)], 
                                                  [optimize for ad hoc workloads])) p

existe uma maneira de ter o melhor desses dois mundos - ter todas as informações de todas as minhas instâncias do SQL Server, em uma consulta?

Gostaria de evitar a necessidade de criar um servidor vinculado.

Eu não me importaria de usar o PowerShell ou qualquer outra ferramenta, desde que não precise executá-lo como administrador.

sql-server
  • 2 respostas
  • 50 Views
Martin Hope
not-a
Asked: 2024-06-24 15:13:50 +0800 CST

Código de erro do PostgreSQL não abordado na documentação

  • 5

eu recebo errno: -111e code: ECONNREFUSED.

Ao ler os documentos, não há nenhum código de erro -111descrito neles.

O que significa esse código de erro e onde está documentado?

PS: Estou consultando o banco de dados PostgresSQL através do Node.js (usando Express.js e node-postgres). Tanto o backend Node.js quanto o banco de dados PostgreSQL são conteinerizados localmente usando Docker.

Erro completo:

Error: connect ECONNREFUSED 127.0.0.1:5432
     at /app/backend/node_modules/pg-pool/index.js:45:11
     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
     at async getAverageSalary (file:///app/backend/src/db/crudFunctions/readCrud.js:10:24)
     at async file:///app/backend/src/routes/getRoute.js:18:19 {
   errno: -111,
   code: 'ECONNREFUSED',
   syscall: 'connect',
   address: '127.0.0.1',
   port: 5432
 }
postgresql
  • 1 respostas
  • 25 Views
Martin Hope
J. Mini
Asked: 2024-06-23 04:29:18 +0800 CST

Quando um índice columnstore seria inadequado para um ambiente OLAP com tabelas grandes e amplas?

  • 5

Suponha que sua máquina SQL Server 2019 tenha uma consulta que atinja uma tabela baseada em disco que seja longa (digamos 3.000.000 de linhas) e larga (digamos 150 colunas). Suponha que você recupere a maioria das linhas e das colunas. Finalmente, suponha que a tabela seja alterada com pouca frequência. Considere-a uma tabela típica de servidor de relatórios que é atualizada apenas uma vez por dia.

Há alguma circunstância em que as condições acima se aplicam e um índice rowstore tradicional seria preferível a um índice columnstore, clusterizado ou não?

Preocupo-me por ter sido vendido com muita facilidade em índices columnstore e começarei a usá-los em todas as minhas tabelas grandes e largas.

sql-server
  • 2 respostas
  • 33 Views
Martin Hope
sh3nan1gans
Asked: 2024-06-22 05:27:21 +0800 CST

Como otimizar a consulta com vários relacionamentos muitos para muitos

  • 5

Tenho um problema de desempenho ao consultar uma tabela de eventos que possui mais de um milhão de linhas. Nossa lógica de aplicação estipula que os usuários só podem acessar eventos aos quais tenham acesso por meio de seus 'grupos'. Os grupos têm um relacionamento muitos-para-muitos com os ativos e os ativos têm um relacionamento muitos-para-muitos com os eventos. Portanto, para encontrar os eventos aos quais um usuário tem acesso, estamos atualmente ingressando em events -> events_assets -> assets -> groups_assets

Tenho índices em events.id, events_assets.event_id, assets.id e groups_assets.asset_id.

A natureza do aplicativo é que o número de eventos e, portanto, events_assets cresce enquanto o número de ativos e groups_assets permanece relativamente baixo e estático.

Aqui está o esquema:

create table events (id text, last_updated TIMESTAMP);
create table events_assets (event_id text, asset_id text);
create table assets (id text);
create table groups_assets (group_id text, asset_id text);

A pergunta:

EXPLAIN ANALYZE
SELECT
  events.*
FROM
  events
WHERE
  (
    events.id IN (
      SELECT
        events.id
      FROM
        events
        INNER JOIN events_assets ON (events.id = events_assets.event_id)
        INNER JOIN assets ON (assets.id = events_assets.asset_id)
      WHERE
        (
          assets.id in (
            (
              SELECT
                id
              FROM
                assets
                LEFT JOIN groups_assets ON (groups_assets.asset_id = assets.id)
              WHERE
                (groups_assets.group_id IN ('default'))
            )
          )
        )
    )
  )
ORDER BY
  last_updated DESC
LIMIT
  25 OFFSET 0

E o plano de consulta:

Limit  (cost=77402.59..77402.66 rows=25 width=1970) (actual time=2147.720..2148.033 rows=25 loops=1)
  ->  Sort  (cost=77402.59..77462.96 rows=24147 width=1970) (actual time=2147.714..2148.024 rows=25 loops=1)
        Sort Key: events.last_updated DESC
        Sort Method: top-N heapsort  Memory: 109kB
        ->  Nested Loop  (cost=15979.68..76721.18 rows=24147 width=1970) (actual time=1074.494..2097.334 rows=144882 loops=1)
              ->  HashAggregate  (cost=15979.26..16220.73 rows=24147 width=74) (actual time=1074.361..1225.749 rows=144882 loops=1)
                    Group Key: events_1.id
                    Batches: 5  Memory Usage: 8241kB  Disk Usage: 11304kB
                    ->  Gather  (cost=1013.12..15918.90 rows=24147 width=74) (actual time=0.872..99.711 rows=144882 loops=1)
                          Workers Planned: 1
                          Workers Launched: 1
                          ->  Nested Loop  (cost=13.12..12504.20 rows=14204 width=74) (actual time=1.567..278.523 rows=72441 loops=2)
                                ->  Hash Join  (cost=12.70..3543.54 rows=14254 width=37) (actual time=1.019..34.109 rows=72441 loops=2)
                                      Hash Cond: (events_assets.asset_id = assets.id)
                                      ->  Parallel Seq Scan on events_assets  (cost=0.00..3103.23 rows=85523 width=74) (actual time=0.183..18.023 rows=72441 loops=2)
                                      ->  Hash  (cost=12.68..12.68 rows=1 width=100) (actual time=0.808..0.813 rows=8 loops=2)
                                            Buckets: 1024  Batches: 1  Memory Usage: 10kB
                                            ->  Nested Loop  (cost=9.37..12.68 rows=1 width=100) (actual time=0.777..0.793 rows=8 loops=2)
                                                  Join Filter: (assets.id = groups_assets.asset_id)
                                                  ->  HashAggregate  (cost=9.24..9.25 rows=1 width=66) (actual time=0.755..0.759 rows=8 loops=2)
                                                        Group Key: assets_1.id
                                                        Batches: 1  Memory Usage: 24kB
                                                        Worker 0:  Batches: 1  Memory Usage: 24kB
                                                        ->  Nested Loop  (cost=0.13..9.23 rows=1 width=66) (actual time=0.702..0.730 rows=9 loops=2)
                                                              ->  Seq Scan on groups_assets  (cost=0.00..1.07 rows=1 width=32) (actual time=0.220..0.222 rows=9 loops=2)
                                                                    Filter: (group_id = 'default'::text)
                                                              ->  Index Only Scan using assets_id on assets assets_1  (cost=0.13..8.15 rows=1 width=34) (actual time=0.055..0.056 rows=1 loops=18)
                                                                    Index Cond: (id = groups_assets.asset_id)
                                                                    Heap Fetches: 18
                                                  ->  Index Only Scan using assets_id on assets  (cost=0.13..3.42 rows=1 width=34) (actual time=0.003..0.003 rows=1 loops=16)
                                                        Index Cond: (id = assets_1.id)
                                                        Heap Fetches: 16
                                ->  Index Only Scan using events_id on events events_1  (cost=0.42..0.62 rows=1 width=37) (actual time=0.003..0.003 rows=1 loops=144882)
                                      Index Cond: (id = events_assets.event_id)
                                      Heap Fetches: 18621
              ->  Index Scan using events_id on events  (cost=0.42..2.50 rows=1 width=1970) (actual time=0.006..0.006 rows=1 loops=144882)
                    Index Cond: (id = events_1.id)
Planning Time: 1.994 ms
Execution Time: 2159.146 ms
postgresql
  • 1 respostas
  • 38 Views
Martin Hope
L. Connell
Asked: 2024-06-22 04:28:37 +0800 CST

Os dados aparentemente não estão sendo salvos na tabela particionada do GridDB (nenhum erro sendo gerado?)

  • 6

Eu tenho um programa Java que grava linhas na minha tabela GridDB por meio da API NoSQL. Estou detectando erros corretamente e vejo nos logs que os dados estão sendo armazenados em meu contêiner via multiput, mas quando entro na CLI para visualizar o conteúdo dos dados, o contêiner está completamente vazio?

Primeiro, esta é a aparência do contêiner:

gs[public]> showcontainer LOG_agent_intrusion_exploit
Database    : public
Name        : LOG_agent_intrusion_exploit
Type        : COLLECTION
Partition ID: 22
DataAffinity: -
Partitioned : true
Partition Type           : INTERVAL
Partition Column         : timestamp
Partition Interval Value : 30
Partition Interval Unit  : DAY
Expiration Type      : PARTITION
Expiration Time      : 30
Expiration Time Unit : DAY

Columns:
No  Name                  Type            CSTR  RowKey
------------------------------------------------------------------------------
 0  timestamp             TIMESTAMP(3)    NN
 1  username              STRING
 2  incomingIP            STRING
 3  serverIP              STRING
 4  mtu                   INTEGER
 5  statusCode            INTEGER
 6  cacheHit              STRING
 7  method                STRING
 8  url                   STRING
 9  urlPrefix             STRING
10  urlSuffix             STRING
11  httpVersion           STRING
12  service               STRING
13  riskLevel             STRING
14  headerContentType     STRING
15  bytesReceived         INTEGER
16  bytesSent             INTEGER
17  headerAgent           STRING
18  url2                  STRING
19  url2Prefix            STRING
20  url2Suffix            STRING
21  meta1                 STRING
22  meta2                 STRING
23  meta3                 STRING
24  meta4                 STRING

Meu analisador de log está criando um hashmap com os nomes dos contêineres como nome da chave, reunindo todas as linhas e, em seguida, usando store.multiPut para enviar para o GridDB. para esta função, estou fazendo um bloco try/catch simples que normalmente captura os erros do GridDB.

Trecho rápido:

                for (RawLog log : logs) {
                    try {
                        System.out.println(log.logtype + "~~~~~~");
                        System.out.println("configs.get(log.logtype)" + configs.get(log.logtype));
                        Row row = lp.patternMatcher(proc_container, log, configs.get(log.logtype));
                        if (row != null) {
                            proc_logs.add(row);
                            System.out.println("parsing this row: " + row);
                        } else
                            System.out.println("Could not parse " + log);
                    } catch (Exception e) {
                        e.printStackTrace();
                        System.out.println("Could not parse " + log);
                    }
                }

                containerRowsMap.put(proc_container, proc_logs);

            }
            try {
                db.store.multiPut(containerRowsMap);
            } catch (Exception e) {
                System.out.println("Error with inserting data");
                e.printStackTrace();
            }

Portanto, neste caso, parece que os dados deveriam estar na minha tabela, mas quando executo uma consulta simples select * from LOG_agent_intrusion_exploit;, recebo zero linhas de volta.

Tentei abandonar o multiput e inserir uma linha por vez, mas obtive exatamente o mesmo comportamento.

griddb
  • 1 respostas
  • 10 Views
Martin Hope
SQL_Hacker
Asked: 2024-06-22 00:45:39 +0800 CST

Um certificado TLS pode ser usado para várias instâncias do SQL Server?

  • 6

Windows 2022, SQL Server 2022, cluster FCI com 2 nós físicos. 5 instâncias do SQL Server em execução no cluster FCI. Preciso ter certificação TLS em execução em todas as 5 instâncias do SQL Server. Um único certificado TLS (instalado nos servidores) pode ser usado para todas as 5 instâncias ou é necessário um único certificado para cada instância?

sql-server
  • 1 respostas
  • 70 Views
Martin Hope
questionto42
Asked: 2024-06-21 19:42:53 +0800 CST

Como insiro um número bigint no SSIS?

  • 5

Esta é uma duplicata entre sites de Avaliar expressão com construtor de expressão - Stack Overflow . Queria compartilhar isso com capturas de tela e com uma pergunta mais ampla, já que você acessou o outro link apenas se procurar pelos erros. Obrigado, vá para a resposta lá.

Tento adicionar uma coluna bigint como uma nova coluna derivada, o que gera os erros:

Erro1:

O literal "12345678910" é muito grande para caber no tipo DT_I4. A magnitude do literal excede o tipo.

Erro2:

A tentativa de analisar a expressão "(DT_I8)12345678910" falhou e retornou o código de erro 0xC004707C. A expressão não pode ser analisada. Pode conter elementos inválidos ou pode não estar bem formado. Também pode haver um erro de falta de memória.

insira a descrição da imagem aqui

Pergunta

Como insiro um número bigint no SSIS?

Lenda

DT_I8 = número inteiro de 8 bytes
DT_I4 = número inteiro de 4 bytes

ssis
  • 1 respostas
  • 16 Views
Martin Hope
Geezer
Asked: 2024-06-21 18:04:22 +0800 CST

A visualização não reconhece uma alteração em uma tabela subjacente quando uma coluna existente é eliminada e substituída por outra com o mesmo nome, mas conforme computada

  • 13

Meu entendimento aqui é que quando uma View é criada, a definição é armazenada em metadados sys.tables. ou seja sys.views.

Além disso, se você usá SELECT * FROM-lo, armazenará os nomes exatos das colunas, por exemplo SELECT a, b FROM.

Mesmo se você usar a "CHECK OPTION" - ela ainda não será validada nas tabelas subjacentes.

"SCHEMABINDING", por outro lado, será validado nas tabelas subjacentes.

Meu problema é quando uma coluna em uma tabela é droppedsubstituída por outra com o mesmo nome, mas computedalgo estranho acontece quando você consulta uma visualização com base nessa tabela.

Aqui está um exemplo.

DROP TABLE IF EXISTS dbo.Test1;
DROP TABLE IF EXISTS dbo.Test2;
GO
CREATE TABLE dbo.Test1
(
    Id          INT IDENTITY(1,1) PRIMARY KEY ,
    Test1Col1   VARCHAR(80) NULL ,
    Test1Col2   VARCHAR(80) NULL ,
    Test1Col3   VARCHAR(80) NULL 
);
CREATE TABLE dbo.Test2
(
    Id          INT IDENTITY(1,1) PRIMARY KEY ,
    Test2Col1   VARCHAR(80) NULL ,
    Test2Col2   VARCHAR(80) NULL ,
    Test2Col3   VARCHAR(80) NULL ,
    Test1Id     INT 
);
GO
INSERT INTO dbo.Test1
    (Test1Col1, Test1Col2, Test1Col3)
VALUES 
    ('Test1Col1Data1', 'Test1Col2Data1', 'Test1Col3Data1') ,
    ('Test1Col1Data2', 'Test1Col2Data2', 'Test1Col3Data2') ,
    ('Test1Col1Data3', 'Test1Col2Data3', 'Test1Col3Data3') ;
GO
INSERT INTO dbo.Test2
    (Test2Col1, Test2Col2, Test2Col3, Test1Id)
VALUES 
    ('Test2Col1Data1', 'Test2Col2Data1', 'Test2Col3Data1', 1) ,
    ('Test2Col1Data2', 'Test2Col2Data2', 'Test2Col3Data2', 2) ,
    ('Test2Col1Data3', 'Test2Col2Data3', 'Test2Col3Data3', 3) ;
GO

Crie uma visualização baseada em tabelas.

CREATE OR ALTER 
    VIEW    dbo.View1 
AS

    SELECT T1.*, T2.*
    FROM    (
            SELECT  TestId = T.Id
            FROM    dbo.Test1   T
        )   T1
    INNER JOIN  dbo.Test2   T2  ON  T2.Test1Id = T1.TestId ;
GO
SELECT  * FROM dbo.View1 ;
GO

Você obtém este conjunto de resultados,

insira a descrição da imagem aqui

Agora eu ALTERmesa dbo.Test2.

DROPcoluna Test2Col3 e substituiu-a por uma computedcoluna com o mesmo nome.

ALTER TABLE dbo.Test2
    DROP COLUMN Test2Col3 ;
ALTER TABLE dbo.Test2
    ADD Test2Col3 AS Test2Col1;
GO

Agora, quando consulto a visualização, obtenho o seguinte conjunto de resultados.

SELECT  * FROM dbo.View1 ;
GO

insira a descrição da imagem aqui

Os dados em colunas Test2Col3pareciam Test1Idter deslocado 1 para a esquerda.

O que eu esperaria ver Test2Col3está sendo mostrado Test1Ide vice-versa.

insira a descrição da imagem aqui

Por que é isso?
Eu sei que uma atualização ou alteração da visualização corrigirá isso, mas os nomes das colunas não foram alterados. Eu repliquei isso no banco de dados SQL-2022 e Azure SQL.

sql-server
  • 3 respostas
  • 829 Views
Martin Hope
Erick Ramirez
Asked: 2024-06-21 17:20:37 +0800 CST

Como me conecto a um cluster Cassandra da edição da comunidade DBeaver?

  • 5

O driver DBeaver Cassandra está disponível apenas na versão Pro. Como me conecto a um cluster Cassandra se estiver usando o Community Edition?

cassandra
  • 1 respostas
  • 34 Views
Martin Hope
questionto42
Asked: 2024-06-21 17:08:11 +0800 CST

Como faço uma pesquisa de número inteiro DT_I4 de uma condição booleana em uma coluna derivada para uma coluna de pesquisa de número inteiro? Apenas um `0` corresponde, um `1` não

  • 5

Para fazer uma pesquisa, faça:

  • uma coluna derivada como a DT_I4entrada inteira de quatro bytes que pode ser um 0ou 1,
  • uma pesquisa em uma coluna da tabela de pesquisa que é um número inteiro de quatro bytes 0ou 1também.

Coluna de origem:

(DT_I4)(Check1 == "Check1_value")

Coluna de pesquisa:

Ver:

  • Construtor de valor de tabela (Transact-SQL) - Microsoft Learn
  • selecione sem from - SQL moderno
select * from 
values(0,'output_for_0')
,(1,'output_for_1')
t (lkp_value, lkp_output)

Com outras colunas para pesquisa ou saída, poderia ser assim:

insira a descrição da imagem aqui

Se eu não converter 0e 1para um tipo de dados escolhido, ele se tornará um número inteiro. Eu uso números inteiros, pois quero poupar o trabalho de converter cada número inteiro em um tipo de dados bit, pois você precisa fazer isso para cada valor em toda a consulta da tabela de pesquisa. Se você tiver apenas as duas linhas, você pode dizer que não importa escrever:

select * from 
values(cast(0 as bit),cast('output_for_0' as varchar(100)))
,(cast(1 as bit),cast('output_for_1' as varchar(100)))
t (lkp_value, lkp_output)

Mas eu gosto de mantê-lo em números inteiros simples para me poupar de conversões desagradáveis ​​para cada valor. Faço o mesmo com as outras colunas, não defino o comprimento varchar das colunas de texto e assim por diante, para que meus varchars fiquem varchar(45)na tabela de consulta, mas fiquem varchar(100)nas tabelas de entrada e destino. Você pode fazer isso de outra maneira.

Somente a pesquisa 0to 0funciona, enquanto a pesquisa 1to 1não, embora ambas sejam do mesmo tipo de dados.

Ambos (DT_I4)(Check1 == "Check1_value"e o valor de pesquisa 1se tornam o DT_I4número inteiro 1se a condição for atendida. Passei o número da coluna derivada para uma tabela de destino para verificar isso.

O que preciso fazer para pesquisar números inteiros provenientes de uma condição booleana em uma coluna derivada convertida como um número inteiro?

ssis
  • 1 respostas
  • 9 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