Como definir Compatibilidade Nível for SQL Servidor 2008 ou 2005 Banco de dados

Quando selecionando dado ou praticante questão em Microosft SQL Servidor 2008 ou SQL Servidor 2005 banco de dados, a seguinte mensagem de erro ou bomba pode ser de volta:

[MicrosoftODBC][ SQL Servidor Automobilistas][ Servidor][ 4147, Nível 15, Estado 1, Linha 4] O questionário empregos não-ANSI exterior juntar operadores(”*=” “=*”). Correr esse questionário sem modificação, por favor set a compatibilidade nível for corrente banco de dados a 80, usando o conjunto COMPATIBILITY_LEVEL opção de ALTERAR Banco de dados. É fortemente recomendado reescrever o questionário usando ANSI exterior juntar operadores ( esquerda EXTERIOR Juntar, DIREITA EXTERIOR Juntar). No futuro versões
de SQL Servidor, não-ANSI juntar operadores não serão suportada já em atrasado- compatibilidade modas.


ou,

Msg 4147, Nível 15, Estado 1, Linha 3
O questionário empregos não-ANSI exterior juntar operadores(”*=” “=*”). Correr esse questionário sem modificação, por favor set a compatibilidade nível for corrente banco de dados a 80 ou mais baixo, usando armazenado proceder sp_dbcmptlevel. É fortemente recomendado reescrever o questionário usando ANSI exterior juntar operadores ( esquerda EXTERIOR Juntar, DIREITA EXTERIOR Juntar). No futuro versões de SQL Servidor, não-ANSI juntar operadores não serão suportada já em atrasado- compatibilidade modas.

O erro acontecer porque Microscópio caiu suporta for e eliminar velha- estilo *= e =* exterior juntar operadores.

Para afixar o SQL Servidor erro acima, DB administrador tem que ser set a base de dados compatibilidade nível a 80, qual equivalente com SQL Servidor 2000 como um temporário workaround. Pois sim, a melhor solução é para modificar o Instruções de SQL ou questões código para retirar o velha- estilo juntar operadores com standard corrente SQL juntar sintaxe.

Por exemplo, SQL questão abaixo não é válida:

SELETO o.name DE sys.objects o, sys.views v ONDE o.object_id *= v.object_id;

E devia ser substituída com a prosseguimento código:

SELETO o.name DE sys.objects o ESQUERDA JUNTAR sys.views v EM o.object_id = v.object_id;

Ou a seguinte abreviado interno juntar afirmação:

SELETO o.name DE sys.objects o, sys.views v ONDE o.object_id = v.object_id;

For administrador quem calão’ alteração o código, o o mais fácil workaround é reverter a compatibilidade nível da banco de dados para prover o atrasado compatibilidade a velha- estilo juntar. sp_dbcmptlevel armazenado procederes ( apologético) ou Transação-SQL pode ser utilizado para definir certa ( parcialmente, nem todas) banco de dados comportamentos aquela compressão compatível com a versão anterior de SQL Servidor. This MSDN artigo proporciona ver por alto em what comportamentos são alterado em qualquer compatibilidade nível.

Versão de SQL Servidor que pode ser revertido a pode ser um dos seguintes:

60 = SQL Servidor 6.0
65 = SQL Servidor 6.5
70 = SQL Servidor 7.0
80 = SQL Servidor 2000
90 = SQL Servidor 2005
100 = SQL Servidor 2008

nota Compatibilidade nível 60, 65, e 70 já não disponível em SQL Servidor 2008. E versão futura de SQL Servidor irá suporta somente dois (2) antes versão de atrasado compatibilidade. Uma base de dados contendo um índices vista não pode ser alterado a um compatibilidade nível mais baixo que 80. Fazer também tome nota que quando uma base de dados estiver definida como atrasado- compatibilidade moda, parte das nova funcionalidades pode ser perdido, tal SQL CLR suporta e SSMS diagramas à banco de dados. De resto, a compatibilidade moda afetar comportamentos somente à especificado banco de dados, não à total servidor.

Passos trocar e Set Compatibilidade Nível de um Banco de dados em SQL Servidor

A seguinte SQL comandos pode ser emitido em SQL Servidor Administração Estúdio Questão janela. Lembrar para executar Ir atrás de qualquer comando.

  1. opcional Set a base de dados escolher usuário modo de acesso:

    ALTERAR BANCO DE DADOS database_name SET SINGLE_USER;

  2. Set a base de dados compatibilidade nível a um dos versão anterior determinado acima:

    Transação-SQL Método

    ALTERAR BANCO DE DADOS database_name SET COMPATIBILITY_LEVEL = { 80 | 90 | 100 }

    Por exemplo,

    ALTERAR BANCO DE DADOS my_db SET COMPATIBILITY_LEVEL = 80

    sp_dbcmptlevel Armazenado Proceder Método

    AMALDIÇOAR sp_dbcmptlevel database_name, compatibility_level valor;

    Por exemplo,

    AMALDIÇOAR sp_dbcmptlevel my_db, 90;

  3. opcional Recolocar a base de dados em multiuser modo de acesso:

    ALTERAR BANCO DE DADOS database_name SET MULTI_USER;

importante: A página é máquina traduzida e previsto " como é" sem garantia. Máquina tradução pode ser difícil comprender. Por favor recorrer aoriginal Inglês artigo sempre que possível.


Um Resposta a “ como definir Compatibilidade Nível for SQL Servidor 2008 ou 2005 Banco de dados”

  1. Microscópio – SQL Servidor – Estratégias for endereçando o problema de apologético SQL « Dinamarquesa Adenijis’ Rasto
    Agosto 14th, 2009 0317:
    1

    [...] 7     ) My Digital Vida. Como definir Compatibilidade Nível for SQL Servidor 2008 ou 2005 Banco de dados http://www.mydigitallife.info/2009/05/17/how-to-set-compatibility-level-for-sql-server-2008-or-2005-... [...]

Permissão uma resposta

Você pode uso estes talões: <um href="" título=""> <abbr título=""> < acrônimo título=""> <b> <blockquote citar=""> < citar> < código> <del datetime=""> <em> < eu> <q citar=""> < greve> < forte>

Subscrever a comentários aspecto tem sido inválido. Para receber notificação de última comentários despachado, subscrever aMy Digital Vida Comentários RSS alimentos ouregistro para receber nova comentários em diário correio eletrônico compilação.
Custom Search

Nova Artigos

Recebida Procura Termos à Artigo

O questionário empregos não-ANSI exterior juntar operadores("*=" "=*"). Correr esse questionário sem modificação, por favor set a compatibilidade nível for corrente banco de dados a 80 ou mais baixo, usando armazenado proceder sp_dbcmptlevel. É fortemente recomendado reescrever o questionário usando ANSI exterior juntar operadores ( esquerda EXTERIOR Juntar, DIREITA EXTERIOR Juntar). No futuro versões de SQL Servidor, não-ANSI juntar operadores não serão suportada já em atrasado- compatibilidade modas. - sql servidor 2008 compatibilidade moda - sql servidor compatibilidade nível - compatibilidade nível sql servidor - SQL compatibilidade nível - sql 2008 compatibilidade moda - sql compatibilidade moda - O questionário empregos não-ANSI exterior juntar operadores("*=" "=*"). Correr esse questionário sem modificação, por favor set a compatibilidade nível for corrente banco de dados a 80, usando o conjunto COMPATIBILITY_LEVEL opção de ALTERAR Banco de dados. É fortemente recomendado reescrever o questionário usando ANSI exterior juntar operadores ( esquerda EXTERIOR Juntar, DIREITA EXTERIOR Juntar). No futuro versões de SQL Servidor, não-ANSI juntar operadores não serão suportada já em atrasado- compatibilidade modas. - SET COMPATIBILITY_LEVEL - a opção 100 for compatibilidade moda não é suportada - banco de dados compatibilidade moda estiver definida como 90 - sql 2005 compatibilidade moda - sql servidor 2005 compatibilidade nível - O questionário empregos não-ANSI exterior juntar operadores("*=" "=*"). Correr esse questionário sem modificação, por favor set a compatibilidade nível for corrente banco de dados a 80 ou mais baixo, usando armazenado proceder sp_dbcmptlevel. É fortemente recomendado reescrever o questionário usando ANSI exterior juntar operadores ( esquerda EXTERIOR Juntar, DIREITA EXTERIOR Juntar). No futuro versões de SQL Servidor, não-ANSI juntar operadores não serão suportada já em atrasado- compatibilidade modas - banco de dados compatibilidade nível - sql 2005 compatibilidade nível - tudo - sql 2008 compatibilidade nível - sql 2008 compatibilidade - "a opção 100 for compatibilidade moda não é suportada" - set compatibility_level opção de alterar banco de dados - sql compatibilidade moda 80 - sql servidor 2008 2005 compatibilidade moda - O questionário empregos não-ANSI exterior juntar operadores("*=" "=*"). Correr esse questionário sem modificação, por favor set a compatibilidade nível for corrente banco de dados a 80 ou mais baixo, usando armazenado proceder sp_dbcmptlevel. É fortemente recomendado reescrever o questionário usando ANSI exterior juntar operadores ( esquerda EXTERIOR Juntar, DIREITA EXTERIOR Juntar). No futuro versões de SQL Servidor, não-ANSI juntar operadores não serão suportada já em atrasado- compatibilidade modas. - como definir compatibilidade nível em sql servidor 2005 - set compatibilidade nível sql 2005 - sql servidor 2008 compatibilidade - sql servidor compatibilidade moda - sql servidor 2008 compatibilidade nível - Correr esse questionário sem modificação, por favor set a compatibilidade nível for corrente banco de dados a 80 ou mais baixo, usando armazenado proceder sp_dbcmptlevel. É fortemente recomendado reescrever o questionário usando ANSI exterior juntar operadores ( esquerda EXTERIOR Juntar, DIREITA EXTERIOR Juntar). No futuro versões de SQL Servidor, não-ANSI juntar operadores não serão suportada já em atrasado- compatibilidade modas. - sql servidor set compatibilidade nível - sql servidor compatibilidade níveis - Correr esse questionário sem modificação, por favor set a compatibilidade nível for corrente banco de dados a 80 - sql comando alteração compatível 6.5 7 - compatibility_level sql servidor - compatibilidade nível sql servidor 2008 - sql servidor 2008 atrasado compatibilidade - sql atrasado compatibilidade com 2008 - compatibilidade MODA 100 EM SQL SERVIDOR 2008 DB - sql set compatibilidade moda - POR FAVOR SET A compatibilidade NÍVEL FOR CORRENTE BANCO DE DADOS A 80 OU mais baixo - sql servidor 2008 2005 moda - O questionário empregos não-ANSI exterior juntar operadores("*=" "=*"). Correr esse questionário sem modificação, por favor set a compatibilidade nível for corrente banco de dados a 80 ou mais baixo, usando armazenado proceder sp_dbcmptlevel. É fortemente recomendado reescrever o questionário - por favor set a compatibilidade nível for corrente banco de dados a 80 - ambiente banco de dados opção compatibility_level a 100 for banco de dados - sql servidor compatability nível - compatibilidade nível sqlserver - sql servidor 2008 compatibilidade moda 80 - alteração sql compatibilidade moda - compatibilidade nível -