Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O SQL Server 2005 introduziu um novo nível de isolamento "instantâneo" destinado a aprimorar a simultaneidade para aplicativos OLTP (processamento de transações online). Em versões anteriores do SQL Server, a simultaneidade era baseada apenas no bloqueio, o que pode causar problemas de bloqueio e deadlock para alguns aplicativos. O isolamento de instantâneo depende de aprimoramentos no controle de versão de linha e destina-se a melhorar o desempenho evitando cenários de bloqueio de leitor-gravador.
As transações que começam sob isolamento de instantâneo leem um instantâneo de banco de dados a partir do momento em que a transação é iniciada. Um resultado disso é que os cursores de servidor estático, dinâmicos e dinâmicos, quando abertos dentro de um contexto de transação de instantâneo, se comportam muito como cursores estáticos abertos em transações serializáveis. No entanto, quando os cursores são abertos sob os bloqueios de nível de isolamento do instantâneo não são feitos, o que pode reduzir o bloqueio no servidor.
Provedor OLE DB do SQL Server Native Client
O provedor OLE DB do SQL Server Native Client tem aprimoramentos que aproveitam o isolamento de instantâneo introduzido no SQL Server 2005. Esses aprimoramentos incluem alterações nos conjuntos de propriedades DBPROPSET_DATASOURCEINFO e DBPROPSET_SESSION.
DBPROPSET_DATASOURCEINFO
O conjunto de propriedades DBPROPSET_DATASOURCEINFO foi alterado para indicar que o nível de isolamento do instantâneo é suportado pela adição do valor DBPROPVAL_TI_SNAPSHOT usado na propriedade DBPROP_SUPPORTEDTXNISOLEVELS. Esse novo valor indica que há suporte para o nível de isolamento do instantâneo se o controle de versão foi ou não habilitado no banco de dados. Veja a seguir uma lista dos valores de DBPROP_SUPPORTEDTXNISOLEVELS:
| ID da Propriedade | Descrição |
|---|---|
| DBPROP_SUPPORTEDTXNISOLEVELS | Tipo: VT_I4 R/W: somente leitura Descrição: uma máscara de bits especificando os níveis de isolamento da transação com suporte. Uma combinação de zero ou mais das seguintes opções: - DBPROPVAL_TI_CHAOS - DBPROPVAL_TI_READUNCOMMITTED - DBPROPVAL_TI_BROWSE - DBPROPVAL_TI_CURSORSTABILITY - DBPROPVAL_TI_READCOMMITTED - DBPROPVAL_TI_REPEATABLEREAD - DBPROPVAL_TI_SERIALIZABLE - DBPROPVAL_TI_ISOLATED - DBPROPVAL_TI_SNAPSHOT |
DBPROPSET_SESSION
O conjunto de propriedades DBPROPSET_SESSION foi alterado para indicar que o nível de isolamento do instantâneo é suportado pela adição do valor DBPROPVAL_TI_SNAPSHOT usado na propriedade DBPROP_SESS_AUTOCOMMITISOLEVELS. Esse novo valor indica que há suporte para o nível de isolamento do instantâneo se o controle de versão foi ou não habilitado no banco de dados. Veja a seguir uma lista dos valores de DBPROP_SESS_AUTOCOMMITISOLEVELS:
| ID da Propriedade | Descrição |
|---|---|
| DBPROP_SESS_AUTOCOMMITISOLEVELS | Tipo: VT_I4 R/W: somente leitura Descrição: especifica uma máscara de bits que indica o nível de isolamento da transação no modo de confirmação automática. Os valores que podem ser definidos nesta máscara de bits são os mesmos que podem ser definidos para DBPROP_SUPPORTEDTXNISOLEVELS. |
Observação
Os erros DB_S_ERRORSOCCURRED ou DB_E_ERRORSOCCURRED ocorrerão se DBPROPVAL_TI_SNAPSHOT for definido ao usar versões do SQL Server anteriores ao SQL Server 2005.
Para obter informações sobre como o isolamento de instantâneo tem suporte em transações, consulte Suporte a transações locais.
Driver ODBC do SQL Server Native Client
O driver ODBC do SQL Server Native Client fornece suporte para isolamento de instantâneo, embora melhorias feitas nas funções SQLSetConnectAttr e SQLGetInfo .
SQLSetConnectAttr
A função SQLSetConnectAttr agora dá suporte ao uso do atributo SQL_COPT_SS_TXN_ISOLATION. Definir SQL_COPT_SS_TXN_ISOLATION para SQL_TXN_SS_SNAPSHOT indica que a transação ocorrerá no nível de isolamento do instantâneo.
SQLGetInfo
A função SQLGetInfo agora dá suporte ao valor SQL_TXN_SS_SNAPSHOT que foi adicionado ao tipo de informações SQL_TXN_ISOLATION_OPTION.
Para obter informações sobre como o isolamento de instantâneo tem suporte em transações, consulte o Nível de Isolamento da Transação do Cursor.
Consulte Também
Recursos do SQL Server Native Client
Propriedades e comportamentos do conjunto de linhas