Come fissare compatibilità livellata per gli assistenti 2008 o di SQL base di dati 2005
Nel selezionare i dati o effettuando la domanda sulla base di dati 2005 dell'assistente 2008 di Microosft SQL o dell'assistente di SQL, il seguente messaggio di errore o guasto può essere restituito:
[Microsoft] [driver] dell'assistente di ODBC SQL [assistente] di SQL [Msg 4147, Livello 15, condizione 1, linea 4] L'non-ANSI di usi di domanda esterno unisce il ("*= degli operatori„ o “il =*"). Per fare funzionare questa domanda senza modifica, prego fissi la compatibilità livellata per base di dati corrente a 80, usando l'opzione dell'INSIEME COMPATIBILITY_LEVEL di ALTERANO LA BASE DI DATI. È suggerito vivamente per riscrivere la domanda che usando l'ANSI esterno unisce gli operatori (HA LASCIATO ESTERNO SI UNISCONO, ESTERNO DI DESTRA SI UNISCONO). In avvenire versioni
dell'assistente di SQL, non-ANSI unisce gli operatori non sarà sostenuto anche nei modi di indietro-compatibilità.
o,
Msg 4147, Livello 15, condizione 1, linea 3
L'non-ANSI di usi di domanda esterno unisce il ("*= degli operatori„ o “il =*"). Per fare funzionare questa domanda senza modifica, prego fissi la compatibilità livellata per base di dati corrente a 80 o abbassi, usando lo sp_dbcmptlevel di procedura immagazzinata. È suggerito vivamente per riscrivere la domanda che usando l'ANSI esterno unisce gli operatori (HA LASCIATO ESTERNO SI UNISCONO, ESTERNO DI DESTRA SI UNISCONO). In avvenire le versioni dell'assistente di SQL, non-ANSI uniscono gli operatori non saranno sostenute anche nei modi di indietro-compatibilità.
L'errore accade perché Microsoft ha caduto il sostegno e il *= eliminato e il =* antiquati esterni uniscono gli operatori.
Per riparare l'errore di assistente di SQL qui sopra, il coordinatore di DB deve fissare la compatibilità della base di dati livellata a 80, che equivalente con l'assistente 2000 di SQL come azione alternativa provvisoria. Naturalmente, la migliore soluzione è di modificare le dichiarazioni di SQL o il codice di domande per rimuovere l'antiquato unisce gli operatori con il campione corrente SQL unisce la sintassi.
Per esempio, la domanda di SQL sotto è non valida:
SELEZIONI o.name A PARTIRE da sys.objects la o, sys.views v DOVE *= v.object_id di o.object_id;
E dovrebbe essere sostituito con il seguente codice:
SELEZIONI o.name A PARTIRE da sys.objects o LASCIATO UNISCONO sys.views v SU o.object_id = v.object_id;
O il seguenti interni abbreviati uniscono la dichiarazione:
SELEZIONI o.name A PARTIRE da sys.objects la o, sys.views v DOVE o.object_id = v.object_id;
Per il coordinatore che non può cambiare il codice, l'azione alternativa più facile è di ritornare il livello di compatibilità della base di dati per fornire la compatibilità a rovescio ad antiquato si unisce. le procedure immagazzinate dello sp_dbcmptlevel (disapprovate) o lo Trattare-SQL possono essere usati per fissare determinati (parzialmente, non tutti) comportamenti della base di dati per essere compatibile con la versione anteriore dell'assistente di SQL. Questo articolo di MSDN prevede la descrizione su che comportamenti sono cambiati ad ogni livello di compatibilità.
Versione dell'assistente di SQL che può essere ritornata al può a essere uno di quanto segue:
60 = assistente 6.0 di SQL
65 = assistente 6.5 di SQL
70 = assistente 7.0 di SQL
80 = assistente 2000 di SQL
90 = assistente 2005 di SQL
100 = assistente 2008 di SQL
Nota: Livelli 60, 65 e 70 di compatibilità più disponibili in assistente 2008 di SQL. E la versione futura dell'assistente di SQL sosterrà soltanto due (2) versione anteriore di compatibilità a rovescio. Una base di dati che contiene una vista spostata ad incrementi non può essere cambiata ad un livello di compatibilità basso di 80. Inoltre prenda nota che quando una base di dati è regolata al modo di indietro-compatibilità, alcune di nuove funzionalità può essere perso, quali il contributo di SQL CLR e gli schemi di SSMS alla base di dati. Al lato di, il modo di compatibilità interessa i comportamenti soltanto per la base di dati specificata, non per l'intero assistente.
Punti per cambiare e fissare il livello di compatibilità di base di dati in assistente di SQL
I seguenti ordini di SQL possono essere pubblicati nella finestra di domanda dello studio dell'amministrazione dell'assistente di SQL. Ricordi eseguire vanno dopo ogni ordine.
- Facoltativo: Regoli la base di dati alla modalità di accesso del monoutente:
ALTERI il database_name SINGLE_USER STABILITO della BASE DI DATI; - Fissi la compatibilità della base di dati livellata ad una della versione anteriore sopra citata:
Metodo Trattare-SQL
ALTERI il database_name della BASE DI DATI STABILITO COMPATIBILITY_LEVEL = {80 | 90 | 100}Per esempio,
ALTERI il my_db della BASE DI DATI STABILITO COMPATIBILITY_LEVEL = 80
metodo di procedura immagazzinata dello sp_dbcmptlevel
Database_name dello sp_dbcmptlevel di EXEC, valore del compatibility_level;Per esempio,
My_db dello sp_dbcmptlevel di EXEC, 90;
- Facoltativo: Rimesso la base di dati nella modalità di accesso multiutente:
ALTERI il database_name MULTI_USER STABILITO della BASE DI DATI;
IMPORTANTE: La pagina è tradotta dall'ordinatore e se “come è„ senza garanzia. La traduzione automatica può essere difficile da capire. Riferisca prego all'articolo inglese originale per quanto possibile.
Articoli relativi
- Disinstalli e rimuova i casi multipli della base di dati dell'assistente 2005 di Microsoft SQL
- Microsoft DreamSpack offre il download gratuito e l'autorizzazione dello studio visivo 2008, dell'assistente 2003, dell'assistente 2005 di SQL e di più
- Aggiornamento di trasferimento dal sistema centrale verso i satelliti per Windows 7 e l'assistente 2008 R2 beta (KB967062) per riparare l'edizione comune di compatibilità di applicazione
- Ottimizzi gli assistenti 2000, 2005 o 2008 di SQL nel grande sistema di RAM chiudendo le pagine a chiave nella memoria e nel TIMORE
- Controlli la compatibilità di sistema via la versione 5.5 della borsa degli arnesi di compatibilità di nuova applicazione di Microsoft
- Come effettuare ha programmato i sostegni per l'assistente 2005 di SQL espresso
- L'errore ha accaduto mentre stabilisce un collegamento all'assistente 2005 di SQL che non permette i collegamenti locali ed a distanza
- Trasferimento dal sistema centrale verso i satelliti R2 di Virtual Server 2005 di Microsoft disponibile per libero
- Cambi la parola d'accesso di utente della base di dati di Oracle
- Il Virtual Server di Microsoft 2005 R2 SP1 (edizione aziendale) dirige i collegamenti di trasferimento dal sistema centrale verso i satelliti










































14 agosto 2009 03:17
[...] 7) La mia vita di Digitahi. Come fissare compatibilità livellata per gli assistenti 2008 o di SQL base di dati 2005. http://www.mydigitallife.info/2009/05/17/how-to-set-compatibility-level-for-sql-server-2008-or-2005-.. [...]