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-11303

Saeed Neamati's questions

Martin Hope
Saeed Neamati
Asked: 2023-06-01 15:32:38 +0800 CST

Considerando que não queremos logs, quais arquivos devo colocar no plano de backup baseado em arquivos do MariaDB?

  • 5

Este é o conteúdo do meu Databasesdiretório:

total 201M
drwxr-xr-x 23 systemd-coredump systemd-coredump 4.0K May 27 02:07 .
drwxr-xr-x  9 root             root             4.0K Jun  1 10:20 ..
drwx------  2 systemd-coredump systemd-coredump 4.0K May 12 16:31 Accounts
drwx------  2 systemd-coredump systemd-coredump 4.0K May 12 16:31 Aggregates
-rw-rw----  1 systemd-coredump systemd-coredump  17M May 31 07:03 aria_log.00000001
-rw-rw----  1 systemd-coredump systemd-coredump   52 May 31 07:03 aria_log_control
drwx------  2 systemd-coredump systemd-coredump 4.0K May 12 16:31 Blog
drwx------  2 systemd-coredump systemd-coredump 4.0K May 12 16:31 Configuration
drwx------  2 systemd-coredump systemd-coredump 4.0K May 26 10:07 Contacts
drwx------  2 systemd-coredump systemd-coredump 4.0K May 26 10:11 Contents
-rw-r--r--  1 systemd-coredump systemd-coredump  509 Feb 26 10:11 db.sultanimmubin.ir.conf
-rw-rw----  1 systemd-coredump systemd-coredump    9 May 21 02:05 ddl_recovery-backup.log
-rw-rw----  1 systemd-coredump systemd-coredump    9 May 27 02:06 ddl_recovery.log
-rw-r--r--  1 systemd-coredump systemd-coredump 1.2K Feb 26 10:11 docker-compose.yml
drwx------  2 systemd-coredump systemd-coredump 4.0K Apr 12 14:54 Entities
drwx------  2 systemd-coredump systemd-coredump 4.0K May 12 16:31 Forms
drwx------  2 systemd-coredump systemd-coredump 4.0K Apr 12 14:51 Galleries
drwx------  2 systemd-coredump systemd-coredump 4.0K May 26 10:06 Geo
drwx------  2 systemd-coredump systemd-coredump 4.0K May 12 16:31 Globalization
-rw-rw----  1 systemd-coredump systemd-coredump 7.6K May 27 02:01 ib_buffer_pool
-rw-rw----  1 systemd-coredump systemd-coredump  76M May 27 02:01 ibdata1
-rw-rw----  1 systemd-coredump systemd-coredump  96M May 31 07:05 ib_logfile0
-rw-rw----  1 systemd-coredump systemd-coredump  12M May 27 02:07 ibtmp1
drwx------  2 systemd-coredump systemd-coredump 4.0K May 26 10:08 Media
-rw-rw----  1 systemd-coredump systemd-coredump    0 Feb 26 09:57 multi-master.info
drwx------  2 systemd-coredump systemd-coredump 4.0K Feb 26 09:57 mysql
-rw-r--r--  1 systemd-coredump systemd-coredump   15 Feb 26 09:57 mysql_upgrade_info
drwx------  2 systemd-coredump systemd-coredump 4.0K May 12 16:31 Navigation
drwx------  2 systemd-coredump systemd-coredump 4.0K Feb 26 09:56 performance_schema
drwx------  2 systemd-coredump systemd-coredump 4.0K May 12 16:31 Seo
drwx------  2 systemd-coredump systemd-coredump 4.0K May 12 16:31 Social
drwx------  2 systemd-coredump systemd-coredump  12K Feb 26 09:56 sys
drwx------  2 systemd-coredump systemd-coredump 4.0K May 12 16:35 Taxonomy

Como você pode ver, qualquer diretório que comece com letras maiúsculas é meu próprio banco de dados. Eu não me importo com os logs, desde que eles já estejam inseridos nas tabelas correspondentes. E eu não me importo nem um pouco com a infraestrutura do MariaDB.

Quero fazer backup de arquivos usando um plano de backup baseado em arquivo. É um script usado azcopyno Microsoft Azure para colocar diretórios e arquivos na nuvem.

No entanto, para um servidor simples com menos de mil registros, consome 200 MBs.

Quais arquivos devo fazer backup na nuvem para poder restaurar mais tarde, além dos diretórios do meu banco de dados?

Atualização O motivo pelo qual estou pedindo isso é por causa dos custos da nuvem. Temos um programa que faz backup de muitos arquivos na nuvem e, para o banco de dados, faz backup de todo o Databasesdiretório. Isso faz com que nossa conta aumente dramaticamente. Porque somos uma agência de web design e temos centenas de clientes e se calcularmos, carregamos dezenas de Gigabytes de dados todas as noites para backup de banco de dados.

backup
  • 1 respostas
  • 46 Views
Martin Hope
Saeed Neamati
Asked: 2022-02-06 02:23:43 +0800 CST

Preso ao inserir registros no MariaDB condicionalmente

  • 0

eu sei sobre insert ignore. Isso é inútil, porque MariaDB não considera NULL como parte do índice uniqude.

Por isso tenho que usar if ... else.

Mas este código não é executado:

select *
from Nodes 
where `Key` = 'FAQPage';

if not found_row() then
   insert into Nodes (`Key`, ParentId)
   values ('FAQPage', null)
end if;

Como posso usar if ... elsepara inserir dados condicionalmente no MariaDB?

mariadb insert
  • 1 respostas
  • 36 Views
Martin Hope
Saeed Neamati
Asked: 2020-03-22 02:54:14 +0800 CST

Por que o resultado de um "caso" totalmente determinístico e abrangente na consulta de seleção na exibição é anulável?

  • 4

Eu tenho uma tabela, com Idcomo chave primária.

create table Anything
(
    Id bigint not null primary key identity(1, 1)
)

Quando olho para esta tabela em Object Explorer, vejo esta imagem, claro:

Insira a descrição da imagem aqui

Como você pode ver, a coluna não Idé null .

Então eu crio uma visão fictícia nesta tabela fictícia:

create view IdIsTwoView
as

select
    Id,
    (
        case
        when Id = 2
        then cast(1 as bit)
        else cast(0 as bit)
        end
    ) as IdIsTwo
from Anything

Mas desta vez, no Object Explorer, vejo este resultado:

Insira a descrição da imagem aqui

Como você pode ver, apesar de minha casecláusula ser abrangente e cobrir 100% de todos os registros, e ter uma resposta para todos os registros, ela é anulável.

Por que o SQL Server tem esse comportamento estranho? E como forçá-lo a não ser nulo ?

PS temos uma infraestrutura para gerar código dinamicamente, e esse comportamento nos causa problemas e temos que ir manualmente e alterar todos os bool?tipos em C# para bool.

sql-server sql-server-2016
  • 2 respostas
  • 295 Views
Martin Hope
Saeed Neamati
Asked: 2019-12-07 02:33:00 +0800 CST

Como descartar um procedimento em muitos bancos de dados (SQL Server 2016)

  • 0

Eu tenho um procedimento simples que existe em mais de 150 bancos de dados. Eu posso excluí-los um por um, que é o trabalho mais estúpido a se fazer no mundo do desenvolvimento de software. Ou posso de alguma forma excluí-los dinamicamente em uma consulta, o que é inteligente, mas não funciona.

Eu tentei:

execute sp_msforeachdb 'drop procedure Usages'

Eu obtive:

Não é possível descartar o procedimento 'Usages', porque ele não existe ou você não tem permissão.

Então pensei que talvez eu criasse um cursor para isso. Assim escrevi:

declare @command nvarchar(max) = '
drop procedure Usages
';
declare @databaseName nvarchar(100)
declare databasesCursor cursor for select [name] from sys.databases where database_id > 5
open databasesCursor
fetch next from databasesCursor into @databaseName
while @@fetch_status = 0
begin
    print @databaseName
    execute sp_executesql @command
    fetch next from databasesCursor into @databaseName
end
close databasesCursor
deallocate databasesCursor

Mais uma vez, recebi a mesma mensagem. Eu pensei, talvez isso não mude o contexto do banco de dados, então eu prefixei o comando delete com o nome do banco de dados fornecido, para que os comandos se tornassem semelhantes a drop procedure [SomeDatabase].dbo.Usages, mas recebi:

'DROP PROCEDURE' não permite especificar o nome do banco de dados como um prefixo para o nome do objeto.

Então, eu descobri para executar dinamicamente use @databaseNamepara que eu possa descartar o procedimento no contexto desse banco de dados. Mas não está funcionando. O que devo fazer? Estou preso ao método inteligente e passei mais tempo do que o método estúpido agora.

sql-server sql-server-2016
  • 2 respostas
  • 606 Views
Martin Hope
Saeed Neamati
Asked: 2015-06-08 01:26:22 +0800 CST

Acesse exclusivamente uma tabela e evite outras consultas, até mesmo consultas de leitura

  • 3

Estou preso ao definir o nível de isolamento da transação. Aqui está o meu cenário que acontece no aplicativo:

  1. Obter mensagens não processadas (usando o IsProcessingsinalizador)
  2. Defina-os IsProcessingcomo verdadeiros (na RAM) e atualize seus IsProcessingstatus
  3. faça o negócio
  4. Defina-os IsProcessingcomo falsos (na RAM) e atualize seus IsProcessingstatus

Isso funciona bem quando é executado sequencialmente. Mas quando executo várias instâncias do meu aplicativo (simultaneidade), vejo que algumas mensagens são processadas duas ou três vezes. Aqui está o que acontece:

  1. A instância A recebe algumas mensagens não processadas
  2. Enquanto a instância A está definindo IsProcessingcomo verdadeiro na RAM, a instância B recebe algumas mensagens e é provável que ela busque uma ou mais das mensagens que já foram buscadas pela instância A

E isso é o que eu fiz na esperança de evitá-lo:

  1. Iniciar transação (serializável)
  2. Obter mensagens não processadas (usando o IsProcessingsinalizador)
  3. Defina-os IsProcessingcomo verdadeiros (na RAM) e atualize seus IsProcessingstatus
  4. Confirmar transação
  5. faça o negócio
  6. Defina-os IsProcessingcomo falsos (na RAM)
  7. Iniciar transação (serializável)
  8. Atualize seu IsProcessingstatus
  9. Confirmar transação

Não sei por que, mas durante as etapas 1 a 4 , outras instâncias ainda podem realizar consultas de leitura . Isso não é desejado. Quero impedir exclusivamente que qualquer coisa, até mesmo consultas de leitura, sejam executadas na tabela de mensagens durante as etapas 1 a 4.

Como eu posso fazer isso? O que estou perdendo no meu design? O objetivo é garantir que, enquanto uma mensagem estiver na fila para processamento, nenhuma outra instância a processará novamente.

sql-server transaction
  • 1 respostas
  • 2499 Views
Martin Hope
Saeed Neamati
Asked: 2015-05-06 02:03:24 +0800 CST

Por que esses caracteres são todos iguais no SQL Server?

  • 20

Eu simplesmente não entendo. Veja esta consulta SQL:

select nchar(65217) -- ﻁ
select nchar(65218) -- ﻂ
select nchar(65219) -- ﻃ
select nchar(65220) -- ﻄ
if nchar(65217) = nchar(65218)
    print 'equal'
if nchar(65217) = nchar(65219)
    print 'equal'
if nchar(65217) = nchar(65220)
    print 'equal'

Com base na relação transitiva , significa que o SQL Server considera todos eles como o mesmo caractere.

No entanto, em outros ambientes, digamos, por exemplo, C#, eles não são os mesmos.

O que estou confuso é:

  1. Como funciona a comparação de strings no SQL Server
  2. Por que a comparação não se comporta da mesma forma em uma máquina e em uma plataforma, mas em ambientes diferentes
  3. Esses 4 caracteres representam um personagem compreensível para humanos. Por que eles são tão abundantes no mapa de caracteres Unicode?

É claro que isso resulta em problemas tremendos, porque estou trabalhando em um aplicativo de processamento de texto e os dados vêm de quase todos os lugares e preciso normalizar o texto antes de processá-lo.

Se eu souber o motivo da diferença, posso encontrar uma solução para lidar com isso. Obrigada.

sql-server unicode
  • 2 respostas
  • 3629 Views
Martin Hope
Saeed Neamati
Asked: 2015-03-11 21:53:56 +0800 CST

Índice exclusivo do SQL Server, por subconjunto de dados, com base nos valores de outra coluna

  • 1

Digamos que eu tenha uma Customersmesa e uma Emailsmesa. Emailstabela tem estes campos:

Id   
CustomerId   
EmailValue   

Agora, quero criar uma restrição para que nenhum e-mail duplicado seja registrado por cliente . As maneiras que posso pensar são:

  1. Criar uma função para garantir a exclusividade de cada novo valor de email e chamar essa função em uma restrição de verificação
  2. Crie um gatilho e, a cada inserção ou atualização, certifique-se de que o email não seja duplicado por cliente
  3. Esqueça completamente o banco de dados e faça disso parte do negócio em minha camada de aplicativos

No entanto, recentemente me familiarizei com os índices filtrados do SQL Server. Embora eu não consiga descobrir se isso pode me ajudar neste caso específico ou não. A maioria dos exemplos que vi é filtrar valores NULL para criar um índice exclusivo para uma coluna anulável.

Existe uma maneira de usar um índice filtrado para obter o que desejo?

sql-server unique-constraint
  • 1 respostas
  • 1650 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