Category: Microsoft
Category Archives: Microsoft
Lesson Learned #487: Identifying Parallel and High-Volume Queries in Azure SQL Database
Today, I worked on a service request that our customer needs to monitor and optimize queries that can significantly impact performance. This includes both queries running in parallel and those that, although executed with a single thread (MAXDOP 1), have a high volume of executions. In this article, we will explain a query that helps us identify these two types of queries in an Azure SQL Database.
The provided SQL query uses Dynamic Management Views (DMVs) in SQL Server to group and analyze execution statistics for queries. Let’s break down and explain each part of this query:
WITH QueryStats AS (
SELECT
query_hash,
SUM(total_worker_time) AS total_worker_time,
SUM(total_elapsed_time) AS total_elapsed_time,
SUM(execution_count) AS execution_count,
MAX(max_dop) AS total_dop
FROM
sys.dm_exec_query_stats
GROUP BY
query_hash
)
SELECT
qs.query_hash,
qs.execution_count,
qs.total_worker_time,
qs.total_elapsed_time,
qs.total_dop,
SUBSTRING(st.text,
(qs_statement.statement_start_offset/2) + 1,
((CASE qs_statement.statement_end_offset
WHEN -1 THEN DATALENGTH(st.text)
ELSE qs_statement.statement_end_offset
END – qs_statement.statement_start_offset)/2) + 1) AS query_text
FROM
QueryStats qs
CROSS APPLY
(SELECT TOP 1 *
FROM sys.dm_exec_query_stats qs_statement
WHERE qs.query_hash = qs_statement.query_hash) qs_statement
CROSS APPLY
sys.dm_exec_sql_text(qs_statement.sql_handle) AS st
ORDER BY
qs.total_worker_time DESC;
Breakdown of the Query
Common Table Expression (CTE): QueryStats
This part aggregates statistics from the sys.dm_exec_query_stats view, which contains performance statistics for cached query plans.
query_hash: A hash value used to identify queries that are similar in structure.
total_worker_time: Total CPU time used by the query.
total_elapsed_time: Total time taken for the query to execute.
execution_count: Number of times the query has been executed.
total_dop: Maximum degree of parallelism (DOP) used by the query.
Main Query:
qs.query_hash, qs.execution_count, qs.total_worker_time, qs.total_elapsed_time, qs.total_dop: These columns are selected from the CTE QueryStats.
query_text: Extracts the text of the query using the substring function, which extracts a portion of the query text from the sys.dm_exec_sql_text.
CROSS APPLY:
qs_statement: Retrieves the top row from sys.dm_exec_query_stats where the query_hash matches, providing detailed information for each query hash.
st: Retrieves the SQL text of the query using sys.dm_exec_sql_text with the SQL handle from qs_statement.
ORDER BY:
The final result is ordered by total_worker_time in descending order, showing the most CPU-intensive queries at the top.
How This Helps Identify Performance-Impacting Queries
Parallel Queries: Queries with a high total_dop value indicate parallel execution. While parallel execution can speed up individual queries, it can also lead to resource contention, especially if many queries run in parallel simultaneously.
High-Volume Queries: Queries with a high execution_count value but low total_dop are typically executed with MAXDOP 1. If these queries are executed frequently, they can still significantly impact the overall performance of the database.
By identifying both types of queries, database administrators can take actions such as query optimization, indexing, or adjusting the degree of parallelism settings to improve overall database performance.
Microsoft Tech Community – Latest Blogs –Read More
Formula for Countif
Good Morning Guys
I’m trying to do a countif formula. I want to count the amount of entrys in B based on the ranges between E&F to be added to total in H. Can any help. I’ve not really done ranges before. Or if anyone can suggest an alternative. I have enclosed a test excel.
Good Morning Guys I’m trying to do a countif formula. I want to count the amount of entrys in B based on the ranges between E&F to be added to total in H. Can any help. I’ve not really done ranges before. Or if anyone can suggest an alternative. I have enclosed a test excel. Read More
excell spreadsheet
I have a problem like i created an excell spreadsheet with details including pictures when i export it picture shows perfectly as i wanted but when i import it on my google site it doesn’t show pictures what can i be missing
Help please
I have a problem like i created an excell spreadsheet with details including pictures when i export it picture shows perfectly as i wanted but when i import it on my google site it doesn’t show pictures what can i be missing Help please Read More
Get metadata activity
I am unable to get the meta data after providing the source of the data
I am unable to get the meta data after providing the source of the data please suggest Read More
How to search for documents on subsites from parent site
Hi there,
I’m creating a SharePoint site structure that has a main site, along with a few sub-sites arranged in categories.
When I search on the main site document library, I want the documents from the sub-sites to show in the search results, but they currently aren’t doing.
Does anybody know how to change this setting? I’m just searching from the top search bar in the SharePoint Document Library on the parent site. Am I doing that wrong?
Thanks in advance!
Hi there, I’m creating a SharePoint site structure that has a main site, along with a few sub-sites arranged in categories. When I search on the main site document library, I want the documents from the sub-sites to show in the search results, but they currently aren’t doing. Does anybody know how to change this setting? I’m just searching from the top search bar in the SharePoint Document Library on the parent site. Am I doing that wrong? Thanks in advance! Read More
Problems network folders linked in excel after migrating to sharepoint (Excel,Sharepoint,PowerPivot)
I’m using Excel, Sharepoint, and PowerPivot with Office365
After migration to Sharepoint I need to redirect links in Excel that refer to other Excels contained in a previously network folder now in Sharepoint.
But I cannot locate the sharepoint connector in my excel, as it seems I should as specified in Microsoft documentation. (See images)
Any idea why it’s not working for me or how it should be done?
Best Regards.
I’m using Excel, Sharepoint, and PowerPivot with Office365 After migration to Sharepoint I need to redirect links in Excel that refer to other Excels contained in a previously network folder now in Sharepoint. But I cannot locate the sharepoint connector in my excel, as it seems I should as specified in Microsoft documentation. (See images) Any idea why it’s not working for me or how it should be done? Best Regards. Read More
Add a calendar ics with Powershell
Hello
I need to add a shared calendar (ics) for around thirty people
The calendar is from a company A, shared with company B.
I want to add this calendar (.ics) automatically for all users in powershell, I can’t find any Microsoft documentation on this subject or much on the internet, could you give me a script that would work?
Thank in advance
Hello I need to add a shared calendar (ics) for around thirty people The calendar is from a company A, shared with company B. I want to add this calendar (.ics) automatically for all users in powershell, I can’t find any Microsoft documentation on this subject or much on the internet, could you give me a script that would work? Thank in advance Read More
How To Ungroup items on the Taskbar in Windows 11
Troubleshooting Solutions: Ungroup items on the Taskbar
Windows 11 introduced several changes to the taskbar, including the grouping of similar items to streamline the user interface. However, if you prefer to have individual taskbar icons for each application, you can explore the following troubleshooting solutions:
Check Taskbar Settings: Start by right-clicking on an empty area of the taskbar and selecting “Taskbar settings” from the context menu. In the Taskbar settings window, look for an option related to taskbar behavior or grouping. Windows 11 might have introduced new settings for taskbar grouping that you can adjust to ungroup items.
Customize Taskbar Behaviors: Within the Taskbar settings, explore the various customization options available. Look for settings related to “Combine taskbar buttons” or “Group similar taskbar buttons.” Adjust these settings to your preference, choosing an option that prevents the taskbar from grouping similar items together.
Registry Editor Modification: For advanced users comfortable with making changes to the Windows Registry, there might be a solution using the Registry Editor. Open the Registry Editor by pressing Win + R, typing “regedit,” and hitting Enter. Navigate to the following key:
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced
Look for a DWORD value named “TaskbarGlomLevel.” If it doesn’t exist, you can create it. Set the value of TaskbarGlomLevel to 0 to disable taskbar grouping completely. Remember to back up your registry before making any changes and proceed with caution.
Third-Party Taskbar Customization Tools: Consider using third-party software designed for taskbar customization. There are several utilities available that offer extensive customization options beyond what’s provided in Windows settings. Look for reputable software that supports Windows 11 and specifically mentions taskbar customization as one of its features.
Restart Windows Explorer: Sometimes, restarting the Windows Explorer process can resolve taskbar-related issues. Press Ctrl + Shift + Esc to open the Task Manager. Locate “Windows Explorer” in the list of processes, right-click it, and select “Restart.” This action will refresh the taskbar and might reset any erroneous settings affecting taskbar grouping.
Windows Updates: Ensure that your Windows 11 installation is up to date with the latest updates from Microsoft. Sometimes, software updates include bug fixes and improvements that address issues with taskbar behavior. Go to Settings > Update & Security > Windows Update and check for any pending updates.
Feedback Hub Submission: If you’ve exhausted all troubleshooting options and still can’t ungroup taskbar items in Windows 11, consider submitting feedback through the Feedback Hub app. Microsoft values user feedback and might address the issue in future updates based on user reports.
By following these troubleshooting solutions, you should be able to resolve the issue of grouped taskbar items in Windows 11 and customize the taskbar to your preference, with individual icons for each application. Remember to approach advanced solutions, such as Registry Editor modifications, with caution and always backup important data before making changes.
Troubleshooting Solutions: Ungroup items on the Taskbar Windows 11 introduced several changes to the taskbar, including the grouping of similar items to streamline the user interface. However, if you prefer to have individual taskbar icons for each application, you can explore the following troubleshooting solutions: Check Taskbar Settings: Start by right-clicking on an empty area of the taskbar and selecting “Taskbar settings” from the context menu. In the Taskbar settings window, look for an option related to taskbar behavior or grouping. Windows 11 might have introduced new settings for taskbar grouping that you can adjust to ungroup items.Customize Taskbar Behaviors: Within the Taskbar settings, explore the various customization options available. Look for settings related to “Combine taskbar buttons” or “Group similar taskbar buttons.” Adjust these settings to your preference, choosing an option that prevents the taskbar from grouping similar items together.Registry Editor Modification: For advanced users comfortable with making changes to the Windows Registry, there might be a solution using the Registry Editor. Open the Registry Editor by pressing Win + R, typing “regedit,” and hitting Enter. Navigate to the following key:HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerAdvancedLook for a DWORD value named “TaskbarGlomLevel.” If it doesn’t exist, you can create it. Set the value of TaskbarGlomLevel to 0 to disable taskbar grouping completely. Remember to back up your registry before making any changes and proceed with caution.Third-Party Taskbar Customization Tools: Consider using third-party software designed for taskbar customization. There are several utilities available that offer extensive customization options beyond what’s provided in Windows settings. Look for reputable software that supports Windows 11 and specifically mentions taskbar customization as one of its features.Restart Windows Explorer: Sometimes, restarting the Windows Explorer process can resolve taskbar-related issues. Press Ctrl + Shift + Esc to open the Task Manager. Locate “Windows Explorer” in the list of processes, right-click it, and select “Restart.” This action will refresh the taskbar and might reset any erroneous settings affecting taskbar grouping.Windows Updates: Ensure that your Windows 11 installation is up to date with the latest updates from Microsoft. Sometimes, software updates include bug fixes and improvements that address issues with taskbar behavior. Go to Settings > Update & Security > Windows Update and check for any pending updates.Feedback Hub Submission: If you’ve exhausted all troubleshooting options and still can’t ungroup taskbar items in Windows 11, consider submitting feedback through the Feedback Hub app. Microsoft values user feedback and might address the issue in future updates based on user reports.By following these troubleshooting solutions, you should be able to resolve the issue of grouped taskbar items in Windows 11 and customize the taskbar to your preference, with individual icons for each application. Remember to approach advanced solutions, such as Registry Editor modifications, with caution and always backup important data before making changes. Read More
Tenant Restrictions v2 in windows Defender is Insecure
Recently I had a conversation with Microsoft and an implementation partner around direct access from managed laptops to M365 services. My contention was this is inherently insecure as without tenant restrictions in place users can go to their personal tenants and exfiltrate data. As such we bring everything back in our VPN to our corporate proxy and implement tenant restrictions there.
This is not an ideal user experience though as it means the user must have the VPN connected to access M365 and this adds bandwidth load to our VPN and is a generally poorer experience. We do split-tunnel MS teams traffic but only when the VPN is connected.
Both Microsoft and the parent indicated that Global Secure Access might be a future solution but this is not generally available. They also dictated to me that Tenant Restrictions V2 in Windows defender would work i.e. implement it directly in Widows 10
Now when I read the guide here Configure tenant restrictions – Microsoft Entra ID – Microsoft Entra External ID | Microsoft Learn it states
Tenant restrictions V2 on Windows is a partial solution that protects the authentication and data planes for some scenarios. It works on managed Windows devices and does not protect .NET stack, Chrome, or Firefox. The Windows solution provides a temporary solution until general availability of Universal tenant restrictions in Microsoft Entra Global Secure Access (preview).
As such, how can this be secure if a user simply needs to use powershell/.NET or Google chrome to bypass it?
Recently I had a conversation with Microsoft and an implementation partner around direct access from managed laptops to M365 services. My contention was this is inherently insecure as without tenant restrictions in place users can go to their personal tenants and exfiltrate data. As such we bring everything back in our VPN to our corporate proxy and implement tenant restrictions there.This is not an ideal user experience though as it means the user must have the VPN connected to access M365 and this adds bandwidth load to our VPN and is a generally poorer experience. We do split-tunnel MS teams traffic but only when the VPN is connected. Both Microsoft and the parent indicated that Global Secure Access might be a future solution but this is not generally available. They also dictated to me that Tenant Restrictions V2 in Windows defender would work i.e. implement it directly in Widows 10 Now when I read the guide here Configure tenant restrictions – Microsoft Entra ID – Microsoft Entra External ID | Microsoft Learn it states Tenant restrictions V2 on Windows is a partial solution that protects the authentication and data planes for some scenarios. It works on managed Windows devices and does not protect .NET stack, Chrome, or Firefox. The Windows solution provides a temporary solution until general availability of Universal tenant restrictions in Microsoft Entra Global Secure Access (preview). As such, how can this be secure if a user simply needs to use powershell/.NET or Google chrome to bypass it? Read More
How Fix QB Desktop 2022 Keeps Crashing on Windows 11?
Troubleshooting Solutions: QB Desktop 2022 Keeps Crashing
Check System Requirements: Ensure that your system meets the minimum requirements to run QB Desktop 2022. Inadequate hardware or outdated operating systems may cause instability. Verify compatibility with your operating system and hardware specifications.
Update QB Desktop: Ensure you’re using the latest version of QB Desktop 2022. Intuit regularly releases updates to address bugs and improve performance. Navigate to the Help menu within QB Desktop and select “Update QB Desktop” to install any available updates.
Verify Data Integrity: Corrupted company files can lead to frequent crashes. Run the built-in Verify and Rebuild Data utilities in QB Desktop to check for and repair data integrity issues. Navigate to File > Utilities > Verify Data, and if issues are detected, follow the prompts to Rebuild Data.
Disable Antivirus/Firewall: Sometimes, overzealous antivirus or firewall settings can interfere with QB Desktop’s functionality, leading to crashes. Temporarily disable these programs and check if QB Desktop continues to crash. If the issue resolves, adjust the settings to whitelist QB Desktop or create exceptions.
Review Event Viewer Logs (Windows): Windows Event Viewer logs can provide insights into the cause of QB Desktop crashes. Open Event Viewer (search for “Event Viewer” in the Start menu), navigate to Windows Logs > Application, and look for any error messages related to QB Desktop. Use these messages to diagnose the underlying issue.
Clean Installation: Perform a clean installation of QB Desktop to ensure that any corrupted installation files are removed. Uninstall QB Desktop, delete any leftover files and folders, then reinstall the software from scratch.
Check for Conflicting Applications: Certain third-party applications may conflict with QB Desktop, causing it to crash. Identify any recently installed software and uninstall or disable them temporarily to see if the crashes cease.
Contact Support: If the issue persists despite trying the above solutions, contact Intuit’s customer support for further assistance. Provide detailed information about the problem, including any error messages received, steps taken, and system specifications, to expedite the troubleshooting process.
By following these troubleshooting steps, you can identify and resolve the underlying issues causing QB Desktop 2022 to crash, restoring stability to your accounting software.
Troubleshooting Solutions: QB Desktop 2022 Keeps Crashing Check System Requirements: Ensure that your system meets the minimum requirements to run QB Desktop 2022. Inadequate hardware or outdated operating systems may cause instability. Verify compatibility with your operating system and hardware specifications.Update QB Desktop: Ensure you’re using the latest version of QB Desktop 2022. Intuit regularly releases updates to address bugs and improve performance. Navigate to the Help menu within QB Desktop and select “Update QB Desktop” to install any available updates.Verify Data Integrity: Corrupted company files can lead to frequent crashes. Run the built-in Verify and Rebuild Data utilities in QB Desktop to check for and repair data integrity issues. Navigate to File > Utilities > Verify Data, and if issues are detected, follow the prompts to Rebuild Data.Disable Antivirus/Firewall: Sometimes, overzealous antivirus or firewall settings can interfere with QB Desktop’s functionality, leading to crashes. Temporarily disable these programs and check if QB Desktop continues to crash. If the issue resolves, adjust the settings to whitelist QB Desktop or create exceptions.Review Event Viewer Logs (Windows): Windows Event Viewer logs can provide insights into the cause of QB Desktop crashes. Open Event Viewer (search for “Event Viewer” in the Start menu), navigate to Windows Logs > Application, and look for any error messages related to QB Desktop. Use these messages to diagnose the underlying issue.Clean Installation: Perform a clean installation of QB Desktop to ensure that any corrupted installation files are removed. Uninstall QB Desktop, delete any leftover files and folders, then reinstall the software from scratch.Check for Conflicting Applications: Certain third-party applications may conflict with QB Desktop, causing it to crash. Identify any recently installed software and uninstall or disable them temporarily to see if the crashes cease.Contact Support: If the issue persists despite trying the above solutions, contact Intuit’s customer support for further assistance. Provide detailed information about the problem, including any error messages received, steps taken, and system specifications, to expedite the troubleshooting process.By following these troubleshooting steps, you can identify and resolve the underlying issues causing QB Desktop 2022 to crash, restoring stability to your accounting software. Read More
Dealing with Intuit Data Protect not working because of Firewall or Connection Issues?
Troubleshooting Solutions: Intuit Data Protect not working because of Firewall or Connection Issues
Intuit Data Protect (IDP) is a critical tool for safeguarding your QuickBooks company files. However, issues with firewalls or connectivity can disrupt its functionality. Here’s a comprehensive guide to resolving these problems.
Firewall Configuration:Check Firewall Settings: Ensure that your firewall isn’t blocking Intuit Data Protect. Navigate to your firewall settings and add exceptions for IDP to allow incoming and outgoing connections.Configure Port Settings: IDP requires specific ports to be open for communication. Configure your firewall to allow traffic through ports 80, 443, 56728, and 55368.Third-Party Firewalls: If you’re using third-party security software, such as Norton or McAfee, adjust their settings to permit IDP traffic.Internet Connectivity:Network Connection: Verify that your computer has a stable internet connection. Weak or intermittent connections can disrupt IDP backups.Router Settings: Check your router’s configuration to ensure it’s not blocking IDP traffic. Port forwarding may be necessary for seamless communication.VPN Considerations: If you’re using a Virtual Private Network (VPN), confirm that it doesn’t interfere with IDP operations. Temporarily disable the VPN or configure it to allow IDP traffic.Software Updates:QuickBooks Updates: Ensure that your QuickBooks software is up to date. Sometimes, compatibility issues arise between QuickBooks updates and IDP versions.IDP Updates: Similarly, make sure that your Intuit Data Protect software is updated to the latest version. Newer releases often include bug fixes and compatibility improvements.Automatic Updates: Enable automatic updates for both QuickBooks and IDP to stay current with the latest enhancements and fixes.Antivirus Software:Scan Exclusions: Add IDP-related folders and processes to your antivirus software’s exclusion list. Scanning these files during IDP operations can lead to performance degradation.Real-Time Protection: Configure your antivirus software to avoid interfering with IDP processes. Disable real-time scanning temporarily to determine if it’s causing the issue.Whitelist IDP: If your antivirus offers a whitelist feature, add Intuit Data Protect to ensure it operates without interruptions.System Configuration:User Permissions: Ensure that you have sufficient permissions to run Intuit Data Protect. Administrative privileges may be required for certain operations.Resource Allocation: Check your system’s resource usage during IDP backups. Insufficient system resources, such as disk space or RAM, can impede IDP’s performance.Background Processes: Terminate unnecessary background processes that might compete for bandwidth or system resources during IDP backups.Technical Support:Intuit Support: If you’ve exhausted all troubleshooting steps without success, contact Intuit Support for assistance. They can provide personalized guidance and address specific issues related to your setup.Community Forums: Explore Intuit’s community forums to see if other users have encountered similar issues and found solutions. Peer-to-peer support can be invaluable in resolving complex problems.Professional Help: Consider consulting with a qualified IT professional if you’re unable to resolve the issue on your own. They can perform a comprehensive analysis of your system and network infrastructure to identify and rectify any underlying issues.
By following these troubleshooting steps, you can effectively address firewall or connection issues affecting Intuit Data Protect. Remember to document any changes made to your system configuration for future reference.
Troubleshooting Solutions: Intuit Data Protect not working because of Firewall or Connection Issues Intuit Data Protect (IDP) is a critical tool for safeguarding your QuickBooks company files. However, issues with firewalls or connectivity can disrupt its functionality. Here’s a comprehensive guide to resolving these problems. Firewall Configuration:Check Firewall Settings: Ensure that your firewall isn’t blocking Intuit Data Protect. Navigate to your firewall settings and add exceptions for IDP to allow incoming and outgoing connections.Configure Port Settings: IDP requires specific ports to be open for communication. Configure your firewall to allow traffic through ports 80, 443, 56728, and 55368.Third-Party Firewalls: If you’re using third-party security software, such as Norton or McAfee, adjust their settings to permit IDP traffic.Internet Connectivity:Network Connection: Verify that your computer has a stable internet connection. Weak or intermittent connections can disrupt IDP backups.Router Settings: Check your router’s configuration to ensure it’s not blocking IDP traffic. Port forwarding may be necessary for seamless communication.VPN Considerations: If you’re using a Virtual Private Network (VPN), confirm that it doesn’t interfere with IDP operations. Temporarily disable the VPN or configure it to allow IDP traffic.Software Updates:QuickBooks Updates: Ensure that your QuickBooks software is up to date. Sometimes, compatibility issues arise between QuickBooks updates and IDP versions.IDP Updates: Similarly, make sure that your Intuit Data Protect software is updated to the latest version. Newer releases often include bug fixes and compatibility improvements.Automatic Updates: Enable automatic updates for both QuickBooks and IDP to stay current with the latest enhancements and fixes.Antivirus Software:Scan Exclusions: Add IDP-related folders and processes to your antivirus software’s exclusion list. Scanning these files during IDP operations can lead to performance degradation.Real-Time Protection: Configure your antivirus software to avoid interfering with IDP processes. Disable real-time scanning temporarily to determine if it’s causing the issue.Whitelist IDP: If your antivirus offers a whitelist feature, add Intuit Data Protect to ensure it operates without interruptions.System Configuration:User Permissions: Ensure that you have sufficient permissions to run Intuit Data Protect. Administrative privileges may be required for certain operations.Resource Allocation: Check your system’s resource usage during IDP backups. Insufficient system resources, such as disk space or RAM, can impede IDP’s performance.Background Processes: Terminate unnecessary background processes that might compete for bandwidth or system resources during IDP backups.Technical Support:Intuit Support: If you’ve exhausted all troubleshooting steps without success, contact Intuit Support for assistance. They can provide personalized guidance and address specific issues related to your setup.Community Forums: Explore Intuit’s community forums to see if other users have encountered similar issues and found solutions. Peer-to-peer support can be invaluable in resolving complex problems.Professional Help: Consider consulting with a qualified IT professional if you’re unable to resolve the issue on your own. They can perform a comprehensive analysis of your system and network infrastructure to identify and rectify any underlying issues.By following these troubleshooting steps, you can effectively address firewall or connection issues affecting Intuit Data Protect. Remember to document any changes made to your system configuration for future reference. Read More
Scale Real-Time Streams to Delta Lakehouse with Apache Flink on Azure HDInsight on AKS
This post is co-authored with Keshav Singh, Principal Engineering Lead, Microsoft Purview Data Governance
In this blog, we turn the page and learn about enabling delta format as source and sink for stream processing with Apache Flink. Delta has become a DeFacto ACID compliant Lakehouse format for ecosystem enabling Petabyte scale processing while turning it a single source of truth, it becomes essential to bring it all together on top of Microsoft Fabric. Data engineering in delta format unifies diverse data sources into singular mode for analytics. Lastly as technologies such as Fabric endpoint, Synapse Serverless SQL will get efficient by the day, direct mode delta access will get cheaper and faster with no real need for an edge copy analytics.
Streaming Events can now be unified in Delta format as a sink for enabling Realtime analytics.
Let us consider a Sales Event Scenario, the event has demonstrated structure.
The Sales Source Event is stored in Delta Format on ADLS Gen2.
HDInsight on AKS Cluster Pool
Create a cluster pool to host a set of clusters, these could be Spark, Trino, Flink clusters. With a cluster pool as a concept, and a Platform as a service offering, HDInsight on AKS allows developers to quickly build up a data estate with all their favorite open source workloads, with full configurability and SKU sizing of their choice.
Let’s Provision the Pool.
Next, provision a Flink Cluster, we went with a Session cluster.
In nutshell a session cluster can share resources amongst multiple jobs while an Application Cluster will be resource dedicated towards a particular application.
Once the cluster is provisioned update the flink-configs to add/load the Hadoop class path and ensure to load the cluster’s native class loaders.
Upon applying the changes the cluster will restart, click on the Flink Dashboard and review its available. This is one point for DAG, execution logs and stream processing details.
Application Code
Here is our code for SteamProcessingJob.
This code simply reads the data from a Delta source and stream processes it to Delta Sinks.
package org.example;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import io.delta.flink.sink.DeltaSink;
import io.delta.flink.source.DeltaSource;
import org.apache.flink.api.common.eventtime.WatermarkStrategy;
import org.apache.flink.core.fs.Path;
import org.apache.flink.streaming.api.datastream.DataStream;
import org.apache.flink.table.api.DataTypes;
import org.apache.flink.table.data.RowData;
import org.apache.flink.table.types.logical.RowType;
import org.apache.flink.table.types.logical.TimestampType;
import org.apache.flink.table.types.logical.VarCharType;
import org.apache.flink.table.types.logical.IntType;
import org.apache.hadoop.conf.Configuration;
import java.util.ArrayList;
import java.util.Arrays;
public class StreamProcessingJob {
public static final RowType ROW_TYPE = new RowType(Arrays.asList(
new RowType.RowField(“SalesId”, new VarCharType(VarCharType.MAX_LENGTH)),
new RowType.RowField(“ProductName”, new VarCharType(VarCharType.MAX_LENGTH)),
new RowType.RowField(“SalesDateTime”, new TimestampType()),
new RowType.RowField(“SalesAmount”, new IntType()),
new RowType.RowField(“EventProcessingTime”, new TimestampType())
));
public static void main(String[] args) throws Exception {
final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
env.enableCheckpointing(10000);
// Define the sink Delta table path
String deltaTablePath_sink = “abfss://flink@<storage>.dfs.core.windows.net/Streams/SaleSink”;
// Define the source Delta table path
String deltaTablePath_source = “abfss://flink@<storage>.dfs.core.windows.net/Streams/SaleSource”;
// Create a bounded Delta source for all columns
DataStream<RowData> deltaStream = createBoundedDeltaSourceAllColumns(env, deltaTablePath_source);
createDeltaSink(deltaStream, deltaTablePath_sink, ROW_TYPE);
// Execute the Flink job
env.execute(“FlinkDeltaSourceSinkExample”);
}
public static DataStream<RowData> createBoundedDeltaSourceAllColumns(
StreamExecutionEnvironment env,
String deltaTablePath) {
DeltaSource<RowData> deltaSource = DeltaSource
.forBoundedRowData(
new Path(deltaTablePath),
new Configuration())
.build();
return env.fromSource(deltaSource, WatermarkStrategy.noWatermarks(), “deltaSource”);
}
public static DataStream<RowData> createDeltaSink(
DataStream<RowData> stream,
String deltaTablePath,
RowType rowType) {
DeltaSink<RowData> deltaSink = DeltaSink
.forRowData(
new Path(deltaTablePath),
new Configuration(),
rowType)
.build();
stream.sinkTo(deltaSink);
return stream;
}
}
Here is the POM.xml for the JAVA project
<?xml version=”1.0″ encoding=”UTF-8″?>
<project xmlns=”http://maven.apache.org/POM/4.0.0″
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=”http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”>
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>deltaflinkproject</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<flink.version>1.17.0</flink.version>
<java.version>1.8</java.version>
<scala.binary.version>2.12</scala.binary.version>
<hadoop-version>3.4.0</hadoop-version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-java</artifactId>
<version>${flink.version}</version>
</dependency>
<!– https://mvnrepository.com/artifact/org.apache.flink/flink-streaming-java –>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-streaming-java</artifactId>
<version>${flink.version}</version>
</dependency>
<!– https://mvnrepository.com/artifact/org.apache.flink/flink-clients –>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-clients</artifactId>
<version>${flink.version}</version>
</dependency>
<dependency>
<groupId>io.delta</groupId>
<artifactId>delta-standalone_2.12</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>io.delta</groupId>
<artifactId>delta-flink</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-parquet</artifactId>
<version>${flink.version}</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-clients</artifactId>
<version>${flink.version}</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>${hadoop-version}</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-table-runtime</artifactId>
<version>${flink.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
We build a JAR and upload to a convenient directory on ADLS Gen2.
At this point we are ready to submit the StreamProcessingJob on the Flink Cluster. Point to the jar location on the storage and provide the entry class details.
The Job processed the streams based on the logic defined in the JAVA jar code bits.
Callouts and Validations
Flink periodically commits into delta based on the configured checkpointing. env.enableCheckpointing(10000); In our case we issuing commits every 10 seconds.
NOTE : Now one of the critical observations to keep in mind for the initial dataset, incase your JobDuration < Checkpoint duration meaning, you have only 10 records and the job completes much before the first Checkpoint, you will observe only parquet files with no _delta_log directory since the first delta commit was never issued. This is an edge case worth calling out to remember the streaming the (unbounded )semantics are much different than (bounded) batch processing semantics.
The below screenshots depict a periodic processing of this data —
The initial run creates the parquet files but is yet to issue the first delta commit hence we observe only parquet files.
Upon the first commit the delta is initialized and continues to process the streams based on the checkpoint duration.
Upon completion and checkpoints all in-progress files are committed.
Checkpointing is a crucial feature in distributed stream processing frameworks like Flink to ensure fault tolerance and exactly-once semantics.
Relevance ofenv.enableCheckpointing(10000):
Ensures Fault Tolerance: Checkpointing allows Flink to take snapshots of the state of the streaming application at regular intervals. In case of failures, Flink can use these snapshots to restore the state of the application and continue processing from the last successful checkpoint. This ensures fault tolerance and resilience against failures such as machine crashes, network issues, or software bugs.
Consistent State: Checkpointing helps in maintaining consistent state in the face of failures. By periodically saving the state of the application, Flink guarantees that even if failures occur, the state can be recovered to a consistent point.
Exactly-once Processing: Checkpointing, combined with Flink’s processing model, enables exactly-once semantics. With exactly-once processing, each record in the input streams is processed exactly once, even in the presence of failures and restarts. This is crucial for applications where data correctness is paramount, such as financial transactions or real-time analytics.
Performance Considerations: The checkpointing interval (in this case, 10000 milliseconds or 10 seconds) is a trade-off between fault tolerance and performance. Shorter intervals provide better fault tolerance but can impact performance due to the overhead of taking and managing checkpoints. Longer intervals reduce this overhead but increase the potential amount of data loss in case of failures. Choosing an appropriate interval depends on the specific requirements of the application.
Configuration Flexibility: Flink provides flexibility in configuring checkpointing behavior. Developers can tune various parameters such as checkpointing interval, checkpointing mode (e.g., exactly-once, at-least-once), state backend, and storage options based on the specific needs of their application and the underlying infrastructure.
Finally lets validate the delta sink for our processed streams.
Architectural Considerations
In contrast with other streaming offerings,
Flink offers built-in support for managing complex stateful computations efficiently. It provides a unified runtime for both batch and stream processing, allowing seamless integration of stateful operations into streaming jobs. Flink’s state management capabilities include fault tolerance, exactly-once semantics, and flexible state backend options (e.g., memory, RocksDB).
Flink provides strong consistency guarantees with exactly-once processing semantics out of the box. It ensures that each event is processed exactly once, even in the presence of failures or restarts, making it suitable for mission-critical applications.
Flink is designed for high throughput and low-latency processing at scale. It supports fine-grained control over resource allocation and dynamic scaling, allowing efficient utilization of cluster resources. Flink’s pipelined execution model and advanced optimizations contribute to its superior performance.
Flink integrates seamlessly with other components of the Apache ecosystem, such as Apache Kafka, Apache Hadoop, and Apache Hive. It also provides connectors for integrating with various cloud platforms and data sources.
Flink excels in handling complex stateful workloads with its advanced state management, processing guarantees, scalability, and performance optimizations.
Conclusion
We have introduced Azure HDI on AKS (Flink) and emphasized the Delta Lakehouse story.
This blog is for those passionate data engineers who are data native and love to design a system, resilient/frugal/precise, write those hard lines of code, control their destiny and are curious to understand what lies under the hood. We dedicate this blog to all such, and extend you a warm welcome to a fully managed Apache Flink on Azure, with Azure HDInsight on AKS!
Get started today – Microsoft Azure
Read our documentation – What is Apache Flink® in Azure HDInsight on AKS? (Preview) – Azure HDInsight on AKS | Microsoft Learn
Questions? Please reach out to us on aka.ms/askhdinsight
Microsoft Tech Community – Latest Blogs –Read More
How changing the tenant in the new app teams for desktop
Hi,
on my machine I’ve the new app teams.
My username is assocatied to more tenants but in the new teams I don’t see any options to change the associated tenant.
Any helps to me to solve this issue, please? Thanks
Hi,on my machine I’ve the new app teams.My username is assocatied to more tenants but in the new teams I don’t see any options to change the associated tenant.Any helps to me to solve this issue, please? Thanks Read More
Demystifying QuickBooks Error H505: Causes, Solutions, and Prevention Strategies
QuickBooks is an essential tool for businesses to manage their finances efficiently. However, like any software, QuickBooks is susceptible to errors that can disrupt workflow and productivity. One such error is QuickBooks Error H505. In this blog post, we will explore the causes of Error H505, discuss effective solutions, and provide strategies to prevent its occurrence.
Understanding QuickBooks Error H505
QuickBooks Error H505 is a multi-user mode error that occurs when a user attempts to access a company file located on another computer. This error indicates that QuickBooks is unable to switch to multi-user mode and prevents users from accessing the company file remotely. It can be frustrating for businesses relying on multi-user mode to collaborate and work simultaneously on QuickBooks.
Causes of QuickBooks Error H505
Several factors can contribute to the occurrence of Error H505 in QuickBooks:
Incorrect hosting configuration: Error H505 may occur if QuickBooks hosting settings are not configured properly on the server or main computer where the company file is stored.
Firewall or security software blocking access: Firewall settings or security software on the computer hosting the company file may block access to QuickBooks, resulting in Error H505.
Incorrect DNS settings: Issues with Domain Name System (DNS) settings can also trigger Error H505, as QuickBooks relies on proper DNS configuration to locate company files.
Damaged or corrupted company file: If the company file being accessed is damaged or corrupted, it can lead to Error H505.
Solutions to QuickBooks Error H505
Resolving QuickBooks Error H505 requires identifying the underlying cause and implementing appropriate solutions:
Verify hosting settings: Ensure that hosting is turned on only for the server or main computer where the company file is stored. To verify hosting settings, go to the File menu in QuickBooks and select Utilities > Host Multi-User Access.
Check firewall settings: Configure firewall or security software to allow QuickBooks access to the necessary ports. Add exceptions for QuickBooks programs and files in your firewall settings to prevent them from being blocked.
Update and configure DNS settings: Verify and update DNS settings on all computers accessing QuickBooks to ensure proper connectivity. Consult with your network administrator or internet service provider if necessary.
Repair company file: If the company file is damaged or corrupted, use the QuickBooks File Doctor tool to repair the file. This tool can help identify and fix common issues with company files that may be causing Error H505.
Preventing QuickBooks Error H505
Preventing QuickBooks Error H505 from occurring in the future requires proactive measures:
Regularly update QuickBooks: Keep QuickBooks updated to the latest version to ensure compatibility and stability. Updates often include fixes for known issues and vulnerabilities.
Educate users: Train all users on proper QuickBooks setup and usage, including how to switch to multi-user mode and configure hosting settings correctly.
Monitor network configuration: Regularly review and update network settings, including DNS configuration, firewall settings, and router configurations, to ensure smooth connectivity for QuickBooks.
Backup company files: Implement a regular backup schedule for company files to prevent data loss in case of file corruption or damage.
Conclusion
QuickBooks Error H505 can disrupt workflow and hinder collaboration for businesses relying on multi-user mode. By understanding the causes of Error H505 and implementing the solutions and prevention strategies outlined in this blog post, businesses can effectively troubleshoot and prevent this error, ensuring seamless access to QuickBooks for their team. With proactive measures in place, businesses can minimize the impact of QuickBooks Error H505 and maintain uninterrupted productivity in their financial management processes.
QuickBooks is an essential tool for businesses to manage their finances efficiently. However, like any software, QuickBooks is susceptible to errors that can disrupt workflow and productivity. One such error is QuickBooks Error H505. In this blog post, we will explore the causes of Error H505, discuss effective solutions, and provide strategies to prevent its occurrence.Understanding QuickBooks Error H505QuickBooks Error H505 is a multi-user mode error that occurs when a user attempts to access a company file located on another computer. This error indicates that QuickBooks is unable to switch to multi-user mode and prevents users from accessing the company file remotely. It can be frustrating for businesses relying on multi-user mode to collaborate and work simultaneously on QuickBooks.Causes of QuickBooks Error H505Several factors can contribute to the occurrence of Error H505 in QuickBooks:Incorrect hosting configuration: Error H505 may occur if QuickBooks hosting settings are not configured properly on the server or main computer where the company file is stored.Firewall or security software blocking access: Firewall settings or security software on the computer hosting the company file may block access to QuickBooks, resulting in Error H505.Incorrect DNS settings: Issues with Domain Name System (DNS) settings can also trigger Error H505, as QuickBooks relies on proper DNS configuration to locate company files.Damaged or corrupted company file: If the company file being accessed is damaged or corrupted, it can lead to Error H505.Solutions to QuickBooks Error H505Resolving QuickBooks Error H505 requires identifying the underlying cause and implementing appropriate solutions:Verify hosting settings: Ensure that hosting is turned on only for the server or main computer where the company file is stored. To verify hosting settings, go to the File menu in QuickBooks and select Utilities > Host Multi-User Access.Check firewall settings: Configure firewall or security software to allow QuickBooks access to the necessary ports. Add exceptions for QuickBooks programs and files in your firewall settings to prevent them from being blocked.Update and configure DNS settings: Verify and update DNS settings on all computers accessing QuickBooks to ensure proper connectivity. Consult with your network administrator or internet service provider if necessary.Repair company file: If the company file is damaged or corrupted, use the QuickBooks File Doctor tool to repair the file. This tool can help identify and fix common issues with company files that may be causing Error H505.Preventing QuickBooks Error H505Preventing QuickBooks Error H505 from occurring in the future requires proactive measures:Regularly update QuickBooks: Keep QuickBooks updated to the latest version to ensure compatibility and stability. Updates often include fixes for known issues and vulnerabilities.Educate users: Train all users on proper QuickBooks setup and usage, including how to switch to multi-user mode and configure hosting settings correctly.Monitor network configuration: Regularly review and update network settings, including DNS configuration, firewall settings, and router configurations, to ensure smooth connectivity for QuickBooks.Backup company files: Implement a regular backup schedule for company files to prevent data loss in case of file corruption or damage.ConclusionQuickBooks Error H505 can disrupt workflow and hinder collaboration for businesses relying on multi-user mode. By understanding the causes of Error H505 and implementing the solutions and prevention strategies outlined in this blog post, businesses can effectively troubleshoot and prevent this error, ensuring seamless access to QuickBooks for their team. With proactive measures in place, businesses can minimize the impact of QuickBooks Error H505 and maintain uninterrupted productivity in their financial management processes. Read More
When will in-cell editing in the new Outlook become available & why is Copilot available in the new
Ever since M$ release the “in-cell editing” feature in Outlook (some 2 decades ago), I’ve used it for practically every email I respond to (I average about 50 responses per day). Now, Copilot tells me that if I want to leverage Copilot, it is not available in the classic Outlook and only in the “new” Outlook (Monarch). Copilot did reveal that M$ will stop supporting the classic Outlook in 2025. However, what is extremely concerning is that Copilot for M365 is not supported within the classic Outlook even though our enterprise is paying the full retail monthly subscription of $30/month for Copilot for M365 whereas the feature is not available for use in the most used “information management” tool in enterprises, namely, Outlook. Please add me to the millions of global voices who will decry this action, as M$ will be hamstringing many of its power-user clients. I post this as the CIO, who has led the migration of the Eastern Cape Provincial Government from the Enterprise Agreement Software Assurance) the subscription-based model of M365 (formerly known as Office 365). Read More
Block File Sharing to a Network Subnet
Hey – I have a use case to detect and block files being saved to storage devices / file shares on a subnet 192.168.0.0/16 (to prevent users connected over VPN copying data to their home LAN).
Is that possible using Microsoft Endpoint DLP or MDE?
thanks
Hey – I have a use case to detect and block files being saved to storage devices / file shares on a subnet 192.168.0.0/16 (to prevent users connected over VPN copying data to their home LAN). Is that possible using Microsoft Endpoint DLP or MDE? thanks Read More
Can Copilot extract data from a Sharepoint list (to which I have access to)?
In Loop, I asked Copilot to create a table with similar instructions: “Design a table and for each row in the SP list ‘A’ on the ‘Z’ SP site that has column ‘C’ empty and column ‘D’ with the value email address removed for privacy reasons add a row to the table with the following columns: column ‘f’ and ‘g’ with values as in the SP list ‘A’ and then the following empty columns ‘h’,’i’,’l’. Add 5 empty rows at the end”
It created the table with just one row and now values extracted from the sharepoint list to which I have access to. Is there a way I can instruct Copilot to do that?
In Loop, I asked Copilot to create a table with similar instructions: “Design a table and for each row in the SP list ‘A’ on the ‘Z’ SP site that has column ‘C’ empty and column ‘D’ with the value email address removed for privacy reasons add a row to the table with the following columns: column ‘f’ and ‘g’ with values as in the SP list ‘A’ and then the following empty columns ‘h’,’i’,’l’. Add 5 empty rows at the end” It created the table with just one row and now values extracted from the sharepoint list to which I have access to. Is there a way I can instruct Copilot to do that? Read More
SharePoint Online Deletion of Non-Empty Folders
A recent SharePoint Onlne update enables folder deletion when items are present in a folder. This is probably the way that things should have always worked. Even so, it’s good to have this capability because it helps site users clean out old and obsolete information, something that’s becoming increasingly important in the AI era for Microsoft 365.
https://office365itpros.com/2024/05/15/folder-deletion-sharepoint/
A recent SharePoint Onlne update enables folder deletion when items are present in a folder. This is probably the way that things should have always worked. Even so, it’s good to have this capability because it helps site users clean out old and obsolete information, something that’s becoming increasingly important in the AI era for Microsoft 365.
https://office365itpros.com/2024/05/15/folder-deletion-sharepoint/ Read More
Ways To Let ‘Never Combine taskbar buttons’. Windows 11
Troubleshooting Solutions for “Never Combine Taskbar Buttons” Issue in Windows 11
The taskbar in Windows 11 provides convenient access to open applications and windows, but some users may find it cumbersome when multiple windows of the same application are combined into a single button. If you’re facing this issue and prefer each window to have its own button on the taskbar, you can follow these troubleshooting solutions:
1. Check Taskbar Settings:
Start by accessing the taskbar settings in Windows 11. Right-click on an empty space on the taskbar and select “Taskbar settings” from the context menu. In the settings window, scroll down to the “Combine taskbar buttons” section.
2. Adjust Taskbar Button Settings:
Under the “Combine taskbar buttons” section, you’ll find several options for how taskbar buttons are displayed. By default, Windows 11 may be set to combine buttons when the taskbar is full. Change this setting to “Never” to ensure each window has its own button.
3. Customize Taskbar Behaviors:
Windows 11 offers customization options for the taskbar behaviors. Explore the “Taskbar behaviors” section in the taskbar settings to further refine how taskbar buttons behave. You can adjust settings related to taskbar buttons, such as whether they automatically hide in tablet mode or how notifications are displayed.
4. Use Registry Editor:
If the above solutions don’t resolve the issue, you can use the Registry Editor to tweak taskbar settings manually. Be cautious when making changes to the registry, as incorrect modifications can cause system instability. To access the Registry Editor, type “regedit” in the Windows search bar and press Enter. Navigate to the following registry key:
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced
Look for a DWORD value named “TaskbarGlomLevel.” Double-click on it and change its value to “0” to disable combining taskbar buttons.
5. Restart Windows Explorer:
After making changes to taskbar settings or the registry, it’s recommended to restart Windows Explorer to apply the changes. To do this, right-click on the taskbar and select “Task Manager.” In the Task Manager window, scroll down to the “Windows Processes” section, right-click on “Windows Explorer,” and select “Restart.”
6. Check for Updates:
Ensure that your Windows 11 operating system is up to date. Microsoft regularly releases updates that include bug fixes and performance improvements. Open the Settings app, go to “Windows Update,” and click on “Check for updates” to see if there are any available updates for your system.
By following these troubleshooting solutions, you should be able to disable the “Never Combine taskbar buttons” feature in Windows 11 and ensure each window has its own button on the taskbar. If the issue persists, consider reaching out to Microsoft support for further assistance.
Troubleshooting Solutions for “Never Combine Taskbar Buttons” Issue in Windows 11 The taskbar in Windows 11 provides convenient access to open applications and windows, but some users may find it cumbersome when multiple windows of the same application are combined into a single button. If you’re facing this issue and prefer each window to have its own button on the taskbar, you can follow these troubleshooting solutions:1. Check Taskbar Settings:Start by accessing the taskbar settings in Windows 11. Right-click on an empty space on the taskbar and select “Taskbar settings” from the context menu. In the settings window, scroll down to the “Combine taskbar buttons” section.2. Adjust Taskbar Button Settings:Under the “Combine taskbar buttons” section, you’ll find several options for how taskbar buttons are displayed. By default, Windows 11 may be set to combine buttons when the taskbar is full. Change this setting to “Never” to ensure each window has its own button.3. Customize Taskbar Behaviors:Windows 11 offers customization options for the taskbar behaviors. Explore the “Taskbar behaviors” section in the taskbar settings to further refine how taskbar buttons behave. You can adjust settings related to taskbar buttons, such as whether they automatically hide in tablet mode or how notifications are displayed.4. Use Registry Editor:If the above solutions don’t resolve the issue, you can use the Registry Editor to tweak taskbar settings manually. Be cautious when making changes to the registry, as incorrect modifications can cause system instability. To access the Registry Editor, type “regedit” in the Windows search bar and press Enter. Navigate to the following registry key:HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerAdvancedLook for a DWORD value named “TaskbarGlomLevel.” Double-click on it and change its value to “0” to disable combining taskbar buttons.5. Restart Windows Explorer:After making changes to taskbar settings or the registry, it’s recommended to restart Windows Explorer to apply the changes. To do this, right-click on the taskbar and select “Task Manager.” In the Task Manager window, scroll down to the “Windows Processes” section, right-click on “Windows Explorer,” and select “Restart.”6. Check for Updates:Ensure that your Windows 11 operating system is up to date. Microsoft regularly releases updates that include bug fixes and performance improvements. Open the Settings app, go to “Windows Update,” and click on “Check for updates” to see if there are any available updates for your system. By following these troubleshooting solutions, you should be able to disable the “Never Combine taskbar buttons” feature in Windows 11 and ensure each window has its own button on the taskbar. If the issue persists, consider reaching out to Microsoft support for further assistance. Read More