You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/relational-databases/in-memory-oltp/determining-if-a-table-or-stored-procedure-should-be-ported-to-in-memory-oltp.md
# Determining if a Table or Stored Procedure Should Be Ported to In-Memory OLTP
20
20
[!INCLUDE [SQL Server Azure SQL Database](../../includes/applies-to-version/sql-asdb.md)]
21
21
22
-
The Transaction Performance Analysis report in [!INCLUDE[ssManStudioFull](../../includes/ssmanstudiofull-md.md)] helps you evaluate if In-Memory OLTP will improve your database application's performance. The report also indicates how much work you must do to enable In-Memory OLTP in your application. After you identify a disk-based table to port to In-Memory OLTP, you can use the [Memory Optimization Advisor](../../relational-databases/in-memory-oltp/memory-optimization-advisor.md), to help you migrate the table. Similarly, the [Native Compilation Advisor](../../relational-databases/in-memory-oltp/native-compilation-advisor.md) will help you port a stored procedure to a natively compiled stored procedure. For information about migration methodologies, see [In-Memory OLTP - Common Workload Patterns and Migration Considerations](https://msdn.microsoft.com/library/dn673538.aspx).
22
+
The Transaction Performance Analysis report in [!INCLUDE[ssManStudioFull](../../includes/ssmanstudiofull-md.md)] helps you evaluate if In-Memory OLTP will improve your database application's performance. The report also indicates how much work you must do to enable In-Memory OLTP in your application. After you identify a disk-based table to port to In-Memory OLTP, you can use the [Memory Optimization Advisor](../../relational-databases/in-memory-oltp/memory-optimization-advisor.md), to help you migrate the table. Similarly, the [Native Compilation Advisor](../../relational-databases/in-memory-oltp/native-compilation-advisor.md) will help you port a stored procedure to a natively compiled stored procedure. For information about migration methodologies, see [In-Memory OLTP - Common Workload Patterns and Migration Considerations](/previous-versions/dn673538(v=msdn.10)).
23
23
24
24
The Transaction Performance Analysis report is run directly against the production database, or a test database with an active workload that is similar to the production workload.
> The performance of a database system is dependent on a variety of factors, not all of which the transaction performance collector can observe and measure. Therefore, the transaction performance analysis report does not guarantee actual performance gains will match its predictions, if any predictions are made.
36
36
37
-
The Transaction Performance Analysis report and the migration advisors are installed as part of SQL Server Management Studio (SSMS) when you select **Management Tools-Basic** or **Management Tools-Advanced** when you install [!INCLUDE[ssCurrent](../../includes/sscurrent-md.md)], or when you [Download SQL Server Management Studio](https://msdn.microsoft.com/library/mt238290.aspx).
37
+
The Transaction Performance Analysis report and the migration advisors are installed as part of SQL Server Management Studio (SSMS) when you select **Management Tools-Basic** or **Management Tools-Advanced** when you install [!INCLUDE[ssCurrent](../../includes/sscurrent-md.md)], or when you [Download SQL Server Management Studio](../../ssms/download-sql-server-management-studio-ssms.md).
38
38
39
39
## Transaction Performance Analysis Reports
40
40
You can generate transaction performance analysis reports in **Object Explorer** by right-clicking on the database, selecting **Reports**, then **Standard Reports**, and then **Transaction Performance Analysis Overview**. The database needs to have an active workload, or a recent run of a workload, in order to generate a meaningful analysis report.
@@ -168,6 +168,5 @@ Scan and contention statistics on the table details report is gathered and aggre
168
168
- A migration checklist report for <object_name> is the only report in the location specified by folder_path2.
169
169
170
170
## See Also
171
-
[Migrating to In-Memory OLTP](../../relational-databases/in-memory-oltp/migrating-to-in-memory-oltp.md)
172
-
171
+
[Migrating to In-Memory OLTP](./plan-your-adoption-of-in-memory-oltp-features-in-sql-server.md)
Copy file name to clipboardExpand all lines: docs/relational-databases/in-memory-oltp/estimate-memory-requirements-for-memory-optimized-tables.md
+3-4Lines changed: 3 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,7 +20,7 @@ Memory-optimized tables require that sufficient memory exist to keep all of the
20
20
21
21
Whether you are creating a new memory-optimized table or migrating an existing disk-based table to an [!INCLUDE[hek_2](../../includes/hek-2-md.md)] memory-optimized table, it is important to have a reasonable estimate of each table's memory needs so you can provision the server with sufficient memory. This section describes how to estimate the amount of memory that you need to hold data for a memory-optimized table.
22
22
23
-
If you are contemplating migrating from disk-based tables to memory-optimized tables, before you proceed in this topic, see the topic [Determining if a Table or Stored Procedure Should Be Ported to In-Memory OLTP](../../relational-databases/in-memory-oltp/determining-if-a-table-or-stored-procedure-should-be-ported-to-in-memory-oltp.md) for guidance on which tables are best to migrate. All the topics under [Migrating to In-Memory OLTP](../../relational-databases/in-memory-oltp/migrating-to-in-memory-oltp.md) provide guidance on migrating from disk-based to memory-optimized tables.
23
+
If you are contemplating migrating from disk-based tables to memory-optimized tables, before you proceed in this topic, see the topic [Determining if a Table or Stored Procedure Should Be Ported to In-Memory OLTP](../../relational-databases/in-memory-oltp/determining-if-a-table-or-stored-procedure-should-be-ported-to-in-memory-oltp.md) for guidance on which tables are best to migrate. All the topics under [Migrating to In-Memory OLTP](./plan-your-adoption-of-in-memory-oltp-features-in-sql-server.md) provide guidance on migrating from disk-based to memory-optimized tables.
24
24
25
25
## Basic Guidance for Estimating Memory Requirements
26
26
@@ -126,7 +126,7 @@ SELECT COUNT(DISTINCT [Col2])
126
126
127
127
If you are creating a new table, you'll need to estimate the array size or gather data from your testing prior to deployment.
128
128
129
-
For information on how hash indexes work in [!INCLUDE[hek_2](../../includes/hek-2-md.md)] memory-optimized tables, see [Hash Indexes](https://msdn.microsoft.com/library/f4bdc9c1-7922-4fac-8183-d11ec58fec4e).
129
+
For information on how hash indexes work in [!INCLUDE[hek_2](../../includes/hek-2-md.md)] memory-optimized tables, see [Hash Indexes](/previous-versions/sql/sql-server-2016/dn133190(v=sql.130)).
130
130
131
131
#### Setting the hash index array size
132
132
@@ -188,5 +188,4 @@ The above calculations estimate your memory needs for the table as it currently
188
188
189
189
## See Also
190
190
191
-
[Migrating to In-Memory OLTP](../../relational-databases/in-memory-oltp/migrating-to-in-memory-oltp.md)
192
-
191
+
[Migrating to In-Memory OLTP](./plan-your-adoption-of-in-memory-oltp-features-in-sql-server.md)
Copy file name to clipboardExpand all lines: docs/relational-databases/in-memory-oltp/faster-temp-table-and-table-variable-by-using-memory-optimization.md
+2-3Lines changed: 2 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -423,11 +423,10 @@ If the memory-optimized table variable is accessed only with one exact key value
-[Defining Durability for Memory-Optimized Objects.](../../relational-databases/in-memory-oltp/defining-durability-for-memory-optimized-objects.md)
429
429
430
430
-[Cumulative Update to eliminate chance of improper Out Of Memory errors, announced in blog September 2017.](https://support.microsoft.com/help/4025208/fix-memory-leak-occurs-when-you-use-memory-optimized-tables-in-microso)
431
431
-[SQL Server 2016 build versions](https://support.microsoft.com/help/3177312/sql-server-2016-build-versions) provides full details of releases, service packs, and cumulative updates.
432
-
- These occasional improper errors did not occur in the Enterprise edition of SQL Server.
433
-
432
+
- These occasional improper errors did not occur in the Enterprise edition of SQL Server.
Copy file name to clipboardExpand all lines: docs/relational-databases/in-memory-oltp/implementing-a-case-expression-in-a-natively-compiled-stored-procedure.md
+1-2Lines changed: 1 addition & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -98,7 +98,6 @@ GO
98
98
```
99
99
100
100
## See Also
101
-
[Migration Issues for Natively Compiled Stored Procedures](../../relational-databases/in-memory-oltp/migration-issues-for-natively-compiled-stored-procedures.md)
101
+
[Migration Issues for Natively Compiled Stored Procedures](./a-guide-to-query-processing-for-memory-optimized-tables.md)
102
102
[Transact-SQL Constructs Not Supported by In-Memory OLTP](../../relational-databases/in-memory-oltp/transact-sql-constructs-not-supported-by-in-memory-oltp.md)
Copy file name to clipboardExpand all lines: docs/relational-databases/in-memory-oltp/implementing-identity-in-a-memory-optimized-table.md
+1-2Lines changed: 1 addition & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,6 +21,5 @@ IDENTITY is supported on a memory-optimized table, as long as the seed and incre
21
21
To increase the IDENTITY seed, insert a new row with an explicit value for the identity column, using the session option `SET IDENTITY_INSERT table_name ON`. With the insert of the row, the IDENTITY seed is changed to the explicitly inserted value, plus 1. For example, to increase the seed to 1000, insert a row with value 999 in the identity column. Generated identity values will then start at 1000.
22
22
23
23
## See Also
24
-
[Migrating to In-Memory OLTP](../../relational-databases/in-memory-oltp/migrating-to-in-memory-oltp.md)
25
-
24
+
[Migrating to In-Memory OLTP](./plan-your-adoption-of-in-memory-oltp-features-in-sql-server.md)
Copy file name to clipboardExpand all lines: docs/relational-databases/in-memory-oltp/implementing-merge-functionality-in-a-natively-compiled-stored-procedure.md
+1-2Lines changed: 1 addition & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -138,7 +138,6 @@ go
138
138
```
139
139
140
140
## See Also
141
-
[Migration Issues for Natively Compiled Stored Procedures](../../relational-databases/in-memory-oltp/migration-issues-for-natively-compiled-stored-procedures.md)
141
+
[Migration Issues for Natively Compiled Stored Procedures](./a-guide-to-query-processing-for-memory-optimized-tables.md)
142
142
[Transact-SQL Constructs Not Supported by In-Memory OLTP](../../relational-databases/in-memory-oltp/transact-sql-constructs-not-supported-by-in-memory-oltp.md)
After a user transaction commits, it identifies all queued items associated with the scheduler it ran on and then releases the memory. If the garbage collection queue on the scheduler is empty, it searches for any non-empty queue in the current NUMA node. If there is low transactional activity and there is memory pressure, the main garbage-collection thread can access garbage collect rows from any queue. If there is no transactional activity after (for example) deleting a large number of rows and there is no memory pressure, the deleted rows will not be garbage collected until the transactional activity resumes or there is memory pressure.
41
41
42
42
## See Also
43
-
[Managing Memory for In-Memory OLTP](https://msdn.microsoft.com/library/d82f21fa-6be1-4723-a72e-f2526fafd1b6)
44
-
43
+
[Managing Memory for In-Memory OLTP](/previous-versions/sql/sql-server-2016/dn465872(v=sql.130))
Copy file name to clipboardExpand all lines: docs/relational-databases/in-memory-oltp/in-memory-oltp-in-memory-optimization.md
+14-15Lines changed: 14 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -36,7 +36,7 @@ For a more detailed overview of In-Memory OLTP and a review of scenarios that se
36
36
> [!NOTE]
37
37
> **Try it out**
38
38
>
39
-
> In-Memory OLTP is available in Premium and Business Critical tier Azure SQL databases and elastic pools. To get started with In-Memory OLTP, as well as Columnstore in Azure SQL Database, see [Optimize Performance using In-Memory Technologies in SQL Database](https://azure.microsoft.com/documentation/articles/sql-database-in-memory/).
39
+
> In-Memory OLTP is available in Premium and Business Critical tier Azure SQL databases and elastic pools. To get started with In-Memory OLTP, as well as Columnstore in Azure SQL Database, see [Optimize Performance using In-Memory Technologies in SQL Database](/azure/azure-sql/in-memory-oltp-overview).
40
40
41
41
42
42
## In this section
@@ -47,18 +47,18 @@ For a more detailed overview of In-Memory OLTP and a review of scenarios that se
47
47
|[Quick Start 1: In-Memory OLTP Technologies for Faster Transact-SQL Performance](../../relational-databases/in-memory-oltp/survey-of-initial-areas-in-in-memory-oltp.md)|Delve right into In-Memory OLTP|
48
48
|[Overview and Usage Scenarios](../../relational-databases/in-memory-oltp/overview-and-usage-scenarios.md)|Overview of what In-Memory OLTP is, and what are the scenarios that see performance benefits.|
49
49
|[Requirements for Using Memory-Optimized Tables](../../relational-databases/in-memory-oltp/requirements-for-using-memory-optimized-tables.md)|Discusses hardware and software requirements and guidelines for using memory-optimized tables.|
50
-
|[In-Memory OLTP Code Samples](../../relational-databases/in-memory-oltp/in-memory-oltp-code-samples.md)|Contains code samples that show how to create and use a memory-optimized table.|
|[Memory-Optimized Table Variables](https://msdn.microsoft.com/library/bd102e95-53e2-4da6-9b8b-0e4f02d286d3)|Code example showing how to use a memory-optimized table variable instead of a traditional table variable to reduce tempdb use.|
53
-
|[Indexes on Memory-Optimized Tables](https://msdn.microsoft.com/library/86805eeb-6972-45d8-8369-16ededc535c7)|Introduces memory-optimized indexes.|
|[Managing Memory for In-Memory OLTP](https://msdn.microsoft.com/library/d82f21fa-6be1-4723-a72e-f2526fafd1b6)|Understanding and managing memory usage on your system.|
50
+
|[In-Memory OLTP Code Samples](./sample-database-for-in-memory-oltp.md)|Contains code samples that show how to create and use a memory-optimized table.|
|[Memory-Optimized Table Variables](./faster-temp-table-and-table-variable-by-using-memory-optimization.md)|Code example showing how to use a memory-optimized table variable instead of a traditional table variable to reduce tempdb use.|
53
+
|[Indexes on Memory-Optimized Tables](/sql/relational-databases/in-memory-oltp/indexes-for-memory-optimized-tables)|Introduces memory-optimized indexes.|
|[Managing Memory for In-Memory OLTP](/previous-versions/sql/sql-server-2016/dn465872(v=sql.130))|Understanding and managing memory usage on your system.|
56
56
|[Creating and Managing Storage for Memory-Optimized Objects](../../relational-databases/in-memory-oltp/creating-and-managing-storage-for-memory-optimized-objects.md)|Discusses data and delta files, which store information about transactions in memory-optimized tables.|
57
-
|[Backup, Restore, and Recovery of Memory-Optimized Tables](https://msdn.microsoft.com/library/3f083347-0fbb-4b19-a6fb-1818d545e281)|Discusses backup, restore, and recovery for memory-optimized tables.|
57
+
|[Backup, Restore, and Recovery of Memory-Optimized Tables](/previous-versions/sql/sql-server-2016/dn624160(v=sql.130))|Discusses backup, restore, and recovery for memory-optimized tables.|
58
58
|[Transact-SQL Support for In-Memory OLTP](../../relational-databases/in-memory-oltp/transact-sql-support-for-in-memory-oltp.md)|Discusses [!INCLUDE[tsql](../../includes/tsql-md.md)] support for [!INCLUDE[hek_2](../../includes/hek-2-md.md)].|
59
59
|[High Availability Support for In-Memory OLTP databases](../../relational-databases/in-memory-oltp/high-availability-support-for-in-memory-oltp-databases.md)|Discusses availability groups and failover clustering in [!INCLUDE[hek_2](../../includes/hek-2-md.md)].|
60
-
|[SQL Server Support for In-Memory OLTP](../../relational-databases/in-memory-oltp/sql-server-support-for-in-memory-oltp.md)|Lists new and updated syntax and features supporting memory-optimized tables.|
61
-
|[Migrating to In-Memory OLTP](../../relational-databases/in-memory-oltp/migrating-to-in-memory-oltp.md)|Discusses how to migrate disk-based tables to memory-optimized tables.|
60
+
|[SQL Server Support for In-Memory OLTP](./transact-sql-support-for-in-memory-oltp.md)|Lists new and updated syntax and features supporting memory-optimized tables.|
61
+
|[Migrating to In-Memory OLTP](./plan-your-adoption-of-in-memory-oltp-features-in-sql-server.md)|Discusses how to migrate disk-based tables to memory-optimized tables.|
62
62
| | |
63
63
64
64
## Links to other websites
@@ -69,13 +69,13 @@ This section provides links to other websites that contain information about In-
-[SQL Server In-Memory OLTP Internals Technical Whitepaper](https://msdn.microsoft.com/library/mt764316.aspx)
72
+
-[SQL Server In-Memory OLTP Internals Technical Whitepaper](./sql-server-in-memory-oltp-internals-for-sql-server-2016.md)
73
73
74
74
-[SQL Server In-Memory OLTP and Columnstore Feature Comparison](https://download.microsoft.com/download/D/0/0/D0075580-6D72-403D-8B4D-C3BD88D58CE4/SQL_Server_2016_In_Memory_OLTP_and_Columnstore_Comparison_White_Paper.pdf)
75
75
76
-
- What's new for In-Memory OLTP in SQL Server 2016, [Part 1](https://blogs.msdn.microsoft.com/sqlserverstorageengine/2015/11/12/in-memory-oltp-whats-new-in-sql2016-ctp3/) and [Part 2](https://blogs.msdn.microsoft.com/sqlserverstorageengine/2016/03/25/whats-new-for-in-memory-oltp-in-sql-server-2016-since-ctp3/)
76
+
- What's new for In-Memory OLTP in SQL Server 2016, [Part 1](/archive/blogs/sqlserverstorageengine/in-memory-oltp-whats-new-in-sql2016-ctp3) and [Part 2](/archive/blogs/sqlserverstorageengine/whats-new-for-in-memory-oltp-in-sql-server-2016-since-ctp3)
77
77
78
-
-[In-Memory OLTP - Common Workload Patterns and Migration Considerations](https://msdn.microsoft.com/library/dn673538.aspx)
78
+
-[In-Memory OLTP - Common Workload Patterns and Migration Considerations](/previous-versions/dn673538(v=msdn.10))
0 commit comments