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

Bob Klimes's questions

Martin Hope
Bob Klimes
Asked: 2018-01-10 11:37:06 +0800 CST

Dividir duas strings delimitadas na mesma ordem sem função

  • 1

Estou tentando dividir duas colunas com strings delimitadas em linhas. As posições dos valores em cada string estão relacionadas, então estou tentando dividi-lo para que os valores relacionados estejam em uma linha. Não consigo usar a função porque não consigo criar objetos no banco de dados

Aqui está a tabela e os dados de amostra

CREATE TABLE #temp
(id   INT,
 keys VARCHAR(50),
 vals VARCHAR(50)
);

INSERT INTO #temp
VALUES
(1, '1,2,3', 'one,two,three'),
(2, '4,5,6', 'four,five,six'),
(3, '7,8,9', 'seven,eight,nine');

e minha saída desejada seria

ID  key  val
1   1    one
1   2    two
1   3    three
2   4    four
2   5    five
2   6    six
3   7    seven
3   8    eight
3   9    nine

Consegui que a consulta funcionasse se eu dividisse apenas uma coluna, então defino dois CTEs com row_number e uno em ID e row_number. Isso fornece a saída desejada, mas minha tabela ao vivo é muito grande e eu esperava uma maneira de passar pela tabela apenas uma vez, em vez de duas.

with keys as(
SELECT id,keys,vals,
       keys.keyid.value('.', 'VARCHAR(8000)') AS keyid,
      row_number() over(order by (select null)) as rn
FROM
(SELECT id,keys,vals,
           CAST('<Keys><key>'+REPLACE(keys, ',', '</key><key>')+'</key></Keys>' AS XML) AS tempkeys
    FROM #temp
) AS temp
CROSS APPLY tempkeys.nodes('/Keys/key') AS keys(keyid)),
vals as(
SELECT id,keys,vals,
       vals.val.value('.', 'VARCHAR(8000)') AS valid,
      row_number() over(order by (select null)) as rn
FROM
(SELECT id,keys,vals,
           CAST('<vals><val>'+REPLACE(vals, ',', '</val><val>')+'</val></vals>' AS XML) AS tempvals
    FROM #temp
) AS temp
CROSS APPLY tempvals.nodes('/vals/val') AS vals(val))


SELECT k.id, k.keyid, v.valid
FROM keys AS k
     INNER JOIN vals AS v
     ON k.id = v.id
        AND k.rn = v.rn; 
sql-server sql-server-2012
  • 2 respostas
  • 3131 Views
Martin Hope
Bob Klimes
Asked: 2016-03-31 12:21:34 +0800 CST

Erro ao atualizar o pacote SSIS para 2014 devido ao componente de script

  • 3

Estou tentando atualizar um pacote SSIS que contém o componente de script. O componente de script obtém apenas a descrição do erro conforme descrito aqui .

Estou usando o assistente de atualização no SSDT 2015 que deve ser compatível com o SQL Server 2014. ( ssdt )

Depois que o assistente de atualização do pacote é executado, recebo um aviso e informações para cada fluxo de dados que possui um componente de script.

Aviso 0x40016044: Carregar tabela TableName: encontrado SQL Server Integration Services 2012 Componente de script TableName Erro Desc que requer migração!

Informações 0x4001601a: Carregar tabela TableName: A descrição do erro TableName foi migrada. O pacote deve ser salvo para manter as alterações de migração

Parece-me que o componente de script foi migrado com sucesso. Em seguida, construo e implanto o pacote em minha instância do SSIS.

Quando tento executar o pacote na instância, via agente SQL ou Catálogo do Integration Services, o pacote falha na verificação com os seguintes erros.

Carregar tabela PersonDisability:Error: Microsoft.SqlServer.Dts.Pipeline.ComponentVersionMismatchException: A versão de tablename Error Desc não é compatível com esta versão do DataFlow. [[A versão ou versão do pipeline ou ambas para o componente especificado é superior à versão atual. Este pacote provavelmente foi criado em uma nova versão do DTS ou do componente que está instalado no PC atual.]] em Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostCheckAndPerformUpgrade(IDTSManagedComponentWrapper100 wrapper, Int32 lPipelineVersion)

Carregar tabela TableName:Error: os metadados do componente para "TableName Error Desc" não puderam ser atualizados para a versão mais recente do componente. O método PerformUpgrade falhou.

Com base nisso, se as mensagens forem precisas, tenho uma incompatibilidade de versão. Minha instância é 2014 SP1 CU3 (12.0.4427.24) e meu SSDT com o qual fiz a atualização do pacote é 2015(14.0.51128.0)

Essas versões são incompatíveis?

sql-server ssis
  • 1 respostas
  • 11079 Views
Martin Hope
Bob Klimes
Asked: 2012-12-08 11:30:11 +0800 CST

Inserção em massa no SQL Server do convidado VMWare usando switch distribuído

  • 10

Isso provavelmente não é um problema do servidor SQL, mas a configuração parece estar afetando apenas BULK INSERTS para servidores SQL.

Mudamos recentemente o VM Hardware e todos os convidados que foram movidos tiveram seus comutadores virtuais alterados de padrão para distribuído.

então comecei a receber

Ocorreu um erro fatal ao ler o fluxo de entrada da rede. A sessão será encerrada (erro de entrada: 64, erro de saída: 0)

em dois servidores SQL durante operações BULK INSERT. Um dos servidores SQL era uma VM com a nova configuração e o outro era um servidor físico. Ambas as operações BULK INSERT foram originadas de uma VM com a nova configuração. Os BULK INSERTs não falhavam todas as vezes, era muito aleatório quando isso acontecia.

Quando mudamos o comutador virtual para um comutador padrão em vez de um comutador distribuído, o problema desaparece.

Estou procurando mais explicações sobre por que não funciona com um switch distribuído em vez de uma resolução. Meu palpite seria que a operação BULK INSERT é serial e com um switch distribuído os pacotes estão sendo roteados por diferentes hosts, alguns dos quais podem estar mais ocupados que outros, e estão chegando ao servidor de destino além de algum limite de latência. (nota: não há nada no log de eventos do Windows nos momentos dos erros no servidor de origem ou destino)

ATUALIZAÇÃO: acontece que o problema foi devido ao NIC. Todas as nossas VMs foram configuradas com uma NIC E1000 que funcionou bem o suficiente em switches padrão. Depois que mudamos para switches distribuídos, começamos a ver problemas com grandes transferências de dados, não apenas consultas SQL. Alterar a NIC para VMXNET3 parece ter resolvido o problema.

sql-server vmware
  • 3 respostas
  • 4002 Views
Martin Hope
Bob Klimes
Asked: 2012-10-25 06:36:15 +0800 CST

Não é possível criar login no cluster

  • 4

Eu tenho um cluster do SQL Server 2008 R2 no Win2008 R2.

Não consigo adicionar um login para a conta de serviço.

Qualquer outro login que adiciono a esta instância funciona bem e consegui adicionar o mesmo login de conta de serviço a várias outras instâncias SQL.

Mover a instância para outro nó não resolve o problema.

quando eu corro

 CREATE LOGIN [DOMAIN\ServiceAccount] FROM windows; 

eu recebo o erro

Msg 15401, Level 16, State 1, Line 1
Windows NT user or group 'DOMAIN\ServiceAccount' not found. 
    Check the name again. 

quando eu corro

exec xp_logininfo 'DOMAIN\ServiceAccount', 'all'; 

eu recebo o erro

Msg 15404, Level 16, State 11, Procedure xp_logininfo, Line 62
Could not obtain information about Windows NT group/user 
    'DOMAIN\ServiceAccount', error code 0xffff0002. 

Qualquer sugestão seria apreciada.

sql-server sql-server-2008-r2
  • 3 respostas
  • 2388 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