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
Paul Zahra
Asked: 2023-09-25 17:16:08 +0800 CST

Driver SAGE ODBC - permissões mínimas de pasta necessárias

  • 5

Eu tenho um site que desejo conectar à pasta SAGE ACCDATA (que reside em um servidor diferente, mas na mesma rede do servidor da intranet) usando seu driver ODBC proprietário.

Por motivos de segurança, estou tentando descobrir as permissões mínimas de pasta necessárias para permitir esta conexão.

Se eu conceder à pasta a permissão 'Todos', a conexão funcionará independentemente da identidade do pool de aplicativos, da mesma forma, se eu conceder à pasta o principal de segurança/SID de 'Rede' (um grupo que inclui todos os usuários conectados por meio de uma conexão de rede). a conexão funciona independentemente da identidade do pool de aplicativos.

Não consigo encontrar isso documentado em lugar nenhum; na verdade, a única documentação que posso encontrar sobre ODBC diz para fornecer 'Todos', nada que mencione 'Rede'!

PS: Eu sei que devo deixar admin como permissão, tudo bem, quero bloquear a permissão real necessária do ODBC para apenas ler os dados.

permissions
  • 1 respostas
  • 16 Views
Martin Hope
Naveed Ahmed
Asked: 2023-09-25 05:37:35 +0800 CST

Melhor abordagem para chave primária CLUSTERED vs NONCLUSTERED

  • 3

Suponha que eu tenha uma tabela com as colunas abaixo:

Id int identidade, UserId

Qual seria a melhor abordagem:

Making Id PRIMARY KEY CLUSTERED
Creating NONCLUSTERED Index on UserId

OU

Making Id PRIMARY KEY CLUSTERED
Creating NONCLUSTERED Index on UserId, Id

OU

Making Id PRIMARY KEY NONCLUSTERED
Creating CLUSTERED Index on UserId

OU

Making Id PRIMARY KEY NONCLUSTERED
Creating CLUSTERED Index on UserId, Id

OU

Just making a composite CLUSTERED PRIMARY KEY including both columns Id, UserId

Atualizar

Atualizar/excluir é baseado em UserId e Id, enquanto as recuperações são baseadas em UserId.

Eu leio principalmente a tabela por ID do usuário. Como um usuário pode ter vários registros nesta tabela e para modificar um registro específico de um usuário, por exemplo, para operações de atualização/exclusão, eu precisaria de id e userid para identificar exclusivamente o registro.

sql-server
  • 2 respostas
  • 66 Views
Martin Hope
Segfault
Asked: 2023-09-25 05:19:55 +0800 CST

Como faço para consultar o maior valor usando um índice

  • 5

Eu tenho uma tabela com vários terabytes de dados de eventos em um esquema muito simples (id, bucket_id, data,created_at) e há um índice como este

create index index_events_on_created_at_and_bucket_id
    on public.events (created_at desc, bucket_id asc);

Agora pensei que seria rápido encontrar o ID do evento mais recente em cada bucket com uma consulta como:

select max(created_at), bucket_id from events group by bucket_id;

Explique a saída:

HashAggregate  (cost=170172168.62..170172178.41 rows=979 width=16)
  Group Key: bucket_id
  ->  Index Only Scan using index_events_on_created_at_and_bucket_id on events  (cost=0.70..156003994.34 rows=2833634856 width=16)

Parece estar usando o índice, mas fazendo uma varredura do índice em vez de apenas capturar o valor principal como eu esperava. De qualquer forma, ele não é concluído em tempo hábil. Suponho que seja um problema ao usar a função agregada na consulta, mas não sei como consertar.

Existe uma consulta que pode retornar o carimbo de data/hora mais recente (ou seja, o primeiro no índice) created_atde cada intervalo, obtendo-o desse índice?

postgresql
  • 1 respostas
  • 58 Views
Martin Hope
Kaspis245
Asked: 2023-09-24 14:03:34 +0800 CST

Design de banco de dados para dados históricos limitados por usuário

  • 6

Preciso armazenar dados relacionados às sessões de timer. Minha tabela MySQL está assim:

user_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY
timer_start_time TIMESTAMP
timer_end_time TIMESTAMP

Existem muitos usuários (>10.000) que realizam várias (<10) sessões de timer todos os dias. Porém, preciso armazenar apenas os 5 mais recentes . Portanto, só pode haver 5 registros por usuário. Como projetar um esquema que atenda a esses requisitos e mantenha o desempenho?

Estou pensando em armazenar objetos JSON em VARCHAR, mas ouvi dizer que é uma prática ruim.

Eu preferiria usar o MySQL para isso, mas consideraria mudar para qualquer outro banco de dados, dados os ganhos de desempenho.

mysql
  • 2 respostas
  • 76 Views
Martin Hope
Fajela Tajkiya
Asked: 2023-09-23 23:24:18 +0800 CST

Compreendendo o processo de backup completo no SQL Server: o backup de todas as extensões alocadas é feito?

  • 5

Estive lendo uma postagem no blog de Paul Randal sobre o processo de backup do SQL Server, onde ele descreve as principais fases de um backup completo. Um ponto que ele menciona é que durante um backup completo, o processo lê "todas as extensões alocadas, independentemente de todas as 8 páginas da extensão estarem em uso".

Um backup completo tem as seguintes fases principais:

  • Execute um ponto de verificação.
  • Leia todos os dados em uso dos arquivos de dados (tecnicamente, lendo todas as extensões alocadas, independentemente de todas as 8 páginas da extensão estarem em uso).
  • Leia todo o log de transações desde o início da transação não confirmada mais antiga, desde o ponto de verificação inicial até o momento em que a fase 2 terminou. Isso é necessário para que o banco de dados possa ser recuperado para um ponto consistente durante o processo de restauração (veja esta postagem para mais detalhes).
  • (Opcionalmente, teste todas as somas de verificação da página, opcionalmente execute a compactação de backup e, opcionalmente, execute a criptografia de backup).

Essa afirmação me levou a pensar sobre os detalhes do que exatamente é feito o backup. Especificamente, o processo de backup inclui todas as extensões alocadas, mesmo que nem todas as páginas dentro dessas extensões estejam em uso?

Eu apreciaria quaisquer insights ou esclarecimentos sobre este tópico. Agradeço antecipadamente por sua ajuda!

sql-server
  • 1 respostas
  • 28 Views
Martin Hope
Shiro
Asked: 2023-09-23 08:50:56 +0800 CST

MariaDB 11.1.2 para criar uma coluna personalizada para o número da linha

  • 5

Abaixo de dois sql estava funcionando bem com MariaDB 10.5.8 e MySQL 5.7

SET @curRow=0;
select @curRow := @curRow + 1 AS row_number, `users`.`name` from `users`

ou

select ROW_NUMBER() OVER (ORDER BY users.id) AS row_number, `users`.`name` from `users`

Mas quando executo no MariaDB 11.1.2 gera erro: Query 1 ERROR: You have an error in your SQL sintaxe; verifique o manual que corresponde à versão do seu servidor MariaDB para obter a sintaxe correta a ser usada perto de 'row_number, users. namede users'na linha 1

Eu verifiquei com ChatGPT 3.5. Ele me sugere

SELECT row_number FROM (
SELECT @curRow := @curRow + 1 AS row_number, name
        FROM users, (SELECT @curRow := 0) r
) AS subquery_alias

O erro que você está encontrando é porque você não pode usar uma variável definida pelo usuário para gerar números de linha diretamente na cláusula SELECT e depois referenciá-la na mesma cláusula SELECT no MariaDB. Em vez disso, você deve usar uma subconsulta ou uma expressão de tabela comum (CTE) para conseguir isso. Veja como você pode reescrever sua consulta usando uma subconsulta.

Mas isto não está funcionando. Então, o que fazer no MariaDB 11?

mariadb
  • 1 respostas
  • 15 Views
Martin Hope
Ben Holness
Asked: 2023-09-23 02:53:34 +0800 CST

Como posso classificar por “lançamento” no Mysql, onde, por exemplo, 10.10 vem depois de 10.9, com entradas não numéricas antes e depois?

  • 6

Se eu tiver uma tabela conforme https://www.db-fiddle.com/f/arPEdUty3U6AJEQfqYEyRc/1 com uma lista de lançamentos:

INSERT INTO `releases` (`ReleaseID`, `ReleaseNumber`) VALUES
(1, '10.6'),
(2, '10.8'),
(3, '_TBD'),
(4, '10.9'),
(5, 'Future'),
(6, '10.10'),
(7, '10.11');

Como posso classificá-lo para que as coisas que começam com _venham primeiro, depois os números, ordenados como 10.6, 10.8, 10.9, 10.10, 10.11, e depois qualquer outra coisa?

Minha tentativa de conversão atual ( CAST(ReleaseNumber as SIGNED INTEGER)coloca Futuredepois _TBDem vez de no final.

A saída desejada deste exemplo seria

_TBD, 10.6, 10.8, 10.9, 10.10, 10.11,Future

mysql
  • 1 respostas
  • 17 Views
Martin Hope
WhoIsNotActive
Asked: 2023-09-23 00:31:23 +0800 CST

SSRS 2019 não disponível/funcionando

  • 4

Instalei o SSRS 2019 no SQL Server 2019 e depois de configurar tudo no gerenciador de configuração, não consigo ver os serviços para SSRS no gerenciador de configuração do sql server e também quando tentei executar relatórios (vá para a URL dos relatórios), isto é o que eu ganho:

O serviço não está disponível.

O servidor de relatório não está configurado corretamente. Entre em contato com o administrador do sistema para resolver o problema. Administradores do sistema: o servidor de relatório não pode acessar nem usar a chave de criptografia. Talvez seja necessário adicionar o servidor ao grupo de expansão, reimportar o conteúdo criptografado ou excluir todo o conteúdo criptografado e gerar uma nova chave de criptografia.'

Por que isso está acontecendo? O que isso implica? - 'O servidor de relatório não pode acessar ou usar a chave de criptografia. Talvez seja necessário adicionar o servidor ao grupo de expansão, reimportar o conteúdo criptografado ou excluir todo o conteúdo criptografado e gerar uma nova chave de criptografia.'


Executei no Powershell Get-Service -Name SQLServerReportingServicese mostrou:

Status Nome Nome de exibição
Correndo Relatório SQLServer... Serviços de relatórios do SQL Server

Ainda quero descobrir por que não consigo acessar o URL e essa mensagem de erro.

sql-server
  • 1 respostas
  • 61 Views
Martin Hope
variable
Asked: 2023-09-22 22:38:16 +0800 CST

Quais são as etapas posteriores após alterar o mecanismo SQL e as contas do agente?

  • 6

Em uma instalação SQL padrão, a conta do mecanismo é NT Service\MSSQLSERVER e a conta do agente é NT Service\SQLSERVERAGENT

Na segurança SQL, posso ver os dois listados como logins com função sysadmin.

Eles também têm as permissões de segurança necessárias nas várias pastas automaticamente.

Se eu alterar a conta do mecanismo e do agente por meio do gerenciador de configuração para contas locais ou de domínio (como meudomínio\sqlengine, meudomínio\sqlagent), então:

  1. Preciso criar essas contas na segurança SQL e atribuir a função sysadmin a elas?

  2. Existem outras etapas de postagem (como qualquer outra atribuição de permissões - como a seguir: https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/configure-windows-service-accounts-and- permissions?view=sql-server-ver16#Windows - ou isso é aplicado implicitamente por meio da conta virtual?)?

  3. Posso excluir as 2 contas de serviço NT acima dos meus logins do SQL Server?

A razão para perguntar é que - eu sei que nos bastidores o mecanismo SQL faz uso da NT SERVICE\MSSQLSERVERconta sid de serviço, e o agente faz uso de , para as várias permissões de pasta (dados/ log NT SERVICE\SQLSERVERAGENT/etc.) e privilégios e direitos do Windows como Log in as a service,, Replace a process level tokenetc. Mas ele ainda usa essa conta virtual para acessar as pastas/arquivos mesmo depois de alterar a conta de serviço do mecanismo do servidor SQL para uma conta de usuário de domínio?

Quando alterei a conta de serviço do servidor SQL por meio do gerenciador de configuração para uma conta de usuário de domínio, ela não fez alterações automáticas nos dados, na pasta de log ou nas permissões de arquivo. O pop-up de segurança de pasta/arquivo sempre foi exibido MSSQLSERVER(não a conta de usuário do domínio) e o servidor SQL funciona perfeitamente bem.

Isso significa que o mecanismo do servidor SQL usa NT SERVICE\MSSQLSERVER mesmo que a conta de serviço do mecanismo SQL seja alterada para uma conta de usuário de domínio?

sql-server
  • 1 respostas
  • 89 Views
Martin Hope
mbielsa
Asked: 2023-09-22 21:54:33 +0800 CST

Ordenar por problema causado pelo caractere '_'

  • 5

Estou usando o MSSQL Server 2019 e tenho alguns dados como;

| Nome do arquivo |
|----------------|
| DummyData._0 |
| Dados fictícios._1 |
| Dados fictícios._10 |
| Dados fictícios._100 |
| Dados fictícios._101 |
| Dados fictícios._102 |
| Dados fictícios._11 |
| Dados fictícios._2 |
| Dados fictícios._20 |
| DummyData_r1_21|

e estou tentando conseguir;

| Nome do arquivo |
|----------------|
| DummyData._0 |
| Dados fictícios._1 |
| Dados fictícios._2 |
| Dados fictícios._10 |
| Dados fictícios._11 |
| Dados fictícios._20 |
| Dados fictícios._100 |
| Dados fictícios._101 |
| Dados fictícios._102 |
| DummyData_r1_21|

e isso não funcionou para mim;

SELECIONE ID do arquivo, nome do arquivo
DE dbo.demo
ORDENAR POR
CAST(REVERSE(SUBSTRING(REVERSE(Nome do arquivo), CHARINDEX('_', REVERSE(Nome do arquivo)) + 1, CHARINDEX('.', REVERSE(Nome do arquivo)) - CHARINDEX('_', REVERSE(Nome do arquivo)) - 1 )) COMO INT);
sql-server
  • 1 respostas
  • 52 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