{"id":1839,"date":"2020-05-25T19:20:24","date_gmt":"2020-05-25T19:20:24","guid":{"rendered":"http:\/\/manualsqlserver.com\/?p=1839"},"modified":"2023-09-10T15:46:58","modified_gmt":"2023-09-10T15:46:58","slug":"niveles-de-compatibilidad-sql-server","status":"publish","type":"post","link":"https:\/\/manualsqlserver.com\/?p=1839","title":{"rendered":"Niveles de compatibilidad  SQL Server"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"220\" height=\"220\" src=\"https:\/\/manualsqlserver.com\/wp-content\/uploads\/2020\/05\/ManualSQLServer_NivelCompatibilidad_D.png\" alt=\"\" class=\"wp-image-1840\" srcset=\"https:\/\/manualsqlserver.com\/wp-content\/uploads\/2020\/05\/ManualSQLServer_NivelCompatibilidad_D.png 220w, https:\/\/manualsqlserver.com\/wp-content\/uploads\/2020\/05\/ManualSQLServer_NivelCompatibilidad_D-150x150.png 150w\" sizes=\"auto, (max-width: 220px) 100vw, 220px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Nivel de compatibilidad de Bases de datos en SQL Server<\/h2>\n\n\n\n<p>El nivel de compatibilidad de las bases de datos en SQL Server permite definir la versi\u00f3n en la que se ha creado la base de datos o en la que se desea o debe mantenerse. Si se migran bases de datos a versiones superiores es conveniente cambiar el nivel de compatibilidad a la nueva versi\u00f3n para aprovechas las nuevas funcionalidades.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p class=\"has-medium-font-size\"><strong>Tabla de niveles de compatibilidad soportados de cada versi\u00f3n<\/strong><\/p>\n\n\n\n<p>El nivel de compatiblidad de la base de datos est\u00e1 definido por defecto en cada versi\u00f3n, la tabla siguiente resume los niveles de compatibilidad para cada versi\u00f3n<\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Versi\u00f3n SQL Server<\/strong><\/td><td><strong>Compatibilidad<\/strong> <strong>por defecto<\/strong><\/td><td><strong>Niveles soportados<\/strong><\/td><\/tr><tr><td>SQL Server 2022 (16.x)<\/td><td>160<\/td><td>160, 150, 140, 130, 120, 110, 100<\/td><\/tr><tr><td>SQL Server 2019 (15.x)<\/td><td>150<\/td><td>150, 140, 130, 120, 110, 100<\/td><\/tr><tr><td>SQL Server 2017 (14.x)<\/td><td>140<\/td><td>140, 130, 120, 110, 100<\/td><\/tr><tr><td>Azure SQL Database single database<\/td><td>150<\/td><td>150, 140, 130, 120, 110, 100<\/td><\/tr><tr><td>Azure SQL Database managed instance<\/td><td>150<\/td><td>150, 140, 130, 120, 110, 100<\/td><\/tr><tr><td>SQL Server 2016 (13.x)<\/td><td>130<\/td><td>130, 120, 110, 100<\/td><\/tr><tr><td>SQL Server 2014 (12.x)<\/td><td>120<\/td><td>120, 110, 100<\/td><\/tr><tr><td>SQL Server 2012 (11.x)<\/td><td>110<\/td><td>110, 100, 90<\/td><\/tr><tr><td>SQL Server 2008 R2<\/td><td>100<\/td><td>100, 90, 80<\/td><\/tr><tr><td>SQL Server 2008<\/td><td>100<\/td><td>100, 90, 80<\/td><\/tr><tr><td>SQL Server 2005 (9.x)<\/td><td>90<\/td><td>90, 80<\/td><\/tr><tr><td>SQL Server 2000 (8.x)<\/td><td>80<\/td><td>80<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Niveles de compatibilidad de base de datos en SQL Server.<\/figcaption><\/figure>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Cambiar el nivel de compatibilidad por defecto<\/strong><\/p>\n\n\n\n<p>Al crear una base de datos el nivel de compatibilidad de esta se crea de acuerdo a la versi\u00f3n de SQL Server, por ejemplo, para SQL Server 2014, al crear una base de datos sin haber hecho cambios, el nivel de  compatibilidad de la base de datos nueva ser\u00e1 de 120.<\/p>\n\n\n\n<script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\n<ins class=\"adsbygoogle\"\n     style=\"display:block; text-align:center;\"\n     data-ad-layout=\"in-article\"\n     data-ad-format=\"fluid\"\n     data-ad-client=\"ca-pub-2636008503986218\"\n     data-ad-slot=\"1902193434\"><\/ins>\n<script>\n     (adsbygoogle = window.adsbygoogle || []).push({});\n<\/script>\n\n\n\n<p style=\"font-size:24px\"><strong>Ejercicios<\/strong><\/p>\n\n\n\n<p>Create database PruebaCompatibilidad<br>go<br>Al visualizar las propiedades de la base de datos, al seleccionar la p\u00e1gina Opciones se muestra el nivel de compatibilidad de 120. Este valor puede cambiar si est\u00e1 usando una versi\u00f3n diferentes a SQL Server 2014.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/manualsqlserver.com\/wp-content\/uploads\/2020\/05\/ManualSQLServer_NivelCompatibilidad_01.png\" alt=\"\" class=\"wp-image-1841\" style=\"width:660px;height:592px\" width=\"660\" height=\"592\" srcset=\"https:\/\/manualsqlserver.com\/wp-content\/uploads\/2020\/05\/ManualSQLServer_NivelCompatibilidad_01.png 704w, https:\/\/manualsqlserver.com\/wp-content\/uploads\/2020\/05\/ManualSQLServer_NivelCompatibilidad_01-300x269.png 300w\" sizes=\"auto, (max-width: 660px) 100vw, 660px\" \/><\/figure>\n\n\n\n<p><strong>Usando T-SQL la instrucci\u00f3n es como sigue: (Ver Filtros en Select)<\/strong><br>select name As &#8216;Base de datos&#8217;, compatibility_level As &#8216;Nivel de compatibilidad&#8217;<br>from sys.databases<br>where name like &#8216;P%&#8217;<br>go<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Cambiar el nivel de compatibilidad de las bases por defecto.<\/strong><\/p>\n\n\n\n<p>Para cambiar el nivel de compatibilidad de las bases de datos por defecto, diferente al nivel de compatibilidad definido en la versi\u00f3n de SQL Server, se debe cambiar el nivel de compatibilidad a la base de datos del sistema MODEL.<br>Por ejemplo, en SQL Server 2014, cuyo nivel de compatibilidad es 120, al cambiar el nivel de compatibilidad de Model, todas las nuevas bases de datos creadas con Create Database (<a href=\"https:\/\/manualsqlserver.com\/?p=82\" target=\"_blank\" rel=\"noreferrer noopener\">Ver Crear Base de datos<\/a>), toman el nivel definido en model. (<a href=\"https:\/\/manualsqlserver.com\/?p=69\" target=\"_blank\" rel=\"noreferrer noopener\">Ver bases de datos del sistema<\/a>)<br>use master<br>go<br>Alter database model set compatibility_level = 100<br>go<\/p>\n\n\n\n<p><strong>Al crear otra base de datos, tomar\u00e1 el nivel de compatibilidad de 100, siendo el nivel por defecto de SQL Server 2014 de 120.<\/strong><\/p>\n\n\n\n<p>Create database PruebaNueva<br>go<br>Ver las opciones en la p\u00e1gina de propiedades<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/manualsqlserver.com\/wp-content\/uploads\/2020\/05\/ManualSQLServer_NivelCompatibilidad_02.png\" alt=\"\" class=\"wp-image-1842\" style=\"width:724px;height:649px\" width=\"724\" height=\"649\" srcset=\"https:\/\/manualsqlserver.com\/wp-content\/uploads\/2020\/05\/ManualSQLServer_NivelCompatibilidad_02.png 704w, https:\/\/manualsqlserver.com\/wp-content\/uploads\/2020\/05\/ManualSQLServer_NivelCompatibilidad_02-300x269.png 300w\" sizes=\"auto, (max-width: 724px) 100vw, 724px\" \/><\/figure>\n\n\n\n<p>Esto puede ser \u00fatil cuando se tienen instancias de SQL Server de versiones  en desarrollo que no tienen los clientes en Producci\u00f3n, es decir, la empresa  desarrolladora tiene SQL Server 2014 cuya versi\u00f3n tiene un nivel de  compatibilidad de 120, pero el cliente tiene SQL Server 2008, con un nivel de compatibilidad de 100. Se recomienda instancias de la misma versi\u00f3n con diferentes niveles de compatibilidad.<\/p>\n\n\n\n<p style=\"font-size:22px\"><strong>Cambiar el nivel de compatibilidad de una base de datos<\/strong><\/p>\n\n\n\n<p>Esto es necesario para tener en cuenta puestas en producci\u00f3n bases de datos que han sido trabajadas en desarrollo con un nivel de compatibilidad diferente, no se recomienda hacer este trabajo ya que de acuerdo al nivel de compatibilidad hay ciertas funcionalidades que cambian.<\/p>\n\n\n\n<p style=\"font-size:18px\"><strong>Instrucci\u00f3n: Alter Database<\/strong><\/p>\n\n\n\n<p> (Ver Modificar una base de datos con <a href=\"https:\/\/manualsqlserver.com\/?p=103\" target=\"_blank\" rel=\"noreferrer noopener\">Grupos de archivos<\/a> y <a href=\"https:\/\/manualsqlserver.com\/?p=106\" target=\"_blank\" rel=\"noreferrer noopener\">archivos<\/a>)<\/p>\n\n\n\n<p>Permite modificar una base de datos, una de las opciones es cambiar el nivel de compatibilidad. <\/p>\n\n\n\n<p><strong>Sintaxis:<\/strong><\/p>\n\n\n\n<p>Alter database NombreBaseDatos set compatibility_level = Valor<\/p>\n\n\n\n<p><strong>El valor del nivel de compatibilidad se encuentra en la tabla de la parte superior de este art\u00edculo.<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Ejemplos<\/strong><\/p>\n\n\n\n<p><strong>Cambiar el nivel de compatibilidad de AdventureWorks de SQL Server 2014 para que sea restaurada en SQL Server en SQL Server 2008, es decir, al nivel 100.<\/strong><br>Alter database AdventureWorks set compatibility_level = 100<br>go<\/p>\n\n\n\n<p><strong>Ver el nivel de compatibilidad<\/strong><br>select name As &#8216;Base de datos&#8217;, compatibility_level As &#8216;Nivel de compatibilidad&#8217; from sys.databases<br>where name like &#8216;A%&#8217;<br>go<\/p>\n\n\n\n<p class=\"has-very-light-gray-background-color has-background has-normal-font-size\"><strong>Importante:<br>Revise la documentaci\u00f3n Microsoft de las funcionalidades de acuerdo a la versi\u00f3n de SQL Server.<br>Para poder realizar esta operaci\u00f3n se debe tener el permite de Alter en la base de datos (<a href=\"https:\/\/manualsqlserver.com\/?p=617\" target=\"_blank\" rel=\"noreferrer noopener\">Ver permisos Grant<\/a>)<\/strong><\/p>\n\n\n\n<p style=\"font-size:22px\"><strong>El procedimiento sp_dbcmptlevel<\/strong><\/p>\n\n\n\n<p>Este procedimiento permite cambiar el nivel de compatibilidad de una base de datos<br>Sintaxis:<br><strong>sp_dbcmptlevel &#8216;NombreBaseDatos&#8217;, ValorCompatibilidad<\/strong><\/p>\n\n\n\n<p><strong>Ejemplo<\/strong><\/p>\n\n\n\n<p><strong>Para cambiar el nivel de compatibilidad a 110 en la base de datos Norhtwind<br><\/strong>Execute sp_dbcmptlevel &#8216;Northwind&#8217;,110<br>go<\/p>\n\n\n\n<script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\n<ins class=\"adsbygoogle\"\n     style=\"display:block; text-align:center;\"\n     data-ad-layout=\"in-article\"\n     data-ad-format=\"fluid\"\n     data-ad-client=\"ca-pub-2636008503986218\"\n     data-ad-slot=\"1902193434\"><\/ins>\n<script>\n     (adsbygoogle = window.adsbygoogle || []).push({});\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Nivel de compatibilidad de Bases de datos en SQL Server El nivel de compatibilidad de las bases de datos en SQL Server permite definir la versi\u00f3n en la que se ha creado la base de datos o en la que se desea o debe mantenerse. Si se migran bases de datos a versiones superiores es &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"https:\/\/manualsqlserver.com\/?p=1839\">Seguir leyendo<\/a><\/p>\n","protected":false},"author":1,"featured_media":1840,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[164],"tags":[106,197],"class_list":["post-1839","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mantenimcat","tag-alter-table","tag-niveles-de-compatibilidad","nodate","item-wrap"],"_links":{"self":[{"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=\/wp\/v2\/posts\/1839","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1839"}],"version-history":[{"count":2,"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=\/wp\/v2\/posts\/1839\/revisions"}],"predecessor-version":[{"id":2838,"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=\/wp\/v2\/posts\/1839\/revisions\/2838"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=\/wp\/v2\/media\/1840"}],"wp:attachment":[{"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1839"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1839"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1839"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}