Lesson Learned #444:Handling the “Row Value Expressions Exceeds Maximum Allowed” Error in SQL Server

This article is contributed. See the original author and article here.

Some days ago, we faced the following error message: “Msg 10738, Level 15, State 1, Line 2 The number of row value expressions in the INSERT statement exceeds the maximum allowed number of 1000 row values.” our customer is using ODBC Driver 18 for SQL Server and they got the previous message. With this complete error:  Error: (‘42000’, ‘[42000] [Microsoft][ODBC Driver 18 for SQL Server][SQL Server]The number of row value expressions in the INSERT statement exceeds the maximum allowed number of 1000 row values. (10738) (SQLExecDirectW)’).


 


Understanding the Error:


 


The error message you’re encountering, often referred to as “Row Value Expressions Exceeds Maximum Allowed,” occurs when you attempt to insert more than 1000 rows using a single INSERT statement. SQL Server has a built-in limitation that restricts the number of rows you can insert in one go to prevent performance and stability issues on the server.


 


Why Does It Happen?


This limitation exists to safeguard the server from processing excessively large insertions that could impact its performance negatively. By restricting the number of rows per INSERT statement, SQL Server can maintain a balance between data consistency and system resources.


 


Example of the script:


 

INSERT INTO MiTabla (ID, Edad) values
(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50),(1,50)

 


Solutions:


Now that we’ve established why this error occurs, let’s explore some potential solutions to address it:


 


Batched Insertions:


One straightforward approach to overcome this limitation is to divide your data into smaller batches and perform multiple INSERT statements. For example, if you need to insert 2000 rows, split them into two batches of 1000 rows each and execute two separate INSERT statements.

-- First batch
INSERT INTO MiTabla (ID, , Age)
VALUES
    -- 1000 rows here

-- Second batch
INSERT INTO MiTabla (ID, Age)
VALUES
    -- 1000 rows here

 


Use Temporary Tables or Staging Tables:


Another approach is to use temporary tables or staging tables to hold your data temporarily. You can insert your data into these tables in smaller chunks and then transfer the data to the target table using a series of INSERT INTO … SELECT statements.


 

-- Create a staging table
CREATE TABLE StagingTable (
    ID INT,
    Age INT
)

-- Insert data into the staging table in batches

-- Then transfer the data to the target table
INSERT INTO MiTabla (ID, Age)
SELECT ID, Age FROM StagingTable

 


Conclusion:


The “Row Value Expressions Exceeds Maximum Allowed” error in SQL Server serves as a safeguard to prevent excessive insertions in a single INSERT statement. By understanding why this error occurs and employing batched insertions or other strategies, you can efficiently manage and insert large datasets into your SQL Server database without encountering this limitation. You could find more information here: Table Value Constructor (Transact-SQL) – SQL Server | Microsoft Learn


 


 


 


 

Kusto NLog connector now supports Azure Data Explorer Free Clusters

Kusto NLog connector now supports Azure Data Explorer Free Clusters

This article is contributed. See the original author and article here.

Screenshot 2023-10-14 192356.png


Introduction


NLog is a popular logging framework used by developers to log messages from .NET applications. NLog, a robust logging framework, captures and stores critical information, providing essential insights for debugging and optimization.


 


Earlier in the summer we released the open-source NLog connector for Azure Data Explorer. Azure Data Explorer (ADX) is a fast and highly scalable data exploration service that can be used to store and analyze large volumes of data. 


 


In this blog post, we walk you through the latest enhancements in NLog connector for Azure Data Explorer which marks a significant leap forward in offering seamless integration with Azure Data Explorer for an unparalleled application behavior insights and monitoring.


 


In the latest connector update, a host of powerful features has been introduced. This includes seamless support for Free Azure Data Explorer Clusters and integration with KQL Database in Microsoft Fabric Real-Time Analytics. Now, developers can dive into the world of ADX without the need for an Azure account subscription or credit card. Simply create a free ADX account, and you’re all set to harness the full potential of your logs using an ADX cluster.


 


Leveraging the expressive power of Kusto Query Language (KQL), developers can uncover invaluable insights into their application’s behavior, performance metrics, error occurrences, and even detect anomalies. This newfound capability opens a world of possibilities for fine-tuning and optimizing applications based on data-driven decisions.


 


Moreover, bid farewell to the IngestionEndpoint property and embrace the power of Kusto Connection Strings. These strings serve as your all-access pass to a range of authentication modes, including the convenient User Prompt Authentication and the secure User Token Authentication.


 


Diving into the ADX Target Sample Application with latest updates


You can find the detailed initial setup steps in the previous blog post here: Getting started with NLog and Azure Data Explorer – Microsoft Community Hub


 


This will be like the previous blog but in context of Free Cluster and Connection string support.


 


Pre-requisites:



Steps


Create a table in Azure Data Explorer to store logs. The following command can be used to create a table with the name “ADXNLogSample”.


 

.create table ADXNLogSample (Timestamp:datetime, Level:string, Message:string, FormattedMessage:dynamic, Exception:string, Properties:dynamic)

 


Clone the NLog-ADX target git repo.


 

git clone https://github.com/Azure/azure-kusto-nlog-sink.git

 


Set the following environment variables in the sample application:



  • CONNECTION_STRING : Kusto ConnectionString of ADX cluster created.

  • Eg: Data Source=https://ingest-..kusto.windows.net;Fed=True

  • DATABASE: The name of the database to which data should be ingested into.


Simply build and run the application:



  • Install the ADX Target for NLog


The ADX Target for NLog is available as a NuGet package. To install it, open the Package Manager Console and enter the following command:


 

dotnet add package NLog.Azure.Kusto --version 2.0.1

 


Build the application and run it



  • Open a Powershell window, navigate to NLog ADX Target base folder and run the following command.   

    dotnet build


  • Once build got completed, navigate to src/Nlog.Azure.Kusto.Samples/ run the following command to run the sample application.

    dotnet run


  • This is making the sample application, open a login prompt in your default browser, where you need to enter your username and password.


asaharn_0-1697093574870.jpeg


 



  • The ingested log data can be verified by querying the created log table (ADXNLogSample in our case) by using the following KQL command.

    ADXNLogSample | take 10​



asaharn_1-1697093574880.png


Conclusion


The NLog Azure Data Explorer Target connector is a great tool for log management that allows developers to send their log messages to ADX for analysis and visualization. With the new features of the connector such as support for ADX free cluster and Microsoft Fabric cluster, developers can now use ADX without an Azure account or credit card. By using KQL queries, developers can gain insights into their application behavior, performance, errors, and anomalies. We hope this article has helped you understand how to use the new features of the connector and how to make sense of your logs using an ADX cluster.


 


Documentation: Ingest data with the NLog sink into Azure Data Explorer – Azure Data Explorer | Microsoft Learn


Open-Source Repository: Azure/azure-kusto-nlog-sink: Nlog custom target for storing logs to ADX (github.com)


NLog Kusto Connector Nuget: NuGet Gallery | NLog.Azure.Kusto 2.0.1


Cumulative Update #23 for SQL Server 2019 RTM

This article is contributed. See the original author and article here.

The 23rd cumulative update release for SQL Server 2019 RTM is now available for download at the Microsoft Downloads site. Please note that registration is no longer required to download Cumulative updates.
To learn more about the release or servicing model, please visit:



Starting with SQL Server 2017, we adopted a new modern servicing model. Please refer to our blog for more details on Modern Servicing Model for SQL Server


How Azure is keeping customers secure against the Rapid Reset DDoS Vulnerability

This article is contributed. See the original author and article here.

Bad actors can expose a new security vulnerability to initiate a DDoS attack on a customer’s infrastructure. This attack is leveraged against servers implementing the HTTP/2 protocol. Windows, .NET Kestrel, and HTTP .Sys (IIS) web servers are also impacted by the attack. Azure Guest Patching Service keeps customers secure by ensuring the latest security and critical updates are applied using Safe Deployment Practices on their VM and VM Scale Sets.  


 


As the latest security fixes are released from Windows and other Linux distributions, Azure will apply them for customers opted into to either Auto OS Image Upgrades or Auto Guest Patching. By opting into the auto update mechanisms through Azure, customers can remain proactive against security issues rather than reacting to attackers. Customers not leveraging the auto update capabilities through Azure Guest Patching Service are recommended to update their fleet with the latest security updates (KB5031364 for Windows and fix for CVE-2023-44487 related to Open-Source Software distributions).  


 


Without the latest security updates, organizations risk exposing their systems and data to potential security threats and web attacks. It is important for organizations to plan for this update to avoid any disruption to their business operations.  


 


Microsoft recommends enabling Azure Web Application Firewall (WAF) on Azure Front Door or Azure Application Gateway to further improve security posture. WAF rate limiting rules are effective in providing additional protection against these attacks. See additional recommendations from Microsoft Security Response Center for this vulnerability.  


 
Enabling Auto Update Features: Azure recommends the following features to ensure VM and VM Scale Sets are secured with the latest security and critical updates in a safe manner: 


 


Auto OS Image Upgrades: Azure replaces the OS disk with the latest OS Image. Supports rollback and rolls the upgrade across scale sets throughout all the regions. 


Auto Guest Patching: Azure applies the latest security and critical updates to an asset and rolls the update across the fleet throughout all the regions.  


 


The recent announcement of a new security issue is an important reminder for organizations to stay current with their software solutions to avoid any security or performance issues. Azure continues to keep customers secure by rolling out the latest security updates through multiple mechanisms for VM and VM Scale Sets in a safe manner. Customers are recommended to leverage the auto update capabilities in Azure to ensure they remain proactive against bad actors.  

Microsoft Syntex adds taxonomy and image tagging, OCR, content query, annotations, and more

Microsoft Syntex adds taxonomy and image tagging, OCR, content query, annotations, and more

This article is contributed. See the original author and article here.

Welcome to the fall! This month’s Microsoft Syntex update is gearing up to be a great one in the world of content processing. We have updates on Syntex taxonomy tagging and image tagging; a set of Syntex capabilities coming to preview for pay-as-you-go users; the general availability of the Syntex optical character recognition (OCR) is expanding to include PDF and TIFF support; and lastly, both Syntex OCR and Syntex structured document processing are moving to general availability.


 


Syntex taxonomy tagging and Syntex image tagging in general availability



In our previous blog post, we shared that Syntex taxonomy tagging and image tagging were rolling into general availability. We’re happy to share that both services have now completed rollout and are generally available to all Syntex pay-as-you-go users.


 


As a refresher, Syntex Taxonomy Tagging uses AI to help you label and organize documents by automatically tagging them with descriptive keywords, based on your taxonomy defined in SharePoint. By applying a taxonomy column and enabling taxonomy tagging, the document is automatically tagged with keywords from your term store to help with searching, sorting, filtering and more. This reduces manual work, and makes it faster and more efficient to categorize, find, and manage files in your document libraries. Overview of taxonomy tagging in Microsoft Syntex – Microsoft Syntex | Microsoft Learn


 


MicrosoftTeams-image (91).png


Taxonomy Tagging – the location column auto-populates based on your term store in this example


 


Syntex Image Tagging is now also generally available. Image Tagging is an AI-powered service that helps you label and organize images by automatically tagging them with descriptive keywords. These tags are stored as metadata to optimize searching, sorting, filtering, and managing your images. With this Syntex service, it’s much faster to categorize and search for specific images that you need. Overview of enhanced image tagging in Microsoft Syntex – Microsoft Syntex | Microsoft Learn


 


MicrosoftTeams-image (92).png
Image Tagging – images are auto-tagged with descriptive keywords



New features in preview for Syntex pay-as-you-go users



We’re excited to share that, for a limited time, Syntex pay-as-you-go users now get to use all the Syntex features previously only available to customers with the SharePoint Syntex seat license. If you’re not yet a Syntex customer, now is a particularly great time to give it a go. These services will be available as a preview through June 30, 2024.



1. Content query – an advanced, powerful search with custom metadata in a form-based interface
2. Universal annotation – add ink and highlights to additional file types like PDF & TIFF supported by our file viewer
3. Accelerators – preconfigured templates that leverage Syntex capabilities in an end-to-end solution for common scenarios like contract management and accounts payable
4. Taxonomy services – admin reporting on term set usage, easy import from SKOS-formatted taxonomies, and the ability to push a content type to a hub
5. Content processing rules – lightweight automation for common operations such as moving or copying a file, and setting a content type from the file name or path in SharePoint
6. PDF merge/extract – combine two or more PDF files into a new PDF file, or extract pages from one PDF into a new one


 


MicrosoftTeams-image (93).png


Site accelerator – preconfigured site templates for Accounts Payable


 


For Syntex pay-as-you-go customers, these capabilities will be readily available to you without taking any action or set up and without any additional charge. Microsoft Syntex features limited time license – Microsoft Syntex | Microsoft Learn



Syntex OCR and structured document processing will be generally available this month



Lastly, Syntex optical character recognition (OCR), which was previously in public preview, will be generally available this month! In images containing text – such as screenshots, scanned documents, or photographs – Syntex OCR automatically extracts the printed or handwritten text and makes it discoverable, searchable, and indexable.


 


It can be used for image-only files, now including PDF and TIFF as mentioned in the introduction, in OneDrive, SharePoint, Exchange, Windows devices and Teams messages. Searching for images is improved thanks to OCR, and IT admins can better secure images across OneDrive, SharePoint, Exchange, Teams and Windows devices with data loss prevention (DLP) policies.


 


MicrosoftTeams-image (94).png


Optical Character Recognition (OCR) auto-extracts text from images


 


You will also be able to use both the Syntex structured and freeform document processing features later this month when they become generally available as a new pay-as-you-go meter called “Structured document processing”. Unlike in the past, you will be able to use these services with your Azure subscription – no per-user license required, no AI Builder credits needed (but if you want to use AI Builder credits, we will still support that as well). Microsoft 365 roadmap ID 167309. Get started here.



Stay connected



And there you have it, lots of updates on Syntex services that will help your organization manage your content and improve content discovery, with less redundancy and greater efficiency. To get the latest on Syntex, join our mailing list for updates, and register for the upcoming October 18th Syntex Community Call.


 


Be sure to also connect with us at Microsoft Ignite, November 14-17, 2023, in Seattle or virtually!