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
Randy Minder
Asked: 2015-04-14 10:03:40 +0800 CST

Alterando uma coluna de NOT NULL para NULL - O que está acontecendo sob o capô?

  • 26

Temos uma tabela com 2,3 bilhões de linhas. Gostaríamos de alterar uma coluna de NOT NULL para NULL. A coluna está contida em um índice (não no índice clusterizado ou PK). O tipo de dados não está mudando (é um INT). Apenas a nulidade. A declaração é a seguinte:

Alter Table dbo.Workflow Alter Column LineId Int NULL

A operação demora mais de 10 antes de ser interrompida (nós ainda não a deixamos terminar porque é uma operação de bloqueio e estava demorando muito). Provavelmente copiaremos a tabela para um servidor dev para testar quanto tempo realmente leva. Mas, estou curioso para saber se alguém sabe o que o SQL Server está fazendo sob o capô ao converter de NOT NULL para NULL? Além disso, os índices afetados precisarão ser reconstruídos? O plano de consulta gerado não indica o que está acontecendo.

A tabela em questão é agrupada (não um heap).

sql-server sql-server-2008-r2
  • 2 respostas
  • 39338 Views
Martin Hope
Muflix
Asked: 2014-11-13 06:59:46 +0800 CST

Caso com várias condições

  • 26

Eu preciso alterar o valor retornado, da instrução select, com base em várias condições. Eu tentei algo assim:

,CASE i.DocValue
  WHEN 'F2' AND c.CondCode IN ('ZPR0','ZT10','Z305') THEN c.CondVal
  ELSE 0
END as Value

por que não está funcionando e qual é a maneira recomendada de fazer isso? Haverá várias próximas condições WHEN.

obrigada

sql-server
  • 2 respostas
  • 472364 Views
Martin Hope
Michael J Swart
Asked: 2014-11-01 07:06:51 +0800 CST

Uma consulta que lista todos os usuários mapeados para um determinado login

  • 26

Ao observar as propriedades de um determinado login, é possível ver uma lista de usuários mapeados para esse login: insira a descrição da imagem aqui

Criei o perfil do SQL Server Management Studio (SSMS) e vejo que o SSMS se conecta a todos os bancos de dados um de cada vez e recupera informações de sys.database_permissions

É possível escrever uma única consulta que recupere as informações de mapeamento do usuário mostradas acima ou sou forçado a usar um cursor ou sp_MSforeachdb ou algo parecido?

sql-server sql-server-2008
  • 8 respostas
  • 90570 Views
Martin Hope
Aaroninus
Asked: 2014-10-29 08:34:11 +0800 CST

Por que uma tabela usaria sua chave primária como uma chave estrangeira para si mesma

  • 26

Examinando um banco de dados, me deparei com uma tabela que usava sua chave primária como chave estrangeira para si mesma.

Eu vi que uma tabela pode ter uma chave estrangeira para construir uma estrutura de hierarquia, mas usaria outra coluna para referenciar a chave primária.

Como a chave primária é única, nessa situação a linha não poderia apenas apontar de volta para ela mesma? Isso parece ser um link tautológico, pois se eu já tenho a linha, já tenho a linha.

Existe alguma razão para isso ser feito?

Mesa unida a si mesma

Estou certo de que a restrição está escrita dessa maneira (não apenas olhando para o diagrama) porque a mesma tabela e coluna são usadas para ambas as metades da definição.

sql-server foreign-key
  • 3 respostas
  • 49500 Views
Martin Hope
Marcus Junius Brutus
Asked: 2014-09-04 07:00:52 +0800 CST

Desabilite todas as restrições e verificações de tabela ao restaurar um despejo

  • 26

Eu obtive um dump do meu banco de dados PostgreSQL com:

pg_dump -U user-name -d db-name -f dumpfile

que eu prossigo para restaurar em outro banco de dados com:

psql X -U postgres  -d db-name-b -f dumpfile

Meu problema é que o banco de dados contém restrições referenciais, verificações e gatilhos e alguns desses (verificações, parece em particular) falham durante a restauração, pois as informações não são carregadas na ordem que faria com que essas verificações fossem honradas. Por exemplo, a inserção de uma linha em uma tabela pode ser associada a um CHECKque chama uma plpgsqlfunção que verifica se uma condição é válida em alguma outra tabela não relacionada. Se essa última tabela não for carregada psqlantes da primeira, ocorrerá um erro.

O seguinte é um SSCCE que produz um banco de dados que, uma vez despejado pg_dump, não pode ser restaurado:

CREATE OR REPLACE FUNCTION fail_if_b_empty () RETURNS BOOLEAN AS $$
    SELECT EXISTS (SELECT 1 FROM b)
$$ LANGUAGE SQL;

CREATE TABLE IF NOT EXISTS a (
     i              INTEGER                    NOT NULL
);

INSERT INTO a(i) VALUES (0),(1);
CREATE TABLE IF NOT EXISTS b (
    i  INTEGER NOT NULL
);
INSERT INTO b(i) VALUES (0);

ALTER TABLE a ADD CONSTRAINT a_constr_1 CHECK (fail_if_b_empty());

Existe uma maneira de desabilitar (a partir da linha de comando) todas essas restrições durante a restauração de despejo e habilitá-las novamente depois? Estou executando o PostgreSQL 9.1.

database-design postgresql
  • 2 respostas
  • 50242 Views
Martin Hope
haulpd
Asked: 2014-07-03 20:06:13 +0800 CST

Como posso mysqldump todos os bancos de dados, exceto o esquema mysql? [duplicado]

  • 26
Essa pergunta já tem respostas aqui :
Alguma opção para o mysqldump ignorar bancos de dados para backup? (10 respostas)
Fechado há 7 anos .

Eu quero fazer backup de todos os mais de 200 bancos de dados em um servidor MySQL para arquivos all-dbs.sql.

Eu quero excluir o mysqlesquema.

Como eu posso fazer isso?

mysql backup
  • 1 respostas
  • 44490 Views
Martin Hope
Harald
Asked: 2014-01-13 06:03:07 +0800 CST

SQL Server 2012: gerar scripts a partir da linha de comando

  • 26

Estou executando o SQL Server 2012.

O SQL Server Management Studio tem a opção de clicar com o botão direito do mouse em um banco de dados e selecionar Tarefas e Gerar Scripts.

Existe uma maneira de automatizar isso via linha de comando de alguma forma?

Quero criar um script que inclua o esquema e os dados de todo o banco de dados.

Ferramentas como ScriptDBe sqlpubwiz.exetodas parecem ter como alvo o SQL Server 2005. E o SQL Server 2012?

sql-server scripting
  • 5 respostas
  • 41417 Views
Martin Hope
Christian Maíz
Asked: 2014-01-09 07:52:39 +0800 CST

VÁCUO CONGELADO vs. VÁCUO COMPLETO

  • 26

Alguém pode explicar a diferença entre esses tipos VACUUMno PostgreSQL?

Eu li o documento, mas ele apenas diz que FULLbloqueia as tabelas e FREEZE"congela" as tuplas. Acho que é isso mesmo. Estou errado?

postgresql vacuum
  • 3 respostas
  • 34479 Views
Martin Hope
John Russell
Asked: 2013-12-09 08:56:52 +0800 CST

SNAPSHOT CONFIRMADO DE LEITURA do SQL Server vs SNAPSHOT

  • 26

Eu estava pesquisando as diferenças entre o SQL Server READ COMMITTED SNAPSHOTe os SNAPSHOTníveis de isolamento e me deparei com o seguinte recurso:

Escolhendo níveis de isolamento baseados em controle de versão de linha

Para a maioria dos aplicativos, o isolamento de confirmação de leitura usando controle de versão de linha é recomendado em vez do isolamento de instantâneo pelos seguintes motivos:

  • Ele consome menos espaço tempdb do que o isolamento de instantâneo.

  • O isolamento de instantâneo é vulnerável a conflitos de atualização que não são aplicáveis ​​ao isolamento confirmado de leitura usando controle de versão de linha. Quando uma transação executada sob isolamento de instantâneo lê dados que são modificados por outra transação, uma atualização da transação de instantâneo para os mesmos dados causa um conflito de atualização e a transação é encerrada e revertida. Isso não é um problema com isolamento de confirmação de leitura usando controle de versão de linha.

Sou um pouco novo nesses tópicos, mas não consigo entender os dois pontos do link acima.

  1. Por que o espaço tempdb seria diferente para esses modos? Um armazena versões mais granulares do que o outro?

  2. Por que o isolamento de instantâneo é mais vulnerável a conflitos de atualização?

sql-server sql-server-2012
  • 2 respostas
  • 11124 Views
Martin Hope
if __name__ is None
Asked: 2013-11-26 09:08:36 +0800 CST

Permissão negada para relação <table>

  • 26

Eu executei o seguinte SQL no psql:

CREATE USER bspu LOGIN;

CREATE DATABASE bsp OWNER bspu;

GRANT ALL PRIVILEGES ON DATABASE bsp TO bspu;

\c bsp

CREATE TABLE users (
  id SERIAL PRIMARY KEY,
  client_id VARCHAR(20) NOT NULL,
  api_key VARCHAR(100) NOT NULL,
  api_secret VARCHAR(100) NOT NULL,
  auth_token VARCHAR(128) NOT NULL
);

Quando faço login como bspue tento consultar a userstabela, recebo o erro:

permission denied for relation users

Tentei executar:

ALTER DEFAULT PRIVILEGES GRANT ALL ON TABLES TO bspu;

Mas isso não ajuda. O que estou fazendo errado? Por que o proprietário do banco de dados NÃO tem permissões para consultar seu próprio banco de dados?

EDIT: atualizei bspupara superusuário por enquanto, para poder continuar trabalhando. Qualquer orientação adicional apreciada.

postgresql permissions
  • 3 respostas
  • 138065 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