O gerenciador de conexão grava em uma tabela. Talvez uma vez por semana, o erro seja lançado:
A conexão está ocupada com resultados para outro comando
O SSIS é implantado no Microsoft SQL Server 2016 (SP3-CU1-GDR) (KB5040944) - 13.0.7037.1 (X64).
Sei pelo MARS (Multiple Active Result Sets) - Microsoft Learn que o "MARS = True" ausente leva ao erro. Mas se eu alterar "MARS" para "True" nas propriedades do gerenciador de conexões, a configuração "MARS" muda de volta para "False" assim que eu clico em "OK", de modo que o negrito "True" é alterado para fino "False" novamente quando eu abro as propriedades depois:
Também verifiquei se apenas abrir as propriedades do gerenciador de conexões aciona o "False": salvei a alteração sem abrir as propriedades e, em seguida, verifiquei o log do Git, que mostrou que a alteração da configuração MARS para "True" desaparece logo após o clique em "OK". O que ele salvou foram as configurações padrão para novas tentativas (ConnectRetryCount = 1), e me pergunto se permitir um número maior de novas tentativas pode ajudar aqui também. Eu não tentei, no entanto.
Também me pergunto se forçar as configurações alterando-as no código xml em vez do Visual Studio pode ajudar, mas temo que isso possa levar a coisas piores do que um pacote que preciso executar manualmente de vez em quando. Pode valer a pena tentar, mas prefiro obter algumas informações de outras pessoas antes de verificar coisas estranhas.
Por que a configuração "MARS" = "True" volta para "False" imediatamente? Como posso alterá-la para "True"? Devo fazer isso se algo assim acontecer?
Toda a string de conexão é feita por um parâmetro de projeto. É por isso que qualquer alteração no menu salta de volta para as configurações desse parâmetro.
Você precisa alterar esse parâmetro configurando
MARS Connection
-o paraTrue
, por exemplo: