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
Gugelhupf
Asked: 2015-08-05 06:50:39 +0800 CST

PostgreSQL - Quem ou o que é a função "PUBLIC"?

  • 16

Eu estava olhando information_schema.role_table_grantsquando vi publicna granteecoluna, aí já verifiquei information_schema.enabled_rolesmas isso role_namenão existe.

=> Quem ou qual é o publicpapel?

postgresql role
  • 2 respostas
  • 16907 Views
Martin Hope
Manii
Asked: 2015-06-24 20:31:42 +0800 CST

Existe alguma maneira de reduzir/encolher o tamanho do tempdb.mdf sem reiniciar o SQL Server

  • 16

É necessário reiniciar o SQL Server depois DBCC SHRINKFILEou tempdb.mdfexiste algum outro método para reduzir o tamanho tempdb.mdfsem reiniciar o SQL Server?

Por favor, ajude, pois preciso disso para um servidor de produção e espero fazer a redução sem tempo de inatividade.

sql-server
  • 2 respostas
  • 49367 Views
Martin Hope
Martin Smith
Asked: 2015-06-22 08:17:56 +0800 CST

Por que referenciar uma variável em um predicado de junção força loops aninhados?

  • 16

Me deparei com esse problema recentemente e não consegui encontrar nenhuma discussão sobre ele online.

A consulta abaixo

DECLARE @S VARCHAR(1) = '';

WITH T
     AS (SELECT name + @S AS name2,
                *
         FROM   master..spt_values)
SELECT *
FROM   T T1
       INNER JOIN T T2
         ON T1.name2 = T2.name2;

Sempre obtém um plano de loops aninhados

insira a descrição da imagem aqui

A tentativa de forçar o problema com INNER HASH JOINou INNER MERGE JOINdicas produz o seguinte erro.

O processador de consulta não pôde produzir um plano de consulta devido às dicas definidas nesta consulta. Reenvie a consulta sem especificar nenhuma dica e sem usar SET FORCEPLAN.

Encontrei uma solução alternativa que permite o uso de junções de hash ou mesclagem - envolvendo a variável em um agregado. O plano gerado tem um custo significativamente menor (19,2025 vs 0,261987)

DECLARE @S2 VARCHAR(1) = '';

WITH T
     AS (SELECT name + (SELECT MAX(@S2)) AS name2,
                *
         FROM   spt_values)
SELECT *
FROM   T T1
       INNER JOIN T T2
         ON T1.name2 = T2.name2; 

insira a descrição da imagem aqui

Qual é a razão para este comportamento? e existe uma solução alternativa melhor do que a que encontrei? (que talvez não exija as ramificações extras do plano de execução)

sql-server performance
  • 2 respostas
  • 839 Views
Martin Hope
normandantzig
Asked: 2015-06-12 08:30:08 +0800 CST

Como selecionar a primeira linha de uma junção que retorna várias linhas na chave primária

  • 16

Isso está relacionado a esta pergunta: Unir várias tabelas resulta em linhas duplicadas

Tenho duas tabelas que estou juntando. Eles compartilham uma chave. A tabela de pessoas tem um nome por chave primária, mas a tabela de email tem vários emails por personId. Quero mostrar apenas o primeiro e-mail por pessoa. Atualmente, recebo várias linhas por pessoa porque eles têm vários e-mails. Estou executando o SQL Server 2005.

EDIT: Este é o T-SQL. O primeiro email é literalmente a primeira linha de email por pessoa.

Edit 2: Primeiro e-mail, como vejo, seria a primeira linha de e-mail que aparece na junção à medida que o SQL funciona na consulta. Não importa qual e-mail aparece. Só que não aparece mais de um e-mail. Espero que isso deixe mais claro.

Table1: Person
Table2: Email

Select Person.PersonName, Email.Email
From person 
left join on Person.ID=Email.PersonId;
sql-server sql-server-2005
  • 4 respostas
  • 120586 Views
Martin Hope
peter.petrov
Asked: 2015-05-22 13:33:21 +0800 CST

SQL Server Developer Edition 2012 ou 2014 - Download

  • 16

Ouvi dizer (tenho certeza) que o Developer Edition é gratuito e para baixá-lo não é necessário registro. Mas quando comecei a procurá-lo hoje não consegui encontrar onde consegui-lo. Meu entendimento está certo ou errado? Desculpe, não encontrei uma pergunta semelhante aqui. Alguma ideia?

sql-server
  • 2 respostas
  • 125788 Views
Martin Hope
Aaron Bertrand
Asked: 2015-05-01 07:28:56 +0800 CST

sys.sql_logins.is_policy_checked significa que a política foi verificada?

  • 16

Quando olho para dentro sys.sql_logins, vejo uma coluna chamada is_policy_checked. Posso confiar que minha política de senha foi verificada para todos os logins onde está o valor desta coluna 1?

sql-server security
  • 1 respostas
  • 12487 Views
Martin Hope
WildWezyr
Asked: 2015-04-27 11:08:31 +0800 CST

Concessões mínimas para acesso de tabela única somente leitura no PostgreSQL

  • 16

A seguir está uma lista de comandos que parecem funcionar para criar um novo usuário (login) e conceder acesso somente leitura para uma tabela especificada no PostgreSQL.

Vamos supor que esses comandos sejam executados no login com privilégios suficientes (ou seja postgres, login na instalação padrão).

CREATE ROLE user_name NOSUPERUSER NOCREATEDB 
NOCREATEROLE NOINHERIT LOGIN PASSWORD 'pwd' VALID UNTIL 'infinity';

Agora eu quero conceder selectna tabela tab_abcno banco de dados db_xyz, então aqui vai (o banco de dados db_xyzé selecionado como atual via PgAdmin ou algo parecido):

grant select on tab_abc to user_name;

A questão é: isso é suficiente ou deveria haver mais concessões (banco de dados connect, usagetalvez)?

Esses comandos parecem funcionar para mim, mas minha instalação padrão tem configurações de segurança padrão. Quais concessões adicionais devo adicionar se o administrador do servidor configurou uma segurança mais forte?

Parece que não preciso conceder connectnem usage- isso está implícito ao conceder select? É sempre assim?

postgresql permissions
  • 1 respostas
  • 22306 Views
Martin Hope
Happydevdays
Asked: 2015-04-02 07:04:09 +0800 CST

redis newbie - como criar hash dentro de um hash?

  • 16

Eu quero criar este tipo de estrutura em redis: (são basicamente dados json)

{
    "id": "0001",
    "name":"widget ABC",
    "model": "model123",
    "service":"standard",
    "admin_password": 82616416,
    "r1":
        {
            "extid":"50000",
            "password":"test123",
        },
    "r2":
        {
            "ext":"30000",
            "password":"test123",
        },
}

O que tentei até agora:

Eu tentei criar um hash sem os hashes "sub", apenas para ter certeza de que tenho o básico. Aqui está o que eu comecei com o redis-cli:

HMSET widget:1 id 0001 name 'widget ABC' model 'model123' service standard admin_password 82616416
HMSET widget:2 id 0002 name 'widget ABC' model 'model123' service standard admin_password 12341234

Isso parece funcionar. Posso ver que tenho 2 "registros" de dados de widgets em uma coleção de widgets.

Mas minha tentativa de criar um registro com os dados r1 falha.

Isto é o que eu tentei:

HMSET widget:3 id 0002 name 'widget ABC' model 'model123' service standard admin_password 12341234 r1{extid 50000} 

Isso cria uma chave de hash "r1{extid" com um valor de hash de "50000}"

Qualquer sugestão seria apreciada. Acho que meu problema é minha linguagem. Eu simplesmente não sei o suficiente sobre a sintaxe redis para saber quais palavras usar em minha pesquisa no google.

Talvez eu só tenha que "achatar" os dados assim:

HMSET widget:3 id 0002 name 'widget ABC' model 'model123' service standard admin_password 12341234 r1_extid 50000 r1_password test123 r2_extid 30000 r2_password test123

Obrigado.

nosql redis
  • 2 respostas
  • 20352 Views
Martin Hope
eddie_cat
Asked: 2015-03-27 09:08:34 +0800 CST

Como posso mapear um login para um banco de dados usando T-SQL (não SSMS)

  • 16

Estou escrevendo um programa que exige que eu atribua todas as permissões e tudo no código. Eu fiquei preso nesta parte:

insira a descrição da imagem aqui

Eu só quero fazer o equivalente a clicar na pequena caixa em "Map" para o banco de dados msdb e atribuir esse usuário à função SqlAgentUser. Eu preciso de um usuário para poder adicionar/editar trabalhos do SQL Server Agent. Posso obter as configurações corretas usando o SSMS, mas não consigo descobrir como fazer isso em SQL bruto.

Eu olhei ALTER LOGIN mas não estou vendo nada que faça o que eu preciso. Eu suspeito que eu simplesmente não sei os termos corretos para o Google. Não costumo fazer esse tipo de coisa.

Qualquer ajuda é muito apreciada!

sql-server t-sql
  • 2 respostas
  • 56615 Views
Martin Hope
Sergei Namniasov
Asked: 2015-03-14 05:41:27 +0800 CST

Ler uma linha parcialmente atualizada?

  • 16

Digamos que eu tenha duas consultas, executadas em duas sessões separadas no SSMS:

Primeira sessão:

UPDATE Person
SET Name='Jonny', Surname='Cage'
WHERE Id=42

Segunda sessão:

SELECT Name, Surname
FROM Person WITH(NOLOCK)
WHERE Id > 30

É possível que a SELECTinstrução possa ler uma linha semi-atualizada, por exemplo, uma com Name = 'Jonny'e Surname = 'Goody'?

As consultas são executadas quase simultaneamente em sessões separadas.

sql-server concurrency
  • 1 respostas
  • 408 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