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
Alex
Asked: 2014-10-25 01:35:06 +0800 CST

Transações dentro de uma transação

  • 23

Que comportamento o PostgreSQL exibiria se, por exemplo, o script abaixo fosse chamado

BEGIN;
SELECT * FROM foo;
INSERT INTO foo(name) VALUES ('bar');
BEGIN; <- The point of interest
END;

O PostgreSQL descartaria o segundo BEGINou um commit seria decidido implicitamente e então executaria o BEGIN ENDbloco no final como uma transação separada?

postgresql postgresql-9.3
  • 4 respostas
  • 28598 Views
Martin Hope
nojetlag
Asked: 2014-09-13 00:22:53 +0800 CST

Verifique o progresso da reorganização/reconstrução do índice de alteração

  • 23

Como posso verificar o progresso/status quando submeto uma reorganização/reconstrução de índice alter?

sql-server sql-server-2012
  • 3 respostas
  • 62724 Views
Martin Hope
Uwe Keim
Asked: 2014-07-21 23:31:38 +0800 CST

Onde está o SQLCMD.EXE no SQL Server 2014 Express?

  • 23

Usando "SQLCMD.EXE" para fazer backup de meus bancos de dados SQL Server Express por anos, acabei de descobrir que depois de instalar a versão 2014 , não encontrei mais SQLCMD.EXE.

Nas versões anteriores estava localizado em

C:\Arquivos de Programas\Microsoft SQL Server\110\Tools\Binn\SQLCMD.EXE

Mas na minha instalação de 2014, nenhum SQLCMD.EXE existe em

C:\Arquivos de Programas\Microsoft SQL Server\120\Tools\Binn

Minha pergunta:

Alguma chance de obter SQLCMD.EXE no SQL Server Express 2014?

sql-server sql-server-express
  • 1 respostas
  • 65269 Views
Martin Hope
Yugo Amaryl
Asked: 2014-04-10 07:53:29 +0800 CST

Inserir com OUTPUT correlacionado à tabela de subconsulta

  • 23

Estou modificando a estrutura de um banco de dados. O conteúdo de várias colunas da tabela FinancialInstitution deve ser transferido para a tabela Person . FinancialInstitution está vinculado a Person com uma chave estrangeira. Cada Instituição Financeira precisa do Id de sua Pessoa correspondente. Assim, para cada nova linha inserida em Person, o id desta nova linha (IDENTITY) deve ser copiado de volta para a linha correspondente de FinancialInstitution.

A maneira óbvia de fazer isso é um código T-SQL iterativo. Mas estou interessado em saber se é possível fazer isso apenas com operações baseadas em conjunto.

Imaginei que o nível interno de tal solicitação seria algo como:

INSERT INTO Person (Street1, Number1, City1, State1, PostCode1, CountryId1, WorkDirectPhone1, Fax1, Email1)
OUTPUT inserted.Id, FinancialInstitution.Id
SELECT Id, Street, Number, City, [State], PostCode, CountryId, PhoneNumber, Fax, Email
FROM FinancialInstitution;

Infelizmente, parece que OUTPUT não pode ser correlacionado dessa forma...

sql-server insert
  • 1 respostas
  • 17517 Views
Martin Hope
Matthew Haworth
Asked: 2014-03-31 11:56:20 +0800 CST

Banco de dados MySQL congelando após 'uso'

  • 23

Recentemente, cometi um erro bastante estúpido e corrompi minha instalação do Ubuntu. Para resolvê-lo, inicializei com um live cd e copiei os arquivos do banco de dados. No entanto, agora eu copiei as pastas da instalação antiga para a nova, sempre que digito "use database_name" ele apenas congela:

mysql> use my_database_name;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

E depois congela sem dar o terminal.

mysql backup
  • 3 respostas
  • 31714 Views
Martin Hope
Andrew Savinykh
Asked: 2013-11-11 15:59:19 +0800 CST

Existe uma maneira de gerar o script de criação de tabela em TSQL?

  • 23

Existe uma maneira de gerar um script de criação a partir de uma tabela existente puramente em T-SQL (ou seja, sem usar o SMO, pois o T-SQL não tem acesso ao SMO). Digamos que um procedimento armazenado que recebe um nome de tabela e retorna uma string que contém o script de criação para a tabela fornecida?

Agora deixe-me descrever a situação que estou enfrentando, pois pode haver uma maneira diferente de abordar isso. Eu tenho uma instância com várias dezenas de bancos de dados. Todos esses bancos de dados têm o mesmo esquema, todas as mesmas tabelas, índice e assim por diante. Eles foram criados como parte de uma instalação de software de terceiros. Eu preciso ter uma maneira de trabalhar com eles para que eu possa agregar dados deles de maneira ad-hoc. Boas pessoas do dba.se já me ajudaram aqui Como criar uma trigger em um banco de dados diferente?

Atualmente preciso encontrar uma maneira de fazer uma seleção de uma tabela em todos os bancos de dados. Gravei todos os nomes de banco de dados em uma tabela chamada Databaseese escrevi o seguinte script para executar uma instrução select em todos eles:

IF OBJECT_ID('tempdb..#tmp') IS NOT NULL
DROP TABLE #tmp

select * into #tmp from Database1.dbo.Table1 where 1=0
DECLARE @statement nvarchar(max) = 
  N'insert into #tmp select * from Table1 where Column1=0 and Cloumn2 =1'

DECLARE @LastDatabaseID INT
SET @LastDatabaseID = 0

DECLARE @DatabaseNameToHandle varchar(60)
DECLARE @DatabaseIDToHandle int

SELECT TOP 1 @DatabaseNameToHandle = Name,
@DatabaseIDToHandle = Database_Ref_No
FROM Databasees
WHERE Database_Ref_No > @LastDatabaseID
ORDER BY Database_Ref_No

WHILE @DatabaseIDToHandle IS NOT NULL
BEGIN

  DECLARE @sql NVARCHAR(MAX) = QUOTENAME(@DatabaseNameToHandle) + '.dbo.sp_executesql'
  EXEC @sql @statement

  SET @LastDatabaseID = @DatabaseIDToHandle
  SET @DatabaseIDToHandle = NULL

  SELECT TOP 1 @DatabaseNameToHandle = Name,
  @DatabaseIDToHandle = Database_Ref_No
  FROM Databasees
  WHERE Database_Ref_No > @LastDatabaseID
  ORDER BY Database_Ref_No
END

select * from #tmp
DROP TABLE #tmp

No entanto, o script acima falha com a seguinte mensagem:

Um valor explícito para a coluna de identidade na tabela '#tmp' só pode ser especificado quando uma lista de colunas for usada e IDENTITY_INSERT estiver ON.

Adicionando isso:

SET IDENTITY_INSERT #tmp ON

não ajuda, pois não consigo especificar a lista de colunas e mantê-la genérica.

No SQL, não há como desativar a identidade de uma determinada tabela. Você só pode soltar uma coluna e adicionar uma coluna, o que obviamente altera a ordem das colunas. E se a ordem das colunas mudar, você, novamente, precisa especificar a lista de colunas, que seria diferente dependendo da tabela consultada.

Então, eu estava pensando se eu pudesse obter o script de criação de tabela no meu código T-SQL, eu poderia manipulá-lo com expressões de manipulação de string para remover a coluna de identidade e também adicionar uma coluna para o nome do banco de dados ao conjunto de resultados.

Alguém pode pensar em uma maneira relativamente fácil de alcançar o que eu quero?

sql-server sql-server-2012
  • 4 respostas
  • 86246 Views
Martin Hope
Arian
Asked: 2013-07-04 03:01:04 +0800 CST

O que são medidas e dimensões em cubos

  • 23

Sou muito novo no Microsoft Sql Server Business Intelligence e Analysis Service(mas estou programando há anos com SQL Server). Alguém pode descrever Medidas e Dimensões em Cubos em palavras simples (se possível com imagens)?

obrigado

sql-server ssas
  • 2 respostas
  • 40939 Views
Martin Hope
Hannah Vernon
Asked: 2013-04-05 07:59:01 +0800 CST

Como funciona essa sintaxe? {fn CurDate()} ou {fn Now()} etc

  • 23

Recentemente, examinei alguns procedimentos armazenados bastante antigos que foram escritos para o SQL Server 2005 e notei algo que não entendo. Parece ser algum tipo de chamada de função.

Uma amostra:

SELECT o.name, o.type_desc, o.create_date
FROM sys.objects o
WHERE o.create_date < {fn Now()} -1;

Isso exibirá todas as linhas anteriores sys.objectsa create_date24 horas atrás.

Se eu exibir o plano de execução para esta consulta, vejo que {fn Now()}foi substituído getdate()pelo Mecanismo de Banco de Dados:

SELECT [o].[name],[o].[type_desc],[o].[create_date] 
FROM [sys].[objects] [o] 
WHERE [o].[create_date]<(getdate()-@1)

Claramente, usar {fn Now()}é muito mais obtuso do que GetDate(). Eu, pelo menos, evitarei essa sintaxe como uma praga, uma vez que não está documentada.

sql-server functions
  • 1 respostas
  • 8386 Views
Martin Hope
Juan Carlos Coto
Asked: 2013-03-14 14:15:01 +0800 CST

Como usar melhor o pool de conexões no pool de nível de transação SQLAlchemy para PgBouncer?

  • 23

Usando SQLAlchemy para consultar um banco de dados PostgreSQL atrás de PgBouncer, usando pooling em nível de transação.

Qual é o melhor padrão a ser usado para esse tipo de configuração? Devo ter um mecanismo por processo, usando um ConnectionPool, ou devo criar um mecanismo por solicitação e usar NullPoolpara cada um deles? Existe um padrão completamente diferente que eu deveria usar?

Muito obrigado! Deixe-me saber se mais informações são necessárias e atualizarei o mais rápido possível.

postgresql python
  • 2 respostas
  • 17555 Views
Martin Hope
Prashanth Tilleti
Asked: 2013-03-01 12:53:08 +0800 CST

Encontre todas as consultas executadas recentemente em um banco de dados

  • 23

[Sou um programador T-SQL de nível iniciante]
[..e espero estar no site de troca de pilha certo]

Gostaria de obter uma lista de todas as consultas que executei (no mínimo, aquelas que executei hoje desde a manhã). Preciso fazer um relatório sobre os tempos de execução das consultas.

A pesquisa on-line não me rendeu muitas informações úteis. A única consulta que encontrei online que parecia bem próxima é

SELECT
    deqs.last_execution_time AS [Time], 
    dest.TEXT AS [Query]
 FROM 
    sys.dm_exec_query_stats AS deqs
    CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest
ORDER BY 
    deqs.last_execution_time DESC

Esta consulta retornou alguns resultados estranhos (a maioria dos quais eram um monte de sprocs). Além disso, todos esses resultados mostram consultas executadas desde a tarde de hoje (preciso de consultas da manhã).

Não consegui encontrar nada nas perguntas anteriores (se uma pergunta semelhante já foi feita, por favor, indique-me).

Eu vi algumas sugestões sobre o SQL Profiler, mas acho que o profiler me ajudaria apenas se eu já tivesse iniciado o rastreamento (corrija-me se estiver errado).

Alguém pode me sugerir como devo proceder para obter uma lista de todas as consultas que foram executadas no banco de dados desde a manhã (incluindo os tempos de execução das consultas).

[Seria útil (não um requisito) se eu também pudesse de alguma forma obter o nome de usuário do usuário que executou a consulta]

sql-server sql-server-2008-r2
  • 1 respostas
  • 139903 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