Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:Azure SQL Managed Instance
Este artículo resume y explica las diferencias de sintaxis y comportamiento entre Instancia administrada de Azure SQL y SQL Server.
Instancia administrada de SQL proporciona una alta compatibilidad con el motor de base de datos de SQL Server, y la mayoría de las características se admiten en una Instancia administrada de SQL.
Existen algunas limitaciones de PaaS que se introdujeron en Instancia administrada de SQL y algunos cambios de comportamiento en comparación con SQL Server. Las diferencias se dividen en las siguientes categorías:
- Disponibilidad, incluye las diferencias en Grupos de disponibilidad AlwaysOn y Copias de seguridad.
- Seguridad, incluye las diferencias en Auditoría, Certificados, Credenciales, Proveedores de servicios criptográficos, Inicios de sesión y usuarios, Clave maestra de servicio y clave de servicio.
- Configuración, incluye las diferencias en Extensión del grupo de búferes, Intercalación, Niveles de compatibilidad,Creación de reflejo de la base de datos , Opciones de base de datos, Agente SQL Server y Opciones de tabla.
- Las funcionalidades incluyen BULK INSERT/OPENROWSET, CLR, DBCC, transacciones distribuidas, eventos extendidos, bibliotecas externas, FILESTREAM y FileTable, búsqueda semántica de texto completo, servidores vinculados, PolyBase, replicación, regulador de recursos, RESTORE, Service Broker, procedimientos almacenados, funciones y desencadenadores.
- Configuración del entorno, como las configuraciones de redes virtuales y subredes.
La mayoría de estas características son restricciones de arquitectura y representan características de servicio.
Los problemas conocidos temporales que se detectan en SQL Managed Instance y que se resolverán en el futuro se describen en Novedades de Azure SQL Managed Instance.
Nota:
Microsoft Entra ID era conocido anteriormente como Azure Active Directory (Azure AD).
Disponibilidad
Grupos de disponibilidad AlwaysOn
La alta disponibilidad está integrada en la Instancia administrada de SQL y no la pueden controlar los usuarios. No se admiten las siguientes instrucciones:
- CREAR PUNTO FINAL ... PARA DATABASE_MIRRORING
- CREAR GRUPO DE DISPONIBILIDAD
- MODIFICAR GRUPO DE DISPONIBILIDAD
- GRUPO DE DISPONIBILIDAD DE DESCARTE
- La cláusula SET HADR de la instrucción ALTER DATABASE
Copia de seguridad
Azure SQL Managed Instance tiene copias de seguridad automáticas, por lo que los usuarios pueden crear copias de seguridad COPY_ONLY de bases de datos completas. No se admiten copias de seguridad de instantáneas de archivos, de registro ni diferenciales.
- Con una Instancia administrada de SQL, puede hacer una copia de seguridad de una base de datos de instancia solo en una cuenta de Azure Blob Storage:
- Solo se admite
BACKUP TO URL. - No se admiten
FILE,TAPEni dispositivos de copia de seguridad.
- Solo se admite
- Se admite la mayoría de las opciones de
WITHgenerales.-
COPY_ONLYes obligatorio. - No se admite
FILE_SNAPSHOTniCREDENTIAL. - No se admiten las opciones de cinta
REWIND,NOREWIND,UNLOADyNOUNLOAD. - No se admiten las opciones específicas de registro
NORECOVERY,STANDBYyNO_TRUNCATE.
-
Limitaciones:
Con una Instancia administrada de SQL, puede hacer una copia de seguridad de una base de datos de instancia en una copia de seguridad con hasta 32 franjas, lo cual es suficiente para bases de datos de hasta 4 TB si se usa la compresión de copia de seguridad.
No se puede ejecutar
BACKUP DATABASE ... WITH COPY_ONLYen una base de datos cifrada con cifrado de datos transparente (TDE) administrado por el servicio. TDE administrado por un servicio hace que las copias de seguridad se cifren con una clave interna de TDE. No es posible exportar la clave, por lo que no se puede restaurar la copia de seguridad. Use copias de seguridad automáticas y restauración a un momento dado, o use Cifrado de datos transparente administrado por el cliente (BYOK) en su lugar. También puede deshabilitar el cifrado en la base de datos.Las copias de seguridad nativas realizadas en SQL Managed Instance solo se pueden restaurar en una instancia de SQL Server 2022. Esto se debe a que SQL Managed Instance tiene una versión de base de datos interna superior en comparación con otras versiones de SQL Server. Para más información, consulte Restauración de una base de datos a SQL Server 2022 desde Azure SQL Managed Instance.
Para crear una copia de seguridad de una base de datos de un almacenamiento de Azure o restaurarla desde allí, se puede realizar la autenticación mediante una identidad administrada o una firma de acceso compartido (SAS), que es un identificador URI que le concede derechos de acceso restringido a los recursos de Azure Storage. Más información. No se admite el uso de claves de acceso para estos escenarios.
El tamaño máximo de una franja de copia de seguridad con el uso del comando
BACKUPen una Instancia administrada de SQL es de 195 GB, lo cual es el tamaño máximo del blob. Aumente el número de franjas en el comando de copia de seguridad para reducir el tamaño de las franjas y permanecer dentro de este límite.Sugerencia
Para solucionar esta limitación, cuando realice una copia de seguridad de una base de datos desde un servidor de SQL Server en un entorno local o en una máquina virtual, puede:
- Realizar la copia de seguridad en
DISKen lugar de hacerlo enURL. - Cargar los archivos de copia de seguridad en Blob Storage.
- Restaurar en la Instancia administrada de SQL.
El comando
Restorede una Instancia administrada de SQL admite tamaños de blob más grandes en los archivos de copia de seguridad porque se usa un tipo de blob distinto para el almacenamiento de los archivos de copia de seguridad cargados.- Realizar la copia de seguridad en
Para más información acerca de las copias de seguridad mediante T-SQL, consulte BACKUP.
Seguridad
Auditoría
Las principales diferencias entre la auditoría en Microsoft Azure SQL y en SQL Server son las siguientes:
- Con Instancia administrada de SQL, la auditoría funciona en el nivel de servidor. Los archivos de registro
.xelse almacenan en Azure Blob Storage. - En Azure SQL Database, la auditoría funciona en el nivel de base de datos. Los archivos de registro
.xelse almacenan en Azure Blob Storage. - Con servidores de SQL Server locales o en los de máquinas virtuales, la auditoría funciona en el nivel de servidor. Los eventos se almacenan en el sistema de archivos o en los registros de eventos de Windows.
En Instancia administrada de SQL, la auditoría de XEvent admite Azure Blob Storage como destino. No se admiten archivos ni registros de Windows.
Las principales diferencias en la sintaxis de CREATE AUDIT para la auditoría en Azure Blob Storage son:
- Se proporciona una nueva sintaxis de
TO URLpara especificar la dirección URL del contenedor de Azure Blob Storage donde se colocarán los archivos.xel. - La sintaxis
TO FILEno se admite porque la Instancia administrada de SQL no puede acceder a los recursos compartidos de archivos de Windows.
Para más información, consulte:
Certificados
Una Instancia administrada de SQL no puede acceder a los recursos compartidos de archivos ni a las carpetas de Windows, por lo que se aplican las siguientes restricciones:
- El archivo
CREATE FROM/BACKUP TOno se admite para certificados. - No se admite el certificado
CREATE/BACKUPdeFILE/ASSEMBLY. No se pueden usar archivos de clave privada.
Consulte CREATE CERTIFICATE y BACKUP CERTIFICATE.
Solución alternativa: En lugar de crear una copia de seguridad del certificado y restaurar la copia de seguridad, obtenga el contenido binario del certificado y la clave privada, almacénelo como archivo .sql y cree a partir del binario:
CREATE CERTIFICATE
FROM BINARY = asn_encoded_certificate
WITH PRIVATE KEY (<private_key_options>);
Credential:
Solo se admiten identidades de identidad administrada, Azure Key Vault y SHARED ACCESS SIGNATURE. No se admiten usuarios de Windows.
Consulte CREATE CREDENTIAL y ALTER CREDENTIAL.
Proveedores de servicios criptográficos
Una Instancia administrada de SQL no puede acceder a archivos, por lo que no se pueden crear proveedores de servicios criptográficos:
-
CREATE CRYPTOGRAPHIC PROVIDERno se admite. Consulte CREATE CRYPTOGRAPHIC PROVIDER. -
ALTER CRYPTOGRAPHIC PROVIDERno se admite. Consulte ALTER CRYPTOGRAPHIC PROVIDER.
Inicios de sesión y usuarios
Se admiten los inicios de sesión de SQL creados con
FROM CERTIFICATE,FROM ASYMMETRIC KEYyFROM SID. Consulte CREATE LOGIN. Las entidades de seguridad de servidor (inicios de sesión) se crean en el nivel de servidor y los usuarios (entidades de seguridad de base de datos) se crean en el nivel de base de datos. Se admiten los inicios de sesión de Microsoft Entra creados con la sintaxis CREATE LOGIN y los usuarios de Microsoft Entra creados con la sintaxis CREATE USER FROM LOGIN. Al crear un usuario y especificarFROM LOGIN, ese usuario se asocia al inicio de sesión y hereda los roles de servidor y los permisos que se le asignen.SQL Managed Instance admite la creación de usuarios de base de datos independientes en función de identidades de Microsoft Entra con la sintaxis
CREATE USER [AADUser/AAD group] FROM EXTERNAL PROVIDER. Los usuarios creados de esta manera no están asociados a entidades de seguridad de servidor, incluso si existe una entidad de seguridad de servidor con el mismo nombre en la base de datosmaster.No se admiten los inicios de sesión de Windows creados con la sintaxis
CREATE LOGIN ... FROM WINDOWS. Use inicios de sesión y usuarios de Microsoft Entra.El administrador de Microsoft Entra de la instancia tiene privilegios de administrador sin restricciones.
Algunas características no admiten el uso de inicios de sesión de Microsoft Entra en interacciones entre instancias, pero solo dentro de una sola instancia administrada de SQL, como la replicación de SQL Server, por ejemplo. Pero la característica de servidor vinculado admite la autenticación entre instancias mediante entidades de seguridad (inicios de sesión) del servidor de Microsoft Entra.
No se admite establecer un inicio de sesión de Microsoft Entra asignado a un grupo de Microsoft Entra como propietario de la base de datos. Un miembro del grupo de Microsoft Entra puede ser propietario de la base de datos, incluso si el inicio de sesión no se ha creado en la base de datos.
Se admite la suplantación de las entidades de seguridad en el nivel de servidor de Microsoft Entra mediante otras entidades de seguridad de Microsoft Entra, como la cláusula EXECUTE AS. Las limitaciones de EXECUTE AS son:
No se admite la cláusula EXECUTE AS USER para usuarios de Microsoft Entra cuando el nombre es diferente del nombre de inicio de sesión. Por ejemplo, cuando el usuario se crea mediante la sintaxis
CREATE USER [myAadUser] FROM LOGIN [john@contoso.com]y se intenta suplantar la identidad medianteEXEC AS USER = myAadUser. Cuando cree una instancia de USER a partir de un inicio de sesión de Microsoft Entra, especifique el nombre de usuario como el mismo nombre de inicio de sesión desde LOGIN.Solo los inicios de sesión de nivel de SQL Server que forman parte del rol
sysadminpueden ejecutar las siguientes operaciones dirigidas a las entidades de seguridad de Microsoft Entra:- EJECUTAR COMO USUARIO
- EJECUTAR COMO INICIO DE SESIÓN
Para suplantar a un usuario con la instrucción EXECUTE AS, el usuario se debe asignar directamente al inicio de sesión de Microsoft Entra. Los usuarios que son miembros de grupos de Microsoft Entra asignados a entidades de seguridad de servidor de Microsoft Entra no se pueden suplantar eficazmente con la instrucción EXECUTE AS, aunque el autor de la llamada tenga permisos de suplantación en el nombre de usuario especificado.
Se admite la exportación e importación de bases de datos con archivos bacpac para usuarios de Microsoft Entra en SQL Managed Instance mediante SSMS V18.4 o una versión posterior o SqlPackage.
- Se admiten las siguientes configuraciones mediante el uso del archivo bacpac de base de datos:
- Exportar o importar una base de datos entre diferentes instancias administradas en el mismo dominio de Microsoft Entra.
- Exportar una base de datos desde una instancia administrada de SQL e importarla a SQL Database en el mismo dominio de Microsoft Entra.
- Exportar una base de datos desde SQL Database e importarla a una instancia administrada de SQL en el mismo dominio de Microsoft Entra.
- Exportar una base de datos desde una Instancia administrada de SQL e importarla a SQL Server (versión 2012 o posterior).
- En esta configuración, todos los usuarios de Microsoft Entra se crean como entidades de seguridad de base de datos de SQL Server (usuarios) sin inicios de sesión. El tipo de usuarios es
SQLy es visible comoSQL_USERensys.database_principals. Sus permisos y roles se conservan en los metadatos de la base de datos de SQL Server y se pueden usar para la suplantación. Pero no se pueden usar para acceder e iniciar sesión en SQL Server con sus credenciales.
- En esta configuración, todos los usuarios de Microsoft Entra se crean como entidades de seguridad de base de datos de SQL Server (usuarios) sin inicios de sesión. El tipo de usuarios es
- Se admiten las siguientes configuraciones mediante el uso del archivo bacpac de base de datos:
Solo el inicio de sesión de la entidad de seguridad de nivel de servidor, que crea el proceso de aprovisionamiento de SQL Managed Instance, los miembros de los roles de servidor, como
securityadminosysadmin, u otros inicios de sesión con el permiso ALTER ANY LOGIN en el nivel de servidor pueden crear entidades de seguridad (inicios de sesión) de servidor de Microsoft Entra en la base de datosmasterpara SQL Managed Instance.A los inicios de sesión basados en autenticación de SQL se les debe asignar el rol
sysadmina fin de crear inicios de sesión para identidades de Microsoft Entra.El inicio de sesión debe ser miembro del mismo inquilino de Microsoft Entra en el que se hospeda la instancia de Azure SQL Managed Instance.
Las entidades de seguridad (inicios de sesión) de servidor de Microsoft Entra son visibles en el explorador de objetos a partir de la versión preliminar 5 de SQL Server Management Studio 18.0.
Una entidad de seguridad de servidor con el nivel de acceso sysadmin se crea automáticamente para el administrador de Microsoft Entra una vez que se habilita en una instancia.
Durante la autenticación, se aplica la siguiente secuencia para resolver la entidad de seguridad de autenticación:
- Si la cuenta de Microsoft Entra se asigna directamente a un inicio de sesión de Microsoft Entra, que está presente en
sys.server_principalscomo tipo "E", conceda acceso y aplique permisos de ese inicio de sesión. - Si la cuenta de Microsoft Entra es miembro de un grupo que se asigna a un inicio de sesión de Microsoft Entra, que está presente en
sys.server_principalscomo tipo "X", conceda acceso y aplique permisos de ese inicio de sesión. - Si la cuenta de Microsoft Entra existe como directamente asignada a un usuario de Microsoft Entra de una base de datos, presente en
sys.database_principalscomo tipo "E", conceda acceso y aplique los permisos del usuario de base de datos de Microsoft Entra. - Si la cuenta de Microsoft Entra es miembro de un grupo de Microsoft Entra asignado a un usuario de Microsoft Entra de una base de datos, presente en
sys.database_principalscomo tipo "X", conceda acceso y aplique los permisos del usuario del grupo de Microsoft Entra.
- Si la cuenta de Microsoft Entra se asigna directamente a un inicio de sesión de Microsoft Entra, que está presente en
Clave maestra de servicio y clave de servicio
- No se admiten las copias de seguridad de la clave maestra (administrada por el servicio de SQL Database).
- No se admite la restauración de la clave maestra (administrada por el servicio de SQL Database).
- No se admiten las copias de seguridad de la clave maestra del servicio (administrada por el servicio de SQL Database).
- No se admite la restauración de la clave maestra del servicio (administrada por el servicio de SQL Database).
Configuración
Extensión del grupo de búferes
- No se admite la extensión del grupo de búferes.
-
ALTER SERVER CONFIGURATION SET BUFFER POOL EXTENSIONno se admite. Consulte ALTER SERVER CONFIGURATION.
Intercalación
La intercalación de la instancia predeterminada es SQL_Latin1_General_CP1_CI_AS y puede especificarse como un parámetro de creación. Consulte Intercalaciones.
Niveles de compatibilidad
- Los niveles de compatibilidad admitidos son 100, 110, 120, 130, 140, 150 y 160.
- No se admiten los niveles de compatibilidad menores que 100.
- El nivel de compatibilidad predeterminado es 150 para las bases de datos nuevas. Para las bases de datos restauradas, el nivel de compatibilidad no cambiará si era 100 o superior.
Consulte Nivel de compatibilidad de ALTER DATABASE.
Creación de reflejo de la base de datos
No se admite la creación de reflejo de la base de datos.
- Las opciones
ALTER DATABASE SET PARTNERySET WITNESSno se admiten. -
CREATE ENDPOINT ... FOR DATABASE_MIRRORINGno se admite.
Para obtener más información, vea ALTER DATABASE SET PARTNER y SET WITNESS y CREATE ENDPOINT ... FOR DATABASE_MIRRORING.
Opciones de base de datos
- No se permite usar varios archivos de registro.
- No se admiten objetos en memoria caché en el nivel de servicio de uso general.
- Hay un límite de 280 archivos por instancia de uso general, lo cual implica un máximo de 280 archivos por base de datos. Los datos y archivos de registro en el nivel de uso general cuentan para este límite. El nivel Crítico para la empresa admite 32 767 archivos por base de datos.
- La base de datos no puede contener grupos de archivos que contengan datos FILESTREAM. Se produce un error en la restauración si
.bakcontiene datosFILESTREAM. - Todos los archivos se colocan en Azure Blob Storage. La E/S y el rendimiento por archivo dependen del tamaño de cada archivo individual.
Instrucción CREATE DATABASE
Se aplican las siguientes limitaciones a CREATE DATABASE:
No se pueden definir archivos y grupos de archivos.
Se agregan automáticamente un grupo de archivos y un archivo optimizados para memoria y se denominan XTP.
La opción
CONTAINMENTno se admite.Las opciones
WITHno se admiten.Sugerencia
Como alternativa, use
ALTER DATABASEdespués deCREATE DATABASEpara establecer las opciones de la base de datos para agregar archivos o establecer el contenedor.La opción
FOR ATTACHno se admite.La opción
AS SNAPSHOT OFno se admite.
Para más información, consulte CREATE DATABASE.
instrucción ALTER DATABASE
Algunas propiedades de archivo no se pueden establecer ni cambiar:
- No se puede especificar una ruta de acceso del archivo en la instrucción T-SQL
ALTER DATABASE ADD FILE (FILENAME='path'). QuiteFILENAMEdel script porque una Instancia administrada de SQL coloca automáticamente los archivos. - El nombre del archivo no se puede cambiar mediante la instrucción
ALTER DATABASE. - No se permite modificar el archivo XTP ni el grupo de archivos.
Las siguientes opciones se establecen de forma predeterminada y no se pueden cambiar:
MULTI_USERENABLE_BROKERAUTO_CLOSE OFF
Las opciones siguientes no se pueden modificar:
AUTO_CLOSEAUTOMATIC_TUNING(CREATE_INDEX=ON|OFF)AUTOMATIC_TUNING(DROP_INDEX=ON|OFF)DISABLE_BROKEREMERGENCYENABLE_BROKERFILESTREAMHADRNEW_BROKEROFFLINEPAGE_VERIFYPARTNERREAD_ONLYRECOVERY BULK_LOGGEDRECOVERY_SIMPLEREMOTE_DATA_ARCHIVERESTRICTED_USERSINGLE_USERWITNESS
Es posible que algunas instrucciones ALTER DATABASE (por ejemplo, SET CONTAINMENT) no se puedan realizar de forma transitoria, por ejemplo, durante la copia de seguridad automatizada o justo después de crear una base de datos. En este caso, la instrucción ALTER DATABASE debe volver a intentarse. Para obtener más información sobre los mensajes de error relacionados, consulte la sección Comentarios.
Para más información, consulte ALTER DATABASE.
Agente SQL Server
- La habilitación o deshabilitación del Agente SQL Server no se admite actualmente en la Instancia administrada de SQL. El Agente SQL se ejecuta de forma continua.
- No se admite el desencadenador de programación de trabajos basado en una CPU inactiva.
- La configuración del Agente SQL Server es de solo lectura. El procedimiento
sp_set_agent_propertiesno se admite en la Instancia administrada de SQL. - Trabajos
- Se admiten los pasos de trabajo de T-SQL.
- Se admiten los siguientes trabajos de replicación:
- Lector del registro de transacciones
- Instantánea
- Distribuidor.
- Se admiten los pasos de trabajo de SSIS.
- Actualmente no se admiten estos otros tipos de pasos de trabajo:
- No se admite el paso de trabajo de replicación de mezcla.
- No se admite el lector de colas.
- Aún no se admite el shell de comandos.
- La Instancia administrada de SQL no puede acceder a los recursos externos como, por ejemplo, a los recursos compartidos de red a través de robocopy.
- No se admite SQL Server Analysis Services.
- Las notificaciones se admiten parcialmente.
- Se admite la notificación por correo electrónico, aunque es necesario configurar un perfil de Correo electrónico de base de datos. Agente SQL Server solo puede usar un perfil de Correo electrónico de base de datos y se debe llamar
AzureManagedInstance_dbmail_profile.- El buscapersonas no se admite.
- No se admite NetSend.
- Aún no se admiten las alertas.
- No se admiten los servidores proxy.
- No se admite EventLog.
- El usuario debe estar asignado directamente al inicio de sesión del servidor de Microsoft Entra para crear, modificar o ejecutar trabajos del Agente SQL. Los usuarios que no estén directamente asignados, por ejemplo, los que pertenezcan a un grupo de Microsoft Entra que tenga derechos para crear, modificar o ejecutar trabajos del Agente SQL, no podrán realizar estas acciones de forma eficaz. Esto se debe a la suplantación de SQL Managed Instance y las limitaciones de EXECUTE AS.
- No se admite la característica de administración multiservidor para los trabajos de maestro y destino (MSX/TSX).
Para más información acerca del Agente SQL Server, consulte Agente SQL Server.
Tablas
No se admiten los siguientes tipos de tablas:
- FLUJO DE ARCHIVOS
- Tablas de archivos
- TABLA EXTERNA (excepto PolyBase)
- MEMORY_OPTIMIZED (únicamente no se admite en el nivel Uso general)
Para más información sobre cómo crear y modificar tablas, consulte CREATE TABLE y ALTER TABLE.
Funcionalidades
INSERCIÓN MASIVA / OPENROWSET
Una Instancia administrada de SQL no puede acceder a los recursos compartidos de archivos ni carpetas de Windows, por lo que los archivos se deben importar desde Azure Blob Storage:
-
DATASOURCEes necesario en el comandoBULK INSERTdurante la importación de archivos desde Azure Blob Storage. Consulte BULK INSERT. -
DATASOURCEse necesita en la funciónOPENROWSETcuando se lee el contenido de un archivo desde Azure Blob Storage. Consulte OPENROWSET. -
OPENROWSETse puede usar para leer datos de Azure SQL Database, Instancia administrada de Azure SQL o instancias de SQL Server. No se admiten otros orígenes, como bases de datos de Oracle o archivos de Excel.
CLR
Una Instancia administrada de SQL no puede acceder a los recursos compartidos de archivos ni a las carpetas de Windows, por lo que se aplican las siguientes restricciones:
- Solo se admite
CREATE ASSEMBLY FROM BINARY. Consulte CREATE ASSEMBLY FROM BINARY. -
CREATE ASSEMBLY FROM FILEno se admite. Consulte CREATE ASSEMBLY FROM FILE. -
ALTER ASSEMBLYno puede hacer referencia a archivos. Consulte ALTER ASSEMBLY.
Correo electrónico de base de datos: (db_mail)
-
sp_send_dbmailno puede enviar datos adjuntos con el parámetro @file_attachments. El sistema de archivos local y los recursos compartidos externos, o Azure Blob Storage, no son accesibles con este procedimiento. - Vea los problemas conocidos relacionados con el parámetro
@queryy la autenticación.
DBCC
La Instancia administrada de SQL no admite instrucciones DBCC no documentadas que estén habilitadas en SQL Server.
- Solo se admite un número limitado de marcas de seguimiento globales. No se admiten las
Trace flagsen el nivel de sesión. Consulte Establecimiento de marcas de seguimiento con DBCC TRACEON. - DBCC TRACEOFF y DBCC TRACEON funcionan con el número limitado de marcas trace-flags globales.
- No se puede usar DBCC CHECKDB con las opciones REPAIR_ALLOW_DATA_LOSS, REPAIR_FAST y REPAIR_REBUILD porque la base de datos no se puede establecer en el modo
SINGLE_USER; vea Diferencias de ALTER DATABASE. El equipo de soporte técnico de Azure se encarga de los posibles daños en la base de datos. Póngase en contacto con el soporte técnico de Azure si hay alguna indicación de daños en la base de datos.
Transacciones distribuidas
Las transacciones distribuidas basadas en T-SQL y .NET entre instancias administradas están disponibles con carácter general. Otros escenarios, como transacciones XA, transacciones distribuidas entre instancias administradas y otros participantes, se admiten con el Coordinador de transacciones distribuidas (DTC) para Azure SQL Managed Instance, que está disponible en versión preliminar pública.
Eventos extendidos
No se admiten algunos destinos específicos de Windows para Extended Events (XEvents):
- No se admite el destino
etw_classic_sync. Almacene los archivos.xelen Azure Blob Storage. Consulte Destino etw_classic_sync. - No se admite el destino
event_file. Almacene los archivos.xelen Azure Blob Storage. Consulte Destino event_file.
Bibliotecas externas
Las bibliotecas externas de R y Python en base de datos se admiten en la versión preliminar pública limitada. Consulte Machine Learning Services en Azure SQL Managed Instance.
FILESTREAM y FileTable
- No se admiten datos FILESTREAM.
- La base de datos no puede contener grupos de archivos con datos
FILESTREAM. -
FILETABLEno se admite. - Las tablas no pueden tener tipos
FILESTREAM. - No se admiten las siguientes funciones:
GetPathLocator()GET_FILESTREAM_TRANSACTION_CONTEXT()PathName()GetFileNamespacePat)FileTableRootPath()
Para más información, consulte FILESTREAM y FileTables.
Búsqueda semántica de texto completo
No se admite la búsqueda semántica.
Servidores vinculados
Los servidores vinculados en SQL Managed Instance admiten un número limitado de destinos:
- Los destinos admitidos son SQL Managed Instance, SQL Database, grupos de Azure Synapse SQL sin servidor y dedicados e instancias de SQL Server.
- Destinos no admitidos: archivos, Analysis Services y otros RDBMS. Intente usar la importación de CSV nativa desde Azure Blob Storage mediante
BULK INSERToOPENROWSETcomo alternativa para la importación de archivos, o cargue los archivos mediante un grupo de SQL sin servidor en Azure Synapse Analytics.
Operaciones:
- Se admite
sp_dropserverpara quitar un servidor vinculado. Consulte sp_dropserver. - La función
OPENROWSETse puede usar para ejecutar consultas solo en instancias de SQL Server. Se pueden administrar de forma local o en máquinas virtuales. Consulte OPENROWSET. - La función OPENDATASOURCE se puede usar para ejecutar consultas solo en instancias de SQL Server. Se pueden administrar de forma local o en máquinas virtuales. Un ejemplo es
SELECT * FROM OPENDATASOURCE('SQLNCLI', '...').AdventureWorks2022.HumanResources.Employee. Solo se admiten los valoresSQLNCLI,SQLNCLI11,SQLOLEDByMSOLEDBSQLcomo proveedor. SQL Server Native Client (a menudo abreviado SNAC) se ha quitado de SQL Server 2022 y SQL Server Management Studio 19 (SSMS). No se recomiendan SQL Server Native Client (SQLNCLI o SQLNCLI11) ni Microsoft OLE DB Provider for SQL Server (SQLOLEDB) heredado para el nuevo desarrollo. Cambie al nuevo Microsoft OLE DB Driver for SQL Server o a la versión más reciente de Microsoft ODBC Driver for SQL Server en el futuro. - Los servidores vinculados no se pueden usar para leer archivos (Excel y CSV) de los recursos compartidos de red. Intente usar BULK INSERT, OPENROWSET que lee los archivos CSV de Azure Blob Storage o un servidor vinculado que hace referencia a un grupo de SQL sin servidor en Synapse Analytics. Realice un seguimiento de estas solicitudes en el elemento de comentarios de la Instancia administrada de SQL.
Los servidores vinculados de Azure SQL Managed Instance admiten tanto la autenticación de SQL como la autenticación de Microsoft Entra.
PolyBase
La virtualización de datos con Azure SQL Managed Instance permite ejecutar consultas de Transact-SQL (T-SQL) en datos de archivos almacenados en Azure Data Lake Storage Gen2 o Azure Blob Storage, y combinarlos con datos relacionales almacenados localmente mediante combinaciones. Se admiten directamente los formatos de archivo Parquet y de texto delimitado (CSV). El formato de archivo JSON se admite indirectamente al especificar el formato de archivo CSV en el que las consultas devuelven cada documento como una fila independiente. Use JSON_VALUE y OPENJSON para analizar aún más las filas. Para obtener información general sobre PolyBase, consulte Virtualización de datos con PolyBase en SQL Server.
Además, CREATE EXTERNAL TABLE AS SELECT (CETAS) le permite exportar datos de la instancia administrada de SQL a una cuenta de almacenamiento externa. Puede usar CETAS para crear una tabla externa a partir de archivos Parquet o CSV en Azure Blob Storage o Azure Data Lake Storage (ADLS) Gen2. CETAS también puede exportar, en paralelo, los resultados de una instrucción SELECT de T-SQL en la tabla externa creada.
Replicación
- Se admiten los tipos de replicación de instantánea y bidireccional. No se admite la replicación de mezcla, la replicación punto a punto y las suscripciones actualizables.
-
La replicación transaccional está disponible para SQL Managed Instance con algunas restricciones:
- Todos los tipos de participantes de la replicación (editor, distribuidor, suscriptor de extracción y suscriptor de inserción) se pueden colocar en una Instancia administrada de SQL, pero el editor y el distribuidor deben estar tanto en la nube como en el entorno local.
- La Instancia administrada de SQL puede comunicarse con las versiones recientes de SQL Server. Para más información, consulte la matriz de versiones compatibles.
- La replicación transaccional tiene algunos requisitos de red adicionales.
Para obtener más información sobre la configuración de la replicación transaccional, vea los siguientes tutoriales:
- Tutorial: Configuración de la replicación entre dos instancias administradas
- Tutorial: Configuración de la replicación transaccional entre Azure SQL Managed Instance y SQL Server
Regulador de recursos
Se admite el regulador de recursos. Sin embargo, hay varias diferencias de comportamiento:
- Para modificar la configuración del regulador de recursos en INSTANCIA administrada de SQL, debe estar en el contexto de la
masterbase de datos en la réplica principal. - Los cambios de configuración del regulador de recursos realizados en la réplica principal se propagan a todas las réplicas secundarias. Sin embargo, es posible que los cambios en la configuración actual efectiva en una réplica secundaria no sean inmediatos. Para hacer que los cambios sean efectivos en una réplica secundaria, conéctese a la
masterbase de datos en una réplica secundaria y ejecuteALTER RESOURCE GOVERNOR RECONFIGURE. - En SQL Server, si la
REQUEST_MAX_CPU_TIME_SECconfiguración está configurada para un grupo de cargas de trabajo y una solicitud por lotes supera el tiempo de CPU configurado, elcpu_threshold_exceededevento se desencadena, pero la solicitud no finaliza a menos que se habilite una marca de seguimiento. En INSTANCIA administrada de SQL, se desencadena el mismo evento y la solicitud siempre finaliza. Para obtener más información, vea REQUEST_MAX_CPU_TIME_SEC. - El número máximo de grupos de recursos que puede crear es 40.
Instrucción RESTORE
- Sintaxis admitida:
RESTORE DATABASERESTORE FILELISTONLYRESTORE HEADERONLYRESTORE LABELONLYRESTORE VERIFYONLY
- Sintaxis no admitida:
RESTORE LOGONLYRESTORE REWINDONLY
- Origen:
- La única opción admitida es
FROM URL(Azure Blob Storage). - No se admite
FROM DISK/TAPE/dispositivo de copia de seguridad. - No se admiten los conjuntos de copia de seguridad.
- La única opción admitida es
- Las opciones
WITHno se admiten. Los intentos de restauración que incluyanWITH, comoDIFFERENTIAL,STATS,REPLACE, etc., generarán errores.
Una operación de restauración de base de datos es asincrónica y se puede reintentar en Azure SQL Managed Instance. Es posible que se genere un error en SSMS si se produce un error en la conexión o si expira el tiempo de espera. Azure SQL Managed Instance seguirá intentando restaurar la base de datos en segundo plano y se podrá realizar un seguimiento del progreso de la restauración mediante las vistas sys.dm_exec_requests y sys.dm_operation_status de administración dinámica.
Las siguientes opciones de base de datos se establecen o invalidan, y no se pueden cambiar más adelante:
-
NEW_BROKERsi el agente no está habilitado en el archivo .bak. -
ENABLE_BROKERsi el agente no está habilitado en el archivo .bak. -
AUTO_CLOSE=OFFsi una base de datos en el archivo .bak tieneAUTO_CLOSE=ON. -
RECOVERY FULLsi una base de datos en el archivo .bak tiene el modelo de recuperaciónSIMPLEoBULK_LOGGED. - Se agrega un grupo de archivos optimizado para memoria y se le asigna el nombre XTP si aún no se encuentra en el archivo .bak de origen.
- Se cambia el nombre de todos los grupos de archivos optimizados para memoria existentes a XTP.
- Las opciones
SINGLE_USERyRESTRICTED_USERse convierten enMULTI_USER.
Limitaciones:
- Las copias de seguridad de las bases de datos dañadas pueden restaurarse en función del tipo de daños, pero no se realizan copias de seguridad automatizadas mientras no se corrija el daño. Asegúrese de ejecutar
DBCC CHECKDBen la Instancia administrada de SQL de origen y de usar la copia de seguridadWITH CHECKSUMpara evitar este problema. - La restauración de un archivo
.BAKde una base de datos que contenga alguna de las limitaciones descritas en este documento (por ejemplo, objetosFILESTREAMoFILETABLE) no se puede llevar a cabo en SQL Managed Instance. - Los archivos
.BAKque contienen varios conjuntos de copia de seguridad no se pueden restaurar. - Los archivos
.BAKque contienen varios archivos de registro no se pueden restaurar. - Las copias de seguridad que contienen bases de datos con un tamaño superior a 8 TB, objetos OLTP en memoria activos o una cantidad de archivos superior a 280 por instancia no se pueden restaurar en una instancia de Uso general.
- Las copias de seguridad que contienen bases de datos con un tamaño superior a 4 TB u objetos OLTP en memoria con un tamaño total superior al descrito en los límites de recursos no se pueden restaurar en una instancia de tipo Crítico para la empresa. Para más información acerca de las instrucciones Restore, consulte Instrucciones RESTORE.
Importante
Las mismas limitaciones se aplican a una operación de restauración a un momento dado integrada. Por ejemplo, la base de datos de uso general superior a 4 TB no se puede restaurar en la instancia crítica para la empresa. La base de datos crítica para la empresa con archivos OLTP en memoria o más de 280 archivos no se puede restaurar en la instancia de uso general.
Service Broker
El intercambio de mensajes de Service Broker entre instancias solo se admite entre instancias de Azure SQL Managed Instance:
-
CREATE ROUTE: no puede usarCREATE ROUTEconADDRESSque no seaLOCALo el nombre DNS de otra instancia de SQL Managed Instance. El puerto siempre es 4022. -
ALTER ROUTE: no puede usarALTER ROUTEconADDRESSque no seaLOCALo el nombre DNS de otra instancia de SQL Managed Instance. El puerto siempre es 4022.
Se admite la seguridad de transporte, pero no la seguridad de diálogo:
-
CREATE REMOTE SERVICE BINDINGno se admite.
Service Broker está habilitado de forma predeterminada para las bases de datos recién creadas y no se puede deshabilitar. El estado de Service Broker para las bases de datos restauradas o migradas se hereda de la base de datos de origen y no se puede cambiar. No se admiten las siguientes opciones de ALTER DATABASE:
ENABLE_BROKERDISABLE_BROKER
Procedimientos almacenados, funciones y desencadenadores
-
NATIVE_COMPILATIONno se admite en el nivel De uso general. - No se admiten las siguientes opciones de sp_configure:
allow polybase exportallow updatesfilestream_access_levelremote accessremote data archiveremote proc transscan for startup procs
- Las siguientes opciones de sp_configure se omiten y no tienen ningún efecto:
Ole Automation Procedures
-
sp_execute_external_scriptssolo se admite para Machine Learning Services en Azure SQL Managed Instance; de lo contrariosp_execute_external_scripts, no se admite para SQL Managed Instance. Consulte sp_execute_external_scripts. -
xp_cmdshellno se admite. Consulte xp_cmdshell. -
Extended stored proceduresno se admiten, esto incluyesp_addextendedprocysp_dropextendedproc. Esta funcionalidad no se admitirá porque está en una ruta en desuso para SQL Server. Para obtener más información, vea Programación de procedimientos almacenados extendidos del motor de base de datos. - No se admiten
sp_attach_db,sp_attach_single_file_db, ysp_detach_db. Consulte sp_attach_db, sp_attach_single_file_db, y sp_detach_db. -
sp_addmessageno se admite en Azure SQL Managed Instance.
Variables y funciones del sistema
Las siguientes variables, funciones y vistas devuelven resultados diferentes:
-
SERVERPROPERTY('EngineEdition')devuelve el valor 8. Esta propiedad identifica de forma única una Instancia administrada de SQL. Consulte SERVERPROPERTY. -
SERVERPROPERTY('InstanceName')devuelveNULLporque el concepto de instancia tal como existe para SQL Server no se aplica a SQL Managed Instance. Consulte SERVERPROPERTY('InstanceName'). -
@@SERVERNAMEdevuelve un nombre DNS completo "conectable", por ejemplo,my-managed-instance.wcus17662feb9ce98.database.windows.net. Consulte @@SERVERNAME. -
SYS.SERVERSdevuelve un nombre "conectable" de DNS completo, comomyinstance.domain.database.windows.netpara las propiedades "name" y "data_source". Consulte sys.servers. -
@@SERVICENAMEdevuelveNULLporque el concepto de servicio tal como existe para SQL Server no se aplica a SQL Managed Instance. Consulte @@SERVICENAME. -
SUSER_IDes compatible. DevuelveNULLsi el inicio de sesión de Microsoft Entra no está ensys.syslogins. Consulte SUSER_ID. -
SUSER_SIDno se admite. Se devuelven los datos incorrectos, lo cual es un problema temporal conocido. Consulte SUSER_SID.
Restricciones del entorno
Subred
- No se puede colocar ningún otro recurso (por ejemplo, máquinas virtuales) en la subred en la que ha implementado SQL Managed Instance. Implemente estos recursos con una subred diferente.
- La subred debe tener un número de direcciones IP disponibles suficiente. El mínimo es tener al menos 32 direcciones IP en la subred.
- El número de núcleos virtuales y tipos de instancias que se pueden implementar en una región tiene algunas restricciones y límites.
- Hay una configuración de red que se debe aplicar en la subred.
Red virtual
- La red virtual se puede implementar mediante el modelo de recursos. El modelo clásico no admite la implementación de red virtual.
- Después de crear una instancia de SQL Managed Instance, no se admite el traslado de esa instancia o la red virtual a otro grupo de recursos o suscripción.
- En el caso de las instancias de SQL Managed Instance hospedadas en clústeres virtuales creados antes del 22 de septiembre de 2020, no se admite el emparejamiento global de redes virtuales. Puede conectarse a estos recursos a través de ExpressRoute o de red virtual a red virtual a través de puertas de enlace de red virtual.
Grupos de conmutación por error
Las bases de datos del sistema no se replican en la instancia secundaria de un grupo de conmutación por error. Por lo tanto, los escenarios que dependen de objetos de las bases de datos del sistema son imposibles en la instancia secundaria, a menos que los objetos se creen manualmente en la secundaria.
tempdb
- El tamaño máximo del archivo de la base de datos del sistema de
tempdbno puede ser mayor de 24 GB por núcleo en un nivel De uso general. El tamaño máximo detempdben un nivel Crítico para la empresa está limitado por el tamaño de almacenamiento de la Instancia administrada de SQL. El tamaño del archivo de registrotempdbestá limitado a 120 GB en el nivel de uso general. Algunas consultas podrían devolver un error si necesitan más de 24 GB por núcleo entempdbo si producen datos de registro superiores a 120 GB. -
tempdbsiempre se divide en 12 archivos de datos: 1 principal, también denominado archivo de datosmaster, y 11 archivos de datos no principales. La estructura de archivos no se puede modificar y los archivos nuevos no se pueden agregar atempdb. - Metadatos TempDB optimizados para memoria, una característica nueva de base de datos en memoria de SQL Server 2019, no se admite.
- Los objetos creados en la base de datos
modelno se pueden crear automáticamente entempdbdespués de un reinicio o una conmutación por error, porquetempdbno obtiene su lista de objetos inicial de la base de datosmodel. Debe crear los objetos entempdbmanualmente después de cada reinicio o de una conmutación por error.
msdb
Los siguientes esquemas de la base de datos del sistema de msdb en SQL Managed Instance deben ser propiedad de sus respectivos roles predefinidos:
- Roles generales
- TargetServersRole
-
Roles fijos de base de datos
- SQLAgentUserRole
- SQLAgentReaderRole (Rol de lector de SQLAgent)
- SQLAgentOperatorRole (Rol de Operador de SQL Agent)
-
Roles de DatabaseMail:
- DatabaseMailUserRole
-
Roles de Integration Services:
- db_ssisadmin
- db_ssisltduser
- db_ssisoperator
Importante
El cambio de los nombres de roles predefinidos, los nombres de esquema y los propietarios de esquemas por parte de los clientes afectará al funcionamiento normal del servicio. Los cambios que se realicen en estos se revertirán a los valores predefinidos en cuanto se detecten, o bien en la siguiente actualización del servicio en la última para garantizar el funcionamiento normal del servicio.
Registros de error
Una Instancia administrada de SQL coloca información detallada en los registros de errores. Existen muchos eventos internos del sistema que se archivan en el registro de errores. use un procedimiento personalizado para leer los registros de errores que filtran algunas entradas que no son pertinentes. Para obtener más información, consulte SQL Managed Instance : sp_readmierrorlog.
No se admite cambiar el número de registros de errores retenidos.