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

Petter Brodin's questions

Martin Hope
Petter Brodin
Asked: 2019-11-14 02:19:53 +0800 CST

Obtendo todas as variáveis ​​não declaradas da consulta

  • 3

Imagine que você tente executar a seguinte consulta:

SELECT *
FROM dbo.Customers c
WHERE id = @id
    AND dateTimeCreated = @date

Você receberá uma mensagem de erro ao longo das linhas deMust declare the scalar variable "@id".

Pelo que entendi, isso acontece durante a análise inicial da consulta, antes que qualquer código seja executado.

É possível fazer com que o SQL Server relate todas as variáveis ​​ausentes de uma só vez ou é assim que o analisador de consultas funciona?

sql-server error-handling
  • 1 respostas
  • 176 Views
Martin Hope
Petter Brodin
Asked: 2017-06-09 04:02:41 +0800 CST

STRING_SPLIT com um separador de vários caracteres?

  • 12

O SQL Server 2016 introduziu o STRING_SPLIT, que é muito rápido e um excelente substituto para qualquer implementação caseira que as pessoas fariam antes de 2016.

Infelizmente, STRING_SPLIT oferece suporte apenas a um separador de caractere único, o que nem sempre é suficiente. Alguém conhece uma boa implementação que permita usar vários caracteres no separador?

sql-server t-sql
  • 1 respostas
  • 17965 Views
Martin Hope
Petter Brodin
Asked: 2017-01-14 03:46:31 +0800 CST

O script falha ao executar como trabalho do SQL Server Agent, conclui com êxito quando executado do SSMS

  • 4

Tenho dois scripts T-SQL programados para serem executados uma vez por dia. Ambos fazem a limpeza de alguns dados antigos de tabelas diferentes. Ambos os scripts são executados como o mesmo usuário, no mesmo banco de dados.

O script A será executado com êxito no SQL Server Management Studio e quando iniciado como um trabalho, mas o Script B será executado com êxito apenas no SQL Server Management Studio, mesmo quando conectado como o mesmo usuário configurado para executar o script no SQL Server Agente.

O script B falha com o seguinte erro:

Executado como usuário [nome de usuário].
DELETE falhou porque as seguintes opções SET têm configurações incorretas: 'QUOTED_IDENTIFIER'.

Verifique se as opções SET estão corretas para uso com exibições indexadas e/ou índices em colunas computadas e/ou índices filtrados e/ou notificações de consulta e/ou métodos de tipo de dados XML e/ou operações de índice espacial.

[SQLSTATE 42000] (Erro 1934). A etapa falhou.

Eu tenho um índice filtrado em uma das tabelas que estou tentando limpar, mas por que ele funciona por meio do SSMS?

sql-server sql-server-2014
  • 1 respostas
  • 1598 Views
Martin Hope
Petter Brodin
Asked: 2014-01-11 03:14:54 +0800 CST

Instrução ALTER DATABASE não permitida na transação de várias instruções

  • 14

Baixei o exemplo na memória baseado em AdventureWorks aqui e segui todas as etapas descritas no documento que o acompanha. No entanto, quando tento executar o script no SQL Server Management Studio, recebo a mensagem de erro:

Instrução ALTER DATABASE não permitida na transação de várias instruções

O erro aponta para a linha 9, que é:

IF NOT EXISTS (SELECT * FROM sys.data_spaces WHERE type='FX')
    ALTER DATABASE CURRENT ADD FILEGROUP [AdventureWorks2012_mod] 
    CONTAINS MEMORY_OPTIMIZED_DATA
GO

Como esta é (mais ou menos) documentação oficial da Microsoft, estou assumindo que é algo que estou fazendo errado, mas não consigo descobrir o que é.

sql-server sql-server-2014
  • 3 respostas
  • 29015 Views
Martin Hope
Petter Brodin
Asked: 2012-10-23 00:15:12 +0800 CST

Desativando a redução automática em todos os bancos de dados do SQL Server. Por que isso não funciona?

  • 8

Achei que poderia usar sp_MSforeachdb para resolver esse problema, mas recebo uma mensagem de erro.

sp_MSforeachdb '
BEGIN
USE [?]
DECLARE @dbid INT
SET @dbid = DB_ID()
IF(@dbid > 4)
BEGIN
    --PRINT ''[?]'' + CONVERT(VARCHAR, @dbid)
    --ALTER DATABASE [?] SET AUTO_SHRINK OFF
END
END;
'

Se eu executar a consulta acima com a linha PRINT sem comentários, obterei uma lista de todos os bancos de dados, exceto os bancos de dados do sistema. No entanto, quando descomento a linha ALTER DATABASE, recebo estas duas mensagens de erro:

Msg 5058, Nível 16, Estado 2, Linha 9
A opção 'AUTO_SHRINK' não pode ser definida no banco de dados 'mestre'.
Msg 5058, Nível 16, Estado 1, Linha 9
A opção 'AUTO_SHRINK' não pode ser definida no banco de dados 'tempdb'.

Isso parece interromper a operação em algum ponto, de modo que apenas alguns dos bancos de dados sejam desabilitados.

Alguma ideia de como posso desabilitar a redução automática em todos os bancos de dados? Pergunta bônus: por que minha abordagem não funciona?

sql-server sql-server-2008
  • 2 respostas
  • 7409 Views
Martin Hope
Petter Brodin
Asked: 2012-10-10 00:51:57 +0800 CST

Tamanho do log virtual do SQL Server

  • 8

Sou um DBA acidental, sendo um desenvolvedor que herdou alguns servidores de banco de dados (2005 e 2008) de alguém que sabia pouco sobre administração de banco de dados e aparentemente tinha ainda menos interesse em aprender mais sobre o assunto.

Estou aprendendo à medida que trabalho e, no momento, estou tentando descobrir os arquivos de log de transações.

Todos os nossos bancos de dados foram configurados com o modelo de recuperação simples e autoshrink. Entendo que usar o autoshrink geralmente é uma ideia horrível, mas entendo que isso foi feito para impedir que os logs de transações fiquem fora de controle. (O autoshrink realmente encolhe o(s) arquivo(s) de log ou apenas o banco de dados?)

Eu encontrei isso sobre o SQL Server 2012 e queria saber se é verdade sobre 2005 e/ou 2008 e exatamente o que significa: "Quando um banco de dados usa o modelo de recuperação simples, o Mecanismo de Banco de Dados trunca o log de transações após um ponto de verificação. [. ..] O Mecanismo de Banco de Dados aciona um ponto de verificação automático no modelo de recuperação simples quando o log virtual fica 70% cheio." Onde o tamanho do log virtual é especificado?

Quero desabilitar a redução automática em todos os bancos de dados, mas antes de fazer isso, preciso saber que os arquivos de log não ficarão fora de controle rapidamente.

Qualquer ajuda seria muito apreciada.

sql-server transaction-log
  • 3 respostas
  • 4359 Views
Martin Hope
Petter Brodin
Asked: 2012-06-07 02:17:17 +0800 CST

Converter datetime armazenado como char no formato YYYMMDDHHmmSS para datetime

  • 2

Estou trabalhando com uma tabela onde a data e hora de um evento são armazenadas como um char no formato AAAMMDDHHmmSS ou '20120606122012'. Preciso comparar isso com o registro de data e hora atual para ver se já se passaram mais de 20 minutos desde que o evento aconteceu, mas isso parece ser mais difícil do que eu esperava.

É possível fazer isso, ou se não: existe uma abordagem diferente que funcione?

sql-server t-sql
  • 2 respostas
  • 2518 Views
Martin Hope
Petter Brodin
Asked: 2012-06-06 02:34:22 +0800 CST

Usando o banco de dados correto ao chamar um procedimento armazenado do sistema no SQL Server 2008

  • 6

Acho que há algo que estou perdendo quando se trata de qual banco de dados está sendo usado ao executar um procedimento armazenado de sistema personalizado. Eu tenho o seguinte em meu procedimento armazenado (editado para brevidade):

ALTER PROCEDURE sp_mysp
AS
IF (EXISTS (
    SELECT *
    FROM INFORMATION_SCHEMA.TABLES
    WHERE TABLE_NAME = 'mytable'))
BEGIN
    --Do stuff to the table
END
ELSE
BEGIN
    PRINT 'Table mytable does not exist'
END

O problema é que quando eu chamo o procedimento de mydb, a tabela Master é usada para a verificação inicial, ao invés do banco de dados atual. Se eu escrever mydb.INFORMATION_SCHEMA.TABLES funcionará, mas isso não é realmente uma solução, pois está derrotando todo o objetivo de manter isso como um único SP em vez de um SP para cada banco de dados.

Alguma ideia? Tentei passar o nome do banco de dados como parâmetro e iniciar o SP com 'use @db_name', mas aparentemente os procedimentos armazenados não permitem instruções de uso.

Agradecemos antecipadamente por toda a ajuda.

sql-server stored-procedures
  • 2 respostas
  • 6415 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