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

Round's questions

Martin Hope
Round
Asked: 2020-09-30 03:25:53 +0800 CST

Importar csv diário com vários cabeçalhos disponíveis

  • 0

Recebo diariamente um csv de uma empresa externa capturando feedback para nós.

Inutilmente, os títulos csv variam. Pode haver qualquer combinação de cabeçalhos. Por exemplo:

dia1: rubrica1, rubrica2, rubrica3, rubrica4, rubrica5

dia 2: rubrica 1, rubrica 2, rubrica 4, rubrica 6

dia 3: rubrica 1, rubrica 2, rubrica 7, rubrica 8

dia 4: rubrica 1, rubrica 2, rubrica 3, rubrica 4, rubrica 5

Temos 18 meses (ninguém fez nada com esses dados até agora) de arquivos de backlog e até agora encontrei 22 combinações diferentes...

Eu sei quais serão todos os títulos em potencial para que eu possa ter uma tabela SQL que contenha todas as colunas apropriadas, mas estou lutando para lidar com a variação para importação.

Existe uma maneira de lidar com isso no SSIS? Eu olhei para bcp e openrowset, mas não consigo fazê-lo funcionar.

Como esse arquivo é recebido diariamente, quero um trabalho sql que os importe para minha tabela para relatórios. Só posso criar um pacote SSIS que importará um arquivo simples fixo, mas preciso que seja dinâmico. O pior cenário seria ter mais de 22 pacotes SSIS diferentes e executar um 1 específico para os títulos fornecidos, mas precisaria de uma maneira de ler automaticamente a estrutura do csv para decidir qual pacote usar.

Estou perdido, então alguém tem alguma direção?

SQL 2016 (13.0.5622.0)

Muito Obrigado

sql-server sql-server-2016
  • 3 respostas
  • 216 Views
Martin Hope
Round
Asked: 2020-06-16 06:05:34 +0800 CST

Banco de dados de backup no servidor vinculado

  • 0

Estou tentando fazer backup de um db no ServerA via ServerB.

Eu tenho:

DECLARE @SQL NVARCHAR(100)
SET @SQL = 'BACKUP DATABASE DBname to disk=''\\ServerB\E$\folder\DBname.bak'''
EXECUTE ServerA.master.dbo.sp_executesql @SQL

Eu executo isso no ServerB, mas recebo erro:

Msg 3013, Level 16, State 1, Line 9 BACKUP DATABASE está terminando de forma anormal. Msg 3201, Level 16, State 1, Line 9 Não é possível abrir o dispositivo de backup '\ServerB\E$\folder\DBname.bak'. Erro do sistema operacional 5 (Acesso negado.).

Eu dei controle total NT SERVICE\MSSQLSERVER para a pasta, mas isso não funcionou.

O que estou tentando fazer é possível? O que estou fazendo errado?

EDITAR

Eu também tentei:

EXEC ServerA.master.dbo.sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO

EXEC ServerA.master.dbo.sp_configure 'xp_cmdshell', 1
GO
RECONFIGURE
GO

EXEC ServerA.master.dbo.XP_CMDSHELL 'net use G: \\ServerB\E$\folder /user:user password'
EXEC ServerA.master.dbo.XP_CMDSHELL 'Dir G:'
GO 
 
DECLARE @SQL NVARCHAR(100)
SET @SQL = 'BACKUP DATABASE DBname to disk=''G:/DBname.bak'' WITH INIT, FORMAT, COPY_ONLY'
EXECUTE ServerA.master.dbo.sp_executesql @SQL
GO

EXEC ServerA.master.dbo.XP_CMDSHELL 'net use G: /delete'
GO

EXEC ServerA.master.dbo.sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO

EXEC ServerA.master.dbo.sp_configure 'xp_cmdshell', 0
GO
RECONFIGURE
GO

Ele relata que habilitou o xp_cmdshell etc, mas quando executo a parte de mapeamento, ocorre um erro dizendo que está desativado. Se eu habilitar o xp_cmdshell diretamente no ServerA a parte de mapeamento funciona via ServerB??

sql-server backup
  • 1 respostas
  • 940 Views
Martin Hope
Round
Asked: 2019-08-08 03:28:49 +0800 CST

remover aspas iniciais e finais

  • 2

Eu tenho um campo que pode começar e terminar com aspas. Eu só quero remover as aspas se a string começar e terminar com aspas. Se as aspas existirem dentro da string, desejo mantê-las.

Eu usei REVERSEe outras coisas que funcionam se o campo começar e terminar com aspas, mas se não, ele apenas retorna null.

Como posso garantir que ainda obterei o resultado do campo se ele não começar com aspas?

O que eu tenho:

REVERSE(STUFF(REVERSE(STUFF(fieldname, CHARINDEX('"', fieldname), LEN('"'), '')), CHARINDEX('"', REVERSE(STUFF(fieldname, CHARINDEX('"', fieldname), LEN('"'), '')), 1), 1, ''))
sql-server t-sql
  • 4 respostas
  • 2279 Views
Martin Hope
Round
Asked: 2019-05-14 04:20:12 +0800 CST

Conexão SSIS usada com base no valor passado

  • 1

Eu tenho um pacote SSIS que preenche um depósito de relatórios de um ambiente ao vivo e de teste.

Atualmente, o pacote tem cada etapa duplicada à medida que a conexão de origem muda entre live e test. Esta é uma dor para manter se as mudanças forem necessárias.

Eu sei que posso enviar um valor de variável para o pacote por meio do trabalho do agente.

Eu queria saber se eu poderia cortar o pacote para que as etapas apareçam apenas uma vez. O trabalho do agente pode ter duas etapas que executam o pacote. Por exemplo, o primeiro passo executa o pacote e o conjunto de variáveis ​​é o nome do banco de dados ativo e o segundo passo executa o pacote novamente, mas o conjunto de variáveis ​​é o nome do banco de dados de teste.

Você pode selecionar dinamicamente uma conexão com base em uma variável recebida?

Há um método melhor?

Obrigado

sql-server ssis
  • 2 respostas
  • 100 Views
Martin Hope
Round
Asked: 2019-05-04 05:37:13 +0800 CST

Iniciar trabalho de outra instância do SQL Server

  • 4

Eu tenho um trabalho em um servidor SQL 2008 (servidor A) (eu sei que isso não é o ideal... Esse problema está sendo resolvido). O agente é executado em NT AUTHORITY\NETWORK SERVICE.

Desejo adicionar uma etapa que executa um trabalho que fica em outro servidor SQL 2014 (servidor B).

Eu usaria:

EXEC [Server B].msdb..sp_start_job N'JobName'

Executado do Servidor A manualmente, ele executa o trabalho no Servidor B conforme o esperado.

Se eu adicionar a tarefa a um trabalho no Servidor A, ela falha com a mensagem:

Executado como usuário: NT AUTHORITY\NETWORK SERVICE. A permissão EXECUTE foi negada no objeto 'sp_start_job', banco de dados 'msdb', esquema 'dbo'. [SQLSTATE 42000] (Erro 229). A etapa falhou.

Eu atribuí NT AUTHORITY\NETWORK SERVICE no Servidor B para o 'TargetServerRole' no msdb e, em seguida, concedi a permissão Execute para se referir ao usuário para SP_Start_Job e SP_Stop_Job.

O servidor A tem o servidor B como um servidor vinculado e tentei definir "Login do servidor local para mapeamentos de login do servidor remoto" Login local NT AUTHORITY\NETWORK SERVICE para representar.

O trabalho ainda falha com o mesmo erro.

O que eu preciso fazer?

Obrigado

sql-server sql-server-2008
  • 2 respostas
  • 2125 Views
Martin Hope
Round
Asked: 2019-04-12 03:06:42 +0800 CST

Fragmentação da Tabela

  • 3

Se eu executar o seguinte:

SELECT dbschemas.[name] as 'Schema', 
dbtables.[name] as 'Table', 
dbindexes.[name] as 'Index',
indexstats.alloc_unit_type_desc,
indexstats.avg_fragmentation_in_percent as avg,
indexstats.page_count
FROM sys.dm_db_index_physical_stats (DB_ID('dbname'), NULL, NULL, NULL, NULL) AS indexstats
INNER JOIN sys.tables dbtables on dbtables.[object_id] = indexstats.[object_id]
INNER JOIN sys.schemas dbschemas on dbtables.[schema_id] = dbschemas.[schema_id]
INNER JOIN sys.indexes AS dbindexes ON dbindexes.[object_id] = indexstats.[object_id]
AND indexstats.index_id = dbindexes.index_id
WHERE indexstats.database_id = DB_ID('dbname')
ORDER BY indexstats.avg_fragmentation_in_percent desc

Mostra o nível de fragmentação. Em seguida, executei o script de otimização de índice de Ola Hallengren, que obviamente reduz os índices.

Se eu executar a consulta novamente, ela agora mostra alta fragmentação em tabelas sem índice, por exemplo:

Schema  Table       Index   alloc_unit_type_desc   avg                 page_cont
dbo     tablename   NULL    IN_ROW_DATA            99.4362934362934    8176

Devo me preocupar com isso?

Qualquer coisa que eu possa fazer?

Qualquer coisa que eu deveria estar fazendo?

Estamos enfrentando problemas de desempenho. Estou ciente de que 2008 não é o ideal e isso está sendo abordado.

O arquivo de dados também está sendo exibido como 220 GB, mas o espaço real usado é de 140 GB.

sql-server sql-server-2008
  • 1 respostas
  • 4103 Views
Martin Hope
Round
Asked: 2019-03-21 05:47:29 +0800 CST

Registrando no arquivo

  • 1

Estou usando os scripts de manutenção ola-hallengren. Estou logando na tabela e no arquivo. Eu quero mudar o local dos logs do arquivo. Posso fazer isso? Muito Obrigado

sql-server ola-hallengren
  • 2 respostas
  • 368 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