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

Metaphor's questions

Martin Hope
Metaphor
Asked: 2024-02-29 10:35:37 +0800 CST

A restauração do MSDB falha com erro de versão diferente, mas as versões são as mesmas

  • 3

Tentando restaurar o MSDB para um servidor substituto e recebendo esta mensagem:

Msg 3168, Nível 16, Estado 1, Linha 4 O backup do banco de dados do sistema no dispositivo e:\sqlbackup\2024-02-27_msdb_DEV.bak não pode ser restaurado porque foi criado por uma versão diferente do servidor ( 15.00.4335 ) do que este servidor ( 15.00.4355 ). Msg 3013, Nível 16, Estado 1, Linha 4 RESTORE DATABASE está sendo encerrado de forma anormal.

sql-server
  • 1 respostas
  • 45 Views
Martin Hope
Metaphor
Asked: 2022-03-03 07:22:36 +0800 CST

Não é possível criar uma instância do provedor OLE DB "OraOLEDB.Oracle" para todos, exceto o login de administrador do Windows

  • 0

Eu tenho algumas dezenas de servidores vinculados, MSSQL, Teradata e Oracle. Eles estão no SQL Server 2019. Os servidores Oracle estão usando o cliente OraOLEDB.Oracle 19c. Todos são criados com o mesmo script parametrizado.

Mensagem de erro:

Não é possível criar uma instância do provedor OLE DB "OraOLEDB.Oracle" para o servidor vinculado "XXXXXXX".

Editar: Funciona com o login do Administrador do Windows, mas não com qualquer outro login SA.

O número do erro é 7302, mas não é um problema de registro de DLL

O script foi usado para criar os servidores vinculados no SQL Server 1 e SQL Server 2, no #1 tudo funciona muito bem. Em #2, os servidores MSSQL e Teradata são bons, mas os servidores Oracle funcionam apenas com a conta usada para instalar o Oracle. Eu tentei conceder todos os direitos a Todos na base Oracle e Oracle Home para teste, mas isso não ajudou.

Todos os servidores vinculados são configurados para usar usuário remoto e senha remota para todos os logins. Abaixo está a parte do script que executa sp_addlinkedsrvlogin.

SET @SQL = N'EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=@ServerName,@useself=N''False'',@locallogin=NULL,@rmtuser=@UserName,@rmtpassword=@Password'

EXEC $(TargetServer).master.dbo.sp_executesql 
    @stmt=@SQL
    ,@params = N'@ServerName nvarchar(250), @UserName nvarchar(250), @Password nvarchar(250)'
    ,@ServerName=@ServerName
    ,@UserName=@UserName
    ,@Password=@Password
sql-server oracle
  • 1 respostas
  • 246 Views
Martin Hope
Metaphor
Asked: 2021-06-12 14:16:30 +0800 CST

Como o índice clusterizado é diferente da própria tabela?

  • 1

Se o índice clusterizado do SQL Server for a ordem física da tabela e todas as colunas estiverem incluídas, será a própria tabela? Como o índice clusterizado é armazenado fisicamente?

Eu vi as perguntas e respostas O que é um índice agrupado? mas minha pergunta é sobre a organização física destes, não sobre sua função.

sql-server clustered-index
  • 2 respostas
  • 152 Views
Martin Hope
Metaphor
Asked: 2020-12-05 12:29:07 +0800 CST

DELETE e INSERT usando OPENQUERY para Oracle exigem um longo atraso entre eles

  • 0

Estou fazendo um DELETE seguido de um INSERT em um OPENQUERY para Oracle. Eu tentei um DELETE direto com um WHERE, bem como filtrar com um JOIN. INSERT é apenas um INSERT OPENQUERY/SELECT. Eu também tentei um UPDATE filtrado seguido por INSERT em novas linhas. Como não posso fazer um MERGE em OPENQUERY, devo fazer duas instruções consecutivas.

DELETE, UPDATE e INSERT funcionam como esperado, mas apenas se eu os executar com 10 minutos de intervalo. Individualmente, eles completam em menos de um segundo. Quando executados consecutivamente, usando sp_executesql ou SSMS, seja executando-os individualmente ou em um script, eles levam exatamente 10 minutos .

Falei com o Oracle DBA, não soa nenhum sino para ele.

As consultas em si, por mais que eu queira compartilhá-las para ajudá-lo a me ajudar, não sou livre para fazê-lo. Por favor, aceite minha palavra para o fato de que ambos funcionam como esperado em menos de um segundo quando executados com 10 minutos de intervalo e levam 10 minutos quando executados juntos.

sql-server oracle
  • 1 respostas
  • 333 Views
Martin Hope
Metaphor
Asked: 2020-10-07 04:53:29 +0800 CST

sp_update_schedule diz que @schedule_id não existe

  • 0

Eu escrevi um script que lê agendas de trabalho msdb.dbo.sysschedulese executa sp_update_schedulepara alterar o active_start_timepara um determinado subconjunto de trabalhos. Em cada caso, sp_update_schedulefalha com a mensagem "O @schedule_id('xxx') especificado não existe". (ID da mensagem 14262, gravidade 16)

O schedule idin sysschedulesnão é o que está procurando? O que estou perdendo aqui?

sql-server sql-server-agent
  • 1 respostas
  • 660 Views
Martin Hope
Metaphor
Asked: 2020-10-03 03:18:45 +0800 CST

Mapeamento de logins para servidores vinculados para migração

  • 1

Minha equipe está migrando um servidor SQL 2012 com uma extensa lista de servidores vinculados para o SQL 2016. Minha tarefa é criar scripts de criação de servidores vinculados no novo servidor.

Parece que tenho todas as informações necessárias para criar o script em sys.servers, mas estou tendo problemas para encontrar onde os logons locais são mapeados para os servidores vinculados.

sql-server linked-server
  • 1 respostas
  • 170 Views
Martin Hope
Metaphor
Asked: 2017-04-14 09:44:24 +0800 CST

As mensagens na saída do script SQLCMD não estão em ordem

  • 2

Estou executando um arquivo em lotes que inicia um script SQLCMD que cria um trabalho de agente do TFS Release Manager.

O script atribui parâmetros SQLCMD a variáveis, lista as variáveis ​​usando selects e exibe alguns comentários na execução do script em todo o script.

Parece algo assim:

SET NOCOUNT ON

DECLARE 
    @Var1 NVARCHAR(100) = '$(Var1)'
    ,@Var2 NVARCHAR(100) = '$(Var2)'

SELECT '@Var1' AS VarName,@Var1 AS VarValue
UNION ALL
SELECT '@Var2',@Var2

PRINT 'Do the first thing'
--delete sql agent job

PRINT 'Do the next thing'
--create sql agent job

PRINT 'Do the last thing'
--add steps

De vez em quando, na saída, vejo as mensagens PRINT no meio da saída SELECT.

Existe uma maneira de garantir a ordem dessas mensagens?

t-sql sqlcmd
  • 1 respostas
  • 334 Views
Martin Hope
Metaphor
Asked: 2017-04-06 05:03:46 +0800 CST

Suprimindo avisos não ANSI no script SQLCMD

  • 3

Estou trabalhando com um script que cria um trabalho do SQL Agent no SQL Server 2014. As últimas 2 etapas do trabalho são "Concluído com sucesso" e "Concluído com falha". O script sempre avisa sobre etapas inexistentes.

Aviso: etapa inexistente referenciada por @on_fail_step_id. Aviso: etapa inexistente referenciada por @on_success_step_id. Aviso: etapa inexistente referenciada por @on_fail_step_id.

DESLIGAR ANSI_WARNINGS

não tem efeito sobre eles, pois, imagino, não são avisos ANSI.

Existe uma maneira de suprimi-los?

Guia Avançado para Concluir com Sucesso Guia Avançado para Concluir com Falha

sql-server t-sql
  • 1 respostas
  • 1129 Views
Martin Hope
Metaphor
Asked: 2016-09-16 08:16:31 +0800 CST

Resolvendo um problema de desempenho com junção BETWEEN - spool ansioso

  • 2

Esta consulta (anônima) leva cerca de 2 minutos para ser executada.

SELECT  
    ly.Col1 
    ,sr.Col2
    ,sr.Col3
    ,sr.Col4
INTO TempDb..TempLYT
FROM Tempdb..T1 ly
JOIN TempDb..T2 sr on sr.[DateTimeCol] BETWEEN ly.DateTimeStart and ly.DateTimeEnd
WHERE sr.Col5 = 1 OR sr.Col5 = 2

Plano de consulta

Existem algumas alternativas que ajudariam com esta consulta?

Depois de aplicar o índice sugerido por Paul White, o plano de consulta fica assim:

Plano de consulta otimizado

sql-server performance
  • 1 respostas
  • 1059 Views
Martin Hope
Metaphor
Asked: 2016-09-09 04:43:09 +0800 CST

Obtenha programaticamente os parâmetros exigidos pelo DACPAC

  • 2

Existe uma maneira de descobrir quais parâmetros um DACPAC requer? Eu sei que eles estão listados em uma mensagem de erro se você tentar publicar sem parâmetros, mas isso leva muito tempo - 10 a 15 segundos. Além disso, um banco de dados precisa ser direcionado para obter a mensagem de erro com a lista.

sql-server sql-server-2014
  • 1 respostas
  • 351 Views
Martin Hope
Metaphor
Asked: 2016-08-20 04:44:38 +0800 CST

Consultar se o servidor está participando de um grupo de disponibilidade

  • 0

Existe uma maneira de consultar se um servidor está participando de um grupo de disponibilidade?

sql-server sql-server-2014
  • 2 respostas
  • 1394 Views
Martin Hope
Metaphor
Asked: 2016-08-06 08:13:39 +0800 CST

As propriedades da tabela SSMS mostram uma exceção para o espaço do índice em todas as tabelas

  • 2

Ao obter as propriedades da tabela de um servidor SQL 2014 (12.0.4449) usando o SSMS 2014 (12.0.4100) ou 2016 (13.0.15600) em qualquer banco de dados ou tabela, recebo o seguinte texto para a propriedade "Espaço de índice" na guia Armazenamento :

Ocorreu uma exceção durante a execução de uma instrução ou lote Transact-SQL.

Este é o erro:

Acessador de propriedade 'IndexSpace

sql-server sql-server-2014
  • 2 respostas
  • 2311 Views
Martin Hope
Metaphor
Asked: 2016-04-21 08:11:15 +0800 CST

Como o SSMS obtém uma lista de arquivos em um backup?

  • 4

Ao restaurar um banco de dados com vários arquivos, o SSMS oferece a opção de restaurar como outros caminhos e nomes de arquivo. Como ele recupera a lista de arquivos do backup? Posso fazer isso em um script SQL? C#? PS?

sql-server sql-server-2014
  • 1 respostas
  • 217 Views
Martin Hope
Metaphor
Asked: 2015-11-19 10:42:46 +0800 CST

INFORMAÇÃO_SCHEMA.VIEW_TABLE_USAGE mostra apenas tabelas do mesmo catálogo

  • 2

Estou trabalhando com um banco de dados que possui muitas exibições entre bancos de dados. Enquanto INFORMAÇÕES_SCHEMA.VIEWS lista todas essas exibições, INFORMAÇÕES_SCHEMA.VIEW_TABLE_USAGE e INFORMAÇÕES_SCHEMA.VIEW_COLUMN_USAGE não.

Todas as exibições em questão estão neste formato:

CREATE VIEW [dbo].[Invoice]
AS SELECT * FROM [otherdb].[dbo].[Invoice]

A consulta a seguir retorna 0 linhas:

SELECT
    VIEW_CATALOG
    ,VIEW_SCHEMA
    ,VIEW_NAME
FROM INFORMATION_SCHEMA.VIEW_TABLE_USAGE
WHERE TABLE_CATALOG <> VIEW_CATALOG

Deixando a adequação de SELECT * para outra discussão, por que as referências de banco de dados externas não estão nas exibições INFORMATION_SCHEMA e há alguma maneira de obtê-las?

sql-server sql-server-2014
  • 1 respostas
  • 3366 Views
Martin Hope
Metaphor
Asked: 2015-11-10 10:11:10 +0800 CST

Atribua a função dbo ao login sem criar um novo usuário no banco de dados

  • 1

Gostaria de atribuir direitos dbo em um banco de dados existente a um login existente sem criar um novo usuário no banco de dados. Eu gostaria que o login usasse o usuário dbo, como faz um membro da função de servidor sa.

Tudo o que encontrei envolve a criação de um novo usuário db.

Obrigado!

sql-server sql-server-2014
  • 1 respostas
  • 631 Views
Martin Hope
Metaphor
Asked: 2015-10-09 04:24:01 +0800 CST

Existem problemas com o uso de SELECT * em uma definição de exibição?

  • 6

Estou criando várias exibições de proxy para exibições em um banco de dados separado. Para evitar definir a exibição em dois lugares, quero usar SELECT * para criar a exibição proxy.

Procurei motivos para não fazer isso e não encontrei. Alguém tem uma opinião sobre o uso de SELECT * para uma definição de exibição?

sql-server sql-server-2014
  • 1 respostas
  • 6042 Views
Martin Hope
Metaphor
Asked: 2015-05-14 10:48:13 +0800 CST

Encontrar todas as uniões necessárias para ingressar programaticamente em uma tabela

  • 10

Dada uma SourceTable e uma TargetTable, gostaria de criar programaticamente uma string com todas as junções necessárias.

Resumindo, estou tentando encontrar uma maneira de criar uma string como esta:

FROM SourceTable t
JOIN IntermediateTable t1 on t1.keycolumn = t.keycolumn
JOIN TargetTable t2 on t2.keycolumn = t1.keycolumn

Eu tenho uma consulta que retorna todas as chaves estrangeiras para uma determinada tabela, mas estou enfrentando limitações ao tentar executar tudo isso recursivamente para encontrar o caminho de junção ideal e criar a string.

SELECT 
    p.name AS ParentTable
    ,pc.name AS ParentColumn
    ,r.name AS ChildTable
    ,rc.name AS ChildColumn
FROM sys.foreign_key_columns fk
JOIN sys.columns pc ON pc.object_id = fk.parent_object_id AND pc.column_id = fk.parent_column_id 
JOIN sys.columns rc ON rc.object_id = fk.referenced_object_id AND rc.column_id = fk.referenced_column_id
JOIN sys.tables p ON p.object_id = fk.parent_object_id
JOIN sys.tables r ON r.object_id = fk.referenced_object_id
WHERE fk.parent_object_id = OBJECT_ID('aTable')
ORDER BY ChildTable, fk.referenced_column_id

Tenho certeza de que isso já foi feito antes, mas não consigo encontrar um exemplo.

sql-server sql-server-2014
  • 2 respostas
  • 1768 Views
Martin Hope
Metaphor
Asked: 2015-02-25 05:17:10 +0800 CST

Armazene propriedades estendidas e aplique a outra cópia do banco de dados

  • 2

Estou usando o SQL Doc para documentar uma cópia de desenvolvimento de um banco de dados. SQL Doc usa propriedades estendidas para armazenar valores inseridos pelo usuário. Em algum momento, gostaria de copiar essas propriedades estendidas para o banco de dados de produção. Qual é a melhor maneira de fazer isso?

sql-server sql-server-2014
  • 2 respostas
  • 1309 Views
Martin Hope
Metaphor
Asked: 2015-02-24 11:54:38 +0800 CST

Transação com várias chamadas SQLCMD em um arquivo em lote

  • 7

Existe uma boa maneira de fazer algo como o seguinte?

SQLCMD -S %SERVER% -E -Q "BEGIN TRANSACTION"
FOR %%f in (script1 script2 script3) do (
    SET CURRENT_SCRIPT=%%f
    SQLCMD -S Localhost -E -b -V 1 -i %%f.sql -o %%f.log
    IF !ERRORLEVEL! NEQ 0 GOTO ERROR
    SET CURRENT_SCRIPT=
)
SQLCMD -S %SERVER% -E -Q "COMMIT TRANSACTION"
sql-server transaction
  • 1 respostas
  • 6482 Views
Martin Hope
Metaphor
Asked: 2014-11-27 09:19:51 +0800 CST

Obtendo dados novos e atualizados com uma coluna de arquivo

  • 2

Estou tentando otimizar um pacote SSIS que recupera dados de uma tabela de transações muito grande que obtém milhões de novos registros diariamente. Os dados estão sendo coletados de várias centenas de servidores de campo nos quais o SQL Server 2008 Standard Edition está instalado. CDC, portanto, não pode ser usado porque é um recurso Enterprise. O plano é este:

  1. Coluna de arquivo, smallint - 0=novo (restrição padrão), 1=arquivado, 2=atualizado (acionador)
  2. Restrição padrão Arquivo=0
  3. Arquivo do acionador de atualização=2
  4. Índice no arquivo, carimbo de data/hora

O pacote SSIS irá obter todos os registros onde Archive=0, inseri-los no destino, obter todos os registros onde Archive=2 e atualizá-los no destino.

O que preciso de ajuda é a configuração da coluna Arquivo como 1 após o procedimento do SSIS terminar de gravar linhas novas ou atualizadas. Qual seria a maneira mais eficiente de definir todas as linhas processadas sem tocar em nenhuma linha que possa ter sido inserida ou atualizada após a seleção inicial?

sql-server trigger
  • 4 respostas
  • 1496 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