Qual é a diferença entre uma conexão e uma sessão e como elas estão relacionadas?
fonte
Qual é a diferença entre uma conexão e uma sessão e como elas estão relacionadas?
A conexão é o canal de comunicação físico entre o SQL Server e o aplicativo: o soquete TCP, o pipe nomeado, a região de memória compartilhada. A sessão no SQL Server corresponde à definição de Wikipedia de uma sessão : um contêiner de estado semi-permanente para uma troca de informações. Em outras palavras, as sessões armazenam configurações como cache de suas informações de login, nível de isolamento da transação atual, valores no nível da sessão,SET
etc.
Normalmente, há uma sessão em cada conexão, mas pode haver várias sessões em uma única conexão ( vários conjuntos de resultados ativos , MARS) e há sessões que não têm conexão ( procedimentos ativados por SSB , sessões do sistema ). Também há conexões sem sessões, ou seja, conexões usadas para fins não-TDS, como espelhamento de banco de dados sys.dm_db_mirroring_connections
ou conexões do Service Broker sys.dm_broker_connections
.
#temp
tabelas não podem ser descartadas ou selecionadas em diferentes guias de arquivo aberto, porque têm escopo de sessão.A conexão representa a conexão com o servidor em uma rede ou localmente através da memória compartilhada.
Uma sessão representa um processo do usuário no SQL Server.
Uma conexão pode estar vinculada a zero ou mais de uma sessão.
fonte
Você pode consultar as visualizações de gerenciamento dinâmico sys.dm_exec_sessions para obter informações sobre logons com e sem êxito quando a conformidade com critérios comuns estiver ativada em uma instância do SQL Server 2012.
A exibição de gerenciamento dinâmico sys.dm_exec_connections fornece informações sobre as conexões estabelecidas com a instância do Mecanismo de Banco de Dados. Você não pode consultar esta exibição de gerenciamento dinâmico para obter informações sobre logons com e sem êxito quando a conformidade com critérios comuns está ativada em uma instância do SQL Server 2012.
fonte