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

CB_Ron's questions

Martin Hope
CB_Ron
Asked: 2023-08-10 07:55:45 +0800 CST

É possível adicionar uma dica de consulta a todo um procedimento armazenado no SQL Server 2022?

  • 6

O SQL Server 2022 tem um novo recurso chamado Otimização de Plano Sensível a Parâmetros. Não quero ativá-lo para todo o meu banco de dados, mas tenho quatro procedimentos armazenados que acredito que se beneficiariam com esse recurso. De acordo com este artigo do SQL Server Central, é possível ativá-lo para consultas ou procedimentos armazenados específicos:

Para habilitar a otimização do PSP no nível da consulta, adicione a dica de consulta OPTION (USE HINT('ENABLE_PARAMETER_SENSITIVITY_OPTIMIZATION')) logo antes do ponto e vírgula no final da consulta ou procedimento armazenado. Execute o procedimento armazenado ou consulta. Este procedimento armazenado ou consulta agora tem o recurso habilitado.

No entanto, não está claro como ativá-lo para um SP. Eles significam ponto e vírgula na EXEClinha (tempo de execução) ou no próprio código SP? Já fiz pesquisas no Google mas não encontrei nada que mostrasse um exemplo, o que me leva a crer que na verdade não é possível. Caso contrário, terei que adicioná-lo ao final de cada consulta nos SPs - o que não é uma tarefa impossível (já fiz isso antes), mas o artigo me deixou com alguma esperança de que isso poderia ser realizado com mais facilidade. Como talvez um novo recurso de 2022.

sql-server
  • 1 respostas
  • 54 Views
Martin Hope
CB_Ron
Asked: 2020-07-23 16:01:14 +0800 CST

Instrução UPDATE do SQL Server 2019 SET to function não executa a função novamente para cada linha

  • 1

Aqui está o cenário. Eu tenho um SQL Server local para o qual restaurei os bancos de dados ativos do SQL Server. Para ser compatível com GDPR/CCPA, devo anonimizar as PII nos bancos de dados do servidor local. Eu tenho um script para fazer isso, e tem funcionado muito bem quando o servidor local é 2008 R2 ou 2017. Mas acabei de instalar 2019 e o mesmo script coloca o mesmo valor em todas as linhas da tabela, em vez de um valor diferente para cada linha. É como se a função fosse executada apenas uma vez, então esse valor é usado na UPDATEinstrução. Talvez seja algum tipo de otimização que 2019 está fazendo? Aqui está um trecho do script.

UPDATE Guest SET GuestFirstName=Utility.dbo.RANDWORD() WHERE GuestFirstName IS NOT NULL;

RANDWORDpega uma palavra aleatória de uma tabela contendo aproximadamente 100.000 palavras em inglês.

update sql-server-2019
  • 1 respostas
  • 111 Views
Martin Hope
CB_Ron
Asked: 2020-03-03 16:31:13 +0800 CST

A configuração de Query Optimizer Fixes para ON habilita o Scalar UDF Inlining em um banco de dados com nível de compatibilidade 140?

  • 0

Instância Gerenciada do Banco de Dados SQL do Azure. O nível de compatibilidade atual é definido como 140 para corresponder ao servidor de desenvolvimento e teste do SQL Server 2017 local. Acabei de ler este artigo sobre Scalar UDF Inlining e fiquei curioso se definir Query Optimizer Fixes como ON habilitaria esse recurso? Eu li vários outros artigos sobre o assunto, mas nenhum deles aborda essa questão.

functions azure-sql-managed-instance
  • 1 respostas
  • 109 Views
Martin Hope
CB_Ron
Asked: 2020-01-24 16:19:44 +0800 CST

SSMS 18.4 Erro ao abrir a caixa de diálogo de propriedades do banco de dados Azure SQL DB Managed Instance

  • 0

Eu tenho três bancos de dados em uma instância gerenciada de banco de dados SQL do Azure. Estou usando o SSMS 18.4. Em um banco de dados, posso clicar com o botão direito do mouse, escolher Propriedades e a caixa de diálogo aparece normalmente. Os outros dois bancos de dados me dão o seguinte erro.

insira a descrição da imagem aqui

Passei algumas horas pesquisando no Google sem resultados. Alguém tem alguma ideia?

ssms azure-sql-managed-instance
  • 1 respostas
  • 120 Views
Martin Hope
CB_Ron
Asked: 2019-08-20 08:16:15 +0800 CST

Loop infinito no CURSOR

  • 6

Estou tentando usar um cursor para limpar tabelas temporárias quando elas não forem mais necessárias. Eu tenho uma pequena tabela que tem os nomes das tabelas temporárias junto com um identificador. O cursor está preso em um loop infinito, mas somente se eu executar certas instruções nele. Se eu apenas imprimir os valores do FETCH, funciona perfeitamente. Aqui está o código.

DECLARE @id bigint;
DECLARE @table_name varchar(max);

DECLARE st CURSOR LOCAL FAST_FORWARD FOR 
SELECT ID, TableName FROM SearchTables WHERE CustomerID IS NULL

OPEN st
FETCH NEXT FROM st INTO @id, @table_name
WHILE @@FETCH_STATUS <> -1 
BEGIN   
    IF(OBJECT_ID(@table_name) IS NOT NULL) 
        EXEC('DROP TABLE ' + @table_name);

    UPDATE SearchTables SET Deleted=1 WHERE ID=@id;

    PRINT CAST(@id AS varchar(max)) + ' ' + @table_name;

    FETCH NEXT FROM st INTO @id, @table_name;
END 

CLOSE st
DEALLOCATE st

Se eu comentar essas linhas

    IF(OBJECT_ID(@table_name) IS NOT NULL) 
        EXEC('DROP TABLE ' + @table_name);

    UPDATE SearchTables SET Deleted=1 WHERE ID=@id;

PRINTgera todos os IDs e nomes de tabela. Se eu não comentá-los, tudo o que recebo é a primeira linha repetidamente até cancelar a consulta. Eu também tentei mudar a IFlinha para, EXEC('DROP TABLE IF EXISTS ' + @table_name)mas isso também não funcionou.

t-sql cursors
  • 2 respostas
  • 2058 Views
Martin Hope
CB_Ron
Asked: 2019-07-31 15:22:10 +0800 CST

Faça backup de um banco de dados da Instância Gerenciada de SQL do Azure e restaure para o SQL Server local

  • 6

Tenho três bancos de dados que estou migrando para a Instância Gerenciada de SQL do Azure. Um é um banco de dados de utilitários, apenas uma pequena coleção de funções e procedimentos genéricos. Um deles é o banco de dados OLTP para um aplicativo da web. O terceiro é um arquivo somente leitura do banco de dados OLTP contendo dados históricos para análise e relatórios, bem como tabelas de auditoria. Eu preciso ser capaz de restaurar esses bancos de dados para servidores de teste e desenvolvimento no local. Até agora, não tive sucesso.

Minha primeira tentativa foi usar o backup para o Armazenamento de Blobs do Azure. Mas não importa qual versão do SQL Server eu uso localmente, sempre recebo um erro de que o backup somente cópia é de uma versão mais recente e a restauração não é suportada.

Em seguida, tentei o aplicativo de camada de dados de exportação do SSMS v.18.1. Infelizmente, nunca passa da exportação. Recebo dezenas de erros que lêem External references are not supported when creating a package from this platform. Um dos maiores pontos fortes da instância gerenciada sobre o banco de dados SQL do Azure é a capacidade de fazer consultas entre bancos de dados. Eu tenho várias visualizações e procedimentos que vinculam tabelas nos dois bancos de dados. Além disso, alguns procedimentos no banco de dados OLTP chamam as funções no banco de dados Utility. Como o MI não é o banco de dados SQL do Azure, você pensaria que isso não seria um problema!

Pesquisando no Google, encontrei esta pergunta no Stack Overflow. Então eu tentei a abordagem do Visual Studio proposta como resposta. Embora pareça funcionar, o que significa que cria um arquivo de vários gigabytes na minha máquina local, tentar importar esse arquivo usando o SSMS me dá um erro que diz No data is present in this file.Então tentei a segunda solução possível usando sqlpackage.exe. Mas essa solução também não funciona para mim, pois apenas faz referência à exportação do esquema. E se eu tentar exportar todo o banco de dados /Action:Export, recebo a mesma mensagem de erro que o SSMS fornece.

Eu também examinei esta pergunta dos administradores de banco de dados. Nenhuma ajuda - isso é o que eu tentei originalmente. Se alguém tiver alguma outra opinião, eu agradeceria muito ouvi-la!

restore sql-server-2017
  • 3 respostas
  • 7207 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