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.
Herramienta de informes de rendimiento de transacciones (consulte Determinar si se debe portar una tabla o un procedimiento almacenado a In-Memory OLTP) le informa sobre qué procedimientos almacenados interpretados en la base de datos se beneficiarán si se portar para usar la compilación nativa. Después de identificar un procedimiento almacenado que le gustaría portar para usar la compilación nativa, puede usar el asesor de compilación nativo para ayudarle a migrar el procedimiento almacenado interpretado a la compilación nativa. Para obtener más información sobre los procedimientos almacenados compilados de forma nativa, vea Procedimientos almacenados compilados de forma nativa.
Para comenzar, conéctese a la instancia que contiene el procedimiento almacenado interpretado. Puede conectarse a la instancia de SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 o SQL Server 2014. Sin embargo, si desea realizar una operación de migración con el asesor, debe conectarse a una instancia de SQL Server 2014 en la que está habilitada In-Memory funcionalidad OLTP. Para obtener más información sobre In-Memory requisitos de OLTP, consulte Requisitos para usar tablas de Memory-Optimized.
Para obtener información sobre las metodologías de migración, consulte In-Memory OLTP : patrones comunes de carga de trabajo y consideraciones de migración.
Tutorial con el Asesor de compilación nativo
En el Explorador de objetos, haga clic con el botón derecho en el procedimiento almacenado que desea convertir y seleccione Asesor de compilación nativo. Se mostrará la página de bienvenida del Asesor de Compilación Nativa para Procedimientos Almacenados. Haga clic en Siguiente para continuar.
Validación de procedimientos almacenados
Esta página notificará si el procedimiento almacenado usa cualquier construcción que no sea compatible con la compilación nativa. Puede hacer clic en Siguiente para ver los detalles. Si hay construcciones que no son compatibles con la compilación nativa, puede hacer clic en Siguiente para ver los detalles.
Resultado de validación de procedimiento almacenado
Si hay construcciones que no son compatibles con la compilación nativa, la página Resultado de validación de procedimiento almacenado mostrará los detalles. Puede generar un informe (haga clic en Generar informe), salir del Asesor de compilación nativa y actualizar el código para que sea compatible con la compilación nativa.
Ejemplo de código
En el ejemplo siguiente se muestra un procedimiento almacenado interpretado y el procedimiento almacenado equivalente para la compilación nativa. En el ejemplo se presupone un directorio denominado c:\data.
CREATE DATABASE Demo
ON
PRIMARY(NAME = [Demo_data],
FILENAME = 'C:\DATA\Demo_data.mdf', size=500MB)
, FILEGROUP [Demo_fg] CONTAINS MEMORY_OPTIMIZED_DATA(
NAME = [Demo_dir],
FILENAME = 'C:\DATA\Demo_dir')
LOG ON (name = [Demo_log], Filename='C:\DATA\Demo_log.ldf', size=500MB)
COLLATE Latin1_General_100_BIN2;
GO
USE Demo;
GO
CREATE TABLE [dbo].[SalesOrders]
(
[order_id] [int] NOT NULL,
[order_date] [datetime] NOT NULL,
[order_status] [tinyint] NOT NULL
CONSTRAINT [PK_SalesOrders] PRIMARY KEY NONCLUSTERED HASH
(
[order_id]
)WITH ( BUCKET_COUNT = 2097152)
)WITH ( MEMORY_OPTIMIZED = ON )
go
CREATE PROCEDURE [dbo].[InsertOrder] @id INT, @date DATETIME2, @status TINYINT
AS
BEGIN
INSERT dbo.SalesOrders VALUES (@id, @date, @status)
END
go
CREATE PROCEDURE [dbo].[InsertOrderXTP] @id INT, @date DATETIME2, @status TINYINT
WITH NATIVE_COMPILATION, SCHEMABINDING, EXECUTE AS OWNER
AS
BEGIN ATOMIC WITH
( TRANSACTION ISOLATION LEVEL = SNAPSHOT,
LANGUAGE = N'us_english')
INSERT dbo.SalesOrders VALUES (@id, @date, @status)
END
go
select * from SalesOrders
go
exec dbo.InsertOrder @id= 10, @date = '1956-01-01 12:00:00', @status = 1 ;
exec dbo.InsertOrderXTP @id= 11, @date = '1956-01-01 12:01:00', @status = 2 ;
select * from SalesOrders