Month: July 2024
Deprecation of Virtual Network Injection for Azure Data Explorer
We are announcing the deprecation of the feature of Virtual Network Injection for Azure Data Explorer. This feature allows customers to inject their Azure Data Explorer cluster into their own virtual network and control the inbound and outbound network traffic. However, this feature has limitations and challenges, such as:
Customers face a lot of maintenance work, because of things like updating firewall lists of FQDNs or using public IP addresses in a restricted and secured environment.
Customers are responsible for ensuring that the intra-cluster communication is working.
It requires a dedicated subnet for each cluster, which can lead to subnet exhaustion and increased management overhead.
It does not support cross-region or cross-subscription scenarios, which can limit the scalability and flexibility of the data platform.
Required actions
As a result, we are deprecating this feature and recommending customers to move as soon as possible to a private endpoint based network security architecture. A private endpoint is a network interface that connects you privately and securely to a service powered by Azure Private Link. Private endpoint uses a private IP address from your virtual network, effectively bringing the service into your virtual network. With private endpoints, you can:
Connect securely to Azure Data Explorer from your virtual network or from on-premises networks via VPN or ExpressRoute.
Access Azure Data Explorer from different regions or subscriptions without any public internet exposure.
Use all the Azure Data Explorer features without any limitations or trade-offs.
Reduce the network complexity and management overhead by using a single subnet for multiple clusters and services.
To help you with the migration, we have created a migration process (close to zero downtime).
We understand that this migration may require effort and coordination from your side, and we are here to support you along the way. We have scheduled office hours to answer your questions and provide guidance on the migration process. You can register for the office hours using this form. You can also reach out to us via email at ADXVnetDeprecation@microsoft.com.
Timelines
Please note the following important dates and actions regarding the migration:
Effective immediately, no new customers will be able to create virtual network injected clusters. Existing customers can continue to use their clusters until the migration deadline.
Starting from February 1, 2025, all running virtual network injected clusters will be stopped. Customers who have not migrated by then will not be able to start them until they complete the migration process.
To avoid any disruption, we strongly recommend that you migrate your clusters as soon as possible. You can follow the migration steps outlined in this document. If you encounter any issues or need assistance, please contact us at ADXVnetMigration@microsoft.com or join our office hours.
We appreciate your understanding and cooperation as we deprecate the Virtual Network Injection feature and move to a more secure, scalable, and feature-rich network security architecture for Azure Data Explorer.
Microsoft Tech Community – Latest Blogs –Read More
With Microsoft, good security is good business
Working in technology today means working securely. This is especially true with B2B apps, where cyberthreats can mean costly fixes or loss of reputation.
To help your commitment to security, Microsoft has redoubled efforts on integrating security features at every step. This will help your team design securely, sell with confidence, and delight your customers.
Recently, at Microsoft Build in May, several sessions focused on the newest features for integrating security and increasing customer trust.
Additional resources to learn more about security
Watch some of the security sessions from Microsoft Build 2024. This targeted group of sessions will catch you up on the latest innovations from Microsoft across all teams:
Build identity into your apps within minutes! Explore how to quickly create applications either directly from the Microsoft Entra portal or within developer tools such as Visual Studio Code.
Secure your AI application transformation with Microsoft Security: Learn how Microsoft’s new cloud security innovations extend security posture management and threat protection to enterprise-built AI applications.
Securing your Intelligent Applications with Microsoft Entra: Learn to automatically set up authentication for your intelligent apps and how to add access control to your app & data.
If you want to browse all of the sessions, here are all the organized security sessions given at Microsoft Build 2024.
Visit Microsoft Security 101, select a filter, and start learning about the vast Microsoft security portfolio. Learn from the ground up in bite-size modules that walk you from definition to implementation.
Use app advisor on ISV Hub, a curated, self-serve, guided experience for any ISV that helps you understand business opportunities with Microsoft and the marketplace, including the ability to integrate security at any phase of your development. Stop looking for the right materials and start building your app, streamlining your publishing, and scaling your sales growth.
Enjoy these resources to help you build securely and help protect your data and earn your customers’ trust.
Microsoft Tech Community – Latest Blogs –Read More
The Updated Microsoft Learn Student Ambassadors Program: Beyond the Classroom
What is the Microsoft Learn Student Ambassadors Program?
The program is a global group of campus leaders who are eager to help fellow students, lead in their local tech community, and develop technical and career skills for the future. It is a chance to be effective and to grow personally and professionally by working on AI-driven projects that matter. This community is highly diverse and inclusive – you find students of different backgrounds.
This program is looking for students who are or want to be community influencers, community builders, startup advocates, tech enthusiasts, agents of change, skill builders, learners, and open-minded individuals. If you fall within any of these specifications or something similar, then you are welcome to join the program if you are 16 years old at the time of registration, enrolled full-time in an accredited academic institution, and not be a Microsoft employee or current contractor.
I can proudly say that this program stands at the top of known student/campus ambassador programs because of its vibrant and supportive community members which span across all skill levels.
Student Ambassadors Benefits
Micrsosoft Learn Student Ambassadors complete activities that make contributions to both the Ambassadors community and their local communities and work to unlock more benefits. Some of the key benefits are outlined below:
Access to Microsoft 365.
Visual Studio Enterprise subscription.
$150 monthly Azure credits.
Ready-to-go presentation materials.
Engagement with Microsoft employees, Microsoft MVPs, Cloud Advocates, and other students worldwide.
Student Ambassadors milestone badges highlighting accomplishments.
Student Ambassadors Swag. Visit my LinkedIn post to see some of the contents of the swag box.
These benefits are subject to change.
How to Register: Step-by-Step Guide
The process of registering to become a Microsoft Learn Student Ambassador has been updated and is straightforward.
Visit the official Microsoft Learn Student Ambassadors Program website and click “Get Started”.
Log in with your Microsoft account or create a Microsoft account.
Fill out the required information from personal information to academic information, to social media information, et cetera. Once you fill out the required information, click on submit. This video (subject to changes) gives a concise breakdown of what you are expected to do on the website after creating your account. Keep an eye on your inbox for an invite to join the Microsoft Student Developer Community on Discord within a few days (subject to changes).
Join the Discord server to complete other requirements.
Go to the “Start Here” and “FAQ” channels and follow the instructions provided (subject to changes). You will be expected to link your Discord account to your GitHub account
Join and complete Technical Training
Choose either of the three paths: Community Influencer, Community Builder, or Startup Advocate, then complete the tasks required for each path using your assigned Contributor ID.
Be sure to visit all channels on the server so that you do not miss any information.
Your progress to the numbers expected from you will be sent to your registered email periodically by one of the Program Managers.
When you meet all the requirements, you will receive an official invitation through email to join the Microsoft Learn Student Ambassadors program on Microsoft Teams.
Accept your invite and join as an Alpha Ambassador with your benefits activated.
Note that these steps are subject to changes which will be made when necessary. The three ways you can get current information about the Microsoft Learn Student Ambassadors Program are
(1.) through the Student Ambassadors website
(2.) through the Microsoft Student Developer Community on Discord,
(3.) Referral by reaching out to current Ambassadors (preferably Gold Ambassadors).
Student Ambassadors Milestones
The Microsoft Learn Student Ambassadors Program has three milestones: Alpha, Beta, and Gold. As an Ambassador progresses from the Alpha milestone forward, more benefits get unlocked.
Alpha Milestone: Students who complete all requirements on Microsoft Student Developer Community on Discord based on their selected path will be invited to join the program and earn the Alpha badge (This milestone will likely be retired in 2025). New (Alpha) Ambassadors are onboarded quarterly.
Beta Milestone: Ambassadors who host an event or participate in an AI project. will earn the Beta badge.
Gold Milestone: This is the highest stage in the program. Student Ambassadors who have gone beyond serving their community and the program will earn the Gold badge. Attaining this milestone is competitive and achievable.
Tips for Meeting the Requirements by Registered Members
To meet your requirements, take note of these tips:
Do not sound desperate while making posts on social media asking your connection to engage with your posts. Be creative. Your post should answer questions like, “Why should I follow this link?” or “What will I learn through this link?”.
Draw insights from what current Ambassadors (Gold Ambassadors preferably) are doing.
For the Community Influencer path, be sure to know what each website you will be sharing with your audience is used for and how beneficial they are.
Be sure to join a Microsoft Learn Student Ambassadors community around you or online. Participate in the community activities as much as you can.
Ask current Ambassadors to help you share your posts (remember that Ambassadors are not obliged to repost or share your posts).
Ask for guidance if you need one. Be direct with your request for guidance.
The program is flexible. You will find the time to engage in the activities you want.
My Unwavering Journey in the Program
I got attracted to the Microsoft Learn Student Ambassadors program in 2020. The attraction was largely because of the uniquely designed water bottle that I saw with my coursemate and friend who was a Beta Ambassador at that time.
It took me some time before I eventually felt confident enough to submitted my application in the third quarter of 2021. I applied not knowing what to expect. I did not know about any other benefits of the program. Fast forward to August 2021, I joined the program.. This was a defining moment for me because I wanted everything to do with Microsoft. The title “Microsoft Learn Student Ambassador” alone carried grace, leadership, responsibility, and privilege in it. I loved it. Everything in the program was new to me. Talk about hosting events online, Microsoft Teams, Microsoft 365, et cetera, everything. It was another opportunity for me to come out of my shell, learn new skills and growth both technically, personnally and professionally. I have been part of other student programs but there was none like this.
This program challenged me. I engaged in skilling activities I never thought I could be capable of. I progressed through the Alpha milestone to Beta and finally got the swag, but I felt there were more things I could achieve in the program. Achievements that would last forever. I drew insights and inspiration from what other Ambassadors were doing. My goals changed. I have successfully mentored over 100 students to join the program. I mentored fellow Ambassadors as well, helping them find their place in the program and advancing through milestones. I have collaborated with fellow Ambassadors from different regions as a host, a co-host, a speaker, and an event moderator. I and five other Ambassadors have led a program where Ambassadors sign up to lead their community while skilling participants in Azure Fundamentals or Azure AI Fundamentals content on Microsoft Learn since October 2023. Hundreds of students worldwide have obtained one Microsoft Fundamental certification or another through this program.
I have hosted over 30 events as an Ambassador among which include speaking engagements at different universities both online and in-person. These and more are ways through which I support the program, my community, and myself. These activities were influential to my reaching the Gold milestone.
Tips for Current Ambassadors
Be sure to be active within the community both in person and online Microsoft has amazing online communities such as the Microsoft AI Discord channel with over 10k AI Developers and speclialist.
Microsoft has amazing Open Source GitHub Projects, Curricula and Samples for you to share and consume.
Engage in all program activities like Peer Mentorship, Ambassadors AI project, Study Group Program, et cetera. where possible. There is also a community dedicated to Women and Gender Minority.
Continue building skills on Microsoft Learn.
Make the Student Ambassador Handbook your friend. Updates get posted in the handbook when the need arises. This way you will remain up to date with current information.
Collaborate with fellow Ambassadors from your immediate community, country, and across continents to host and cohost events.
Always report your events and activities on the Student Ambassador’s website to keep track of all you do.
Focus on building impact. Have fun in all you do.
Conclusion
The Microsoft Learn Student Ambassadors Program offers a wide stream of opportunities for students to learn, connect, and grow. By becoming an Ambassador, you can empower yourself to make a lasting impact and kick-start your career in technology. This is a community for you.
Register today and take the first step towards becoming a leader in the tech community!
Be a Force for Good!
Microsoft Tech Community – Latest Blogs –Read More
Feedback diversity system in Wireless communication
Can anyone tell a way to create a simulation to depict the feedback diversity system wirelesscommunication using matlab 2023Can anyone tell a way to create a simulation to depict the feedback diversity system wirelesscommunication using matlab 2023 Can anyone tell a way to create a simulation to depict the feedback diversity system wirelesscommunication using matlab 2023 wireless MATLAB Answers — New Questions
une méthode pour installer matlab
Bonjour tout le monde
j’espère que vous allez bien,
s’il vous plait de me donner une solution, à chaque fois que je l’installe il me donne le message suivant " please specify the location of a valid matlab R2018a installation "
prière de me répondre et merci d’avanceBonjour tout le monde
j’espère que vous allez bien,
s’il vous plait de me donner une solution, à chaque fois que je l’installe il me donne le message suivant " please specify the location of a valid matlab R2018a installation "
prière de me répondre et merci d’avance Bonjour tout le monde
j’espère que vous allez bien,
s’il vous plait de me donner une solution, à chaque fois que je l’installe il me donne le message suivant " please specify the location of a valid matlab R2018a installation "
prière de me répondre et merci d’avance installation MATLAB Answers — New Questions
A problem about comm.RicianChannel
Hello,everyone.
Recently I am working on a project of OFDM simulation. I want to use comm.RicianChannel object for the fading channel. After I read the docuument, I am confused that why the output signal of the object have the same length with the input signal? I mean that if we have a fading channel response, the conv result will make the signal longer(for delay reason), is that right?Hello,everyone.
Recently I am working on a project of OFDM simulation. I want to use comm.RicianChannel object for the fading channel. After I read the docuument, I am confused that why the output signal of the object have the same length with the input signal? I mean that if we have a fading channel response, the conv result will make the signal longer(for delay reason), is that right? Hello,everyone.
Recently I am working on a project of OFDM simulation. I want to use comm.RicianChannel object for the fading channel. After I read the docuument, I am confused that why the output signal of the object have the same length with the input signal? I mean that if we have a fading channel response, the conv result will make the signal longer(for delay reason), is that right? fading channel MATLAB Answers — New Questions
Problem with evaluateObjectDetection function
Hello, everyone,
I would like help with the function in question…
I attach the tables groundTruthData and detectionResults.
thanks
CODE:
% Evaluate object detection results
metrics = evaluateObjectDetection(detectionResultsTbl, groundTruthDataTbl);
% Extract precision and recall for a specific class ID (e.g. classID = 1)
classID = 1;
precision = metrics.ClassMetrics.Precision{classID};
recall = metrics.ClassMetrics.Recall{classID};
% Plot the precision-recall curve
figure
plot(recall, precision);
xlabel("Recall");
ylabel("Precision");
grid on;
title(sprintf("Average Precision = %.2f", metrics.ClassMetrics.mAP(classID)));
ERROR:
Error using evaluateObjectDetection>iFindOutputIdxsFromDS
Missing data in detectionResults. Unable to find Label data in detectionResults.
Error in evaluateObjectDetection (line 27)
predOutIdxs = iFindOutputIdxsFromDS(dsResultsCopy, 3, "detectionResults");
Error in untitled2 (line 306)
metrics = evaluateObjectDetection(detectionResultsTbl, groundTruthDataTbl);Hello, everyone,
I would like help with the function in question…
I attach the tables groundTruthData and detectionResults.
thanks
CODE:
% Evaluate object detection results
metrics = evaluateObjectDetection(detectionResultsTbl, groundTruthDataTbl);
% Extract precision and recall for a specific class ID (e.g. classID = 1)
classID = 1;
precision = metrics.ClassMetrics.Precision{classID};
recall = metrics.ClassMetrics.Recall{classID};
% Plot the precision-recall curve
figure
plot(recall, precision);
xlabel("Recall");
ylabel("Precision");
grid on;
title(sprintf("Average Precision = %.2f", metrics.ClassMetrics.mAP(classID)));
ERROR:
Error using evaluateObjectDetection>iFindOutputIdxsFromDS
Missing data in detectionResults. Unable to find Label data in detectionResults.
Error in evaluateObjectDetection (line 27)
predOutIdxs = iFindOutputIdxsFromDS(dsResultsCopy, 3, "detectionResults");
Error in untitled2 (line 306)
metrics = evaluateObjectDetection(detectionResultsTbl, groundTruthDataTbl); Hello, everyone,
I would like help with the function in question…
I attach the tables groundTruthData and detectionResults.
thanks
CODE:
% Evaluate object detection results
metrics = evaluateObjectDetection(detectionResultsTbl, groundTruthDataTbl);
% Extract precision and recall for a specific class ID (e.g. classID = 1)
classID = 1;
precision = metrics.ClassMetrics.Precision{classID};
recall = metrics.ClassMetrics.Recall{classID};
% Plot the precision-recall curve
figure
plot(recall, precision);
xlabel("Recall");
ylabel("Precision");
grid on;
title(sprintf("Average Precision = %.2f", metrics.ClassMetrics.mAP(classID)));
ERROR:
Error using evaluateObjectDetection>iFindOutputIdxsFromDS
Missing data in detectionResults. Unable to find Label data in detectionResults.
Error in evaluateObjectDetection (line 27)
predOutIdxs = iFindOutputIdxsFromDS(dsResultsCopy, 3, "detectionResults");
Error in untitled2 (line 306)
metrics = evaluateObjectDetection(detectionResultsTbl, groundTruthDataTbl); plot MATLAB Answers — New Questions
Bluetooth issue
I am having issues with my Bluetooth wherein it automatically turns off and on. I have tried downloading drivers from OEM however issue still persists.
Build version: 22635.3930
I am having issues with my Bluetooth wherein it automatically turns off and on. I have tried downloading drivers from OEM however issue still persists. Build version: 22635.3930 Read More
Unable to disable SSPR for Administrators
According to this link I can disable SSPR for Administrators.
However, upon attempting to do so I am met with the following error.
S C:WindowsSystem32> Update-MgPolicyAuthorizationPolicy -AllowedToUseSspr:$false
Update-MgPolicyAuthorizationPolicy_UpdateExpanded: Insufficient privileges to complete the operation.
Status: 403 (Forbidden)
ErrorCode: Authorization_RequestDenied
Date: 2024-07-22T16:28:11
According to this link I can disable SSPR for Administrators.https://learn.microsoft.com/en-us/entra/identity/authentication/concept-sspr-policy?WT.mc_id=Portal-Microsoft_AAD_IAM#administrator-reset-policy-differencesHowever, upon attempting to do so I am met with the following error. S C:WindowsSystem32> Update-MgPolicyAuthorizationPolicy -AllowedToUseSspr:$falseUpdate-MgPolicyAuthorizationPolicy_UpdateExpanded: Insufficient privileges to complete the operation.Status: 403 (Forbidden)ErrorCode: Authorization_RequestDeniedDate: 2024-07-22T16:28:11 Read More
Update Stack Package – (Version 922.415.111.0)
I have been trying to update this update for the last 3 days, but it is not updating. I am getting the same error again and again. How can I fix it? It is not downloading more than 1% every time, due to which I am not able to get any more updates. This update came on my system on the day when the ‘Blue Screen of Death’ problem occurred on the Microsoft server, but since that day, it has not been updating on my system.
@microsoft I have been trying to update this update for the last 3 days, but it is not updating. I am getting the same error again and again. How can I fix it? It is not downloading more than 1% every time, due to which I am not able to get any more updates. This update came on my system on the day when the ‘Blue Screen of Death’ problem occurred on the Microsoft server, but since that day, it has not been updating on my system. Read More
Micfrosoft Outlook Calendar Problem
I hope someone can help a tech dinosaur!
For many years I have used Outlook to bring together my main Aol.com email account plus a small number of auxilliary Aol.Co.UK and Gmail email accounts for ease of display of all of them in one place.
Recently I set up my first ever Outlook.com email account and added it to Outlook.
The calendar feature was previously tied to my main email account and I found it ideal for an electronic diary. For some reason the calendar has switched to the Outlook.com email account and all of my diary entries have disappeared.
How can I get back to old position of a tie to my main email account – I would hate to lose my diary entries!
I hope someone can help a tech dinosaur! For many years I have used Outlook to bring together my main Aol.com email account plus a small number of auxilliary Aol.Co.UK and Gmail email accounts for ease of display of all of them in one place.Recently I set up my first ever Outlook.com email account and added it to Outlook.The calendar feature was previously tied to my main email account and I found it ideal for an electronic diary. For some reason the calendar has switched to the Outlook.com email account and all of my diary entries have disappeared.How can I get back to old position of a tie to my main email account – I would hate to lose my diary entries! Read More
What is the syntax to share support vectors among multiple regression SVMs?
I am fitting 64 support vector machines to accomplish a regression task on 64-dimensional targets. At the moment, I am simply iterating through each regression and saving the individually-fit models in a cell array. I find that each model has ~2000 support vectors and would like to reduce the storage the models require by identifying which support vectors are shared among regressors and having the models point to the shared support vectors rather than duplicate them. Is there a wrapper function that can identify and consolidate shared support vectors as the models train, or must I implement this manually? I am afraid I cannot simply install Python to use sklearn.I am fitting 64 support vector machines to accomplish a regression task on 64-dimensional targets. At the moment, I am simply iterating through each regression and saving the individually-fit models in a cell array. I find that each model has ~2000 support vectors and would like to reduce the storage the models require by identifying which support vectors are shared among regressors and having the models point to the shared support vectors rather than duplicate them. Is there a wrapper function that can identify and consolidate shared support vectors as the models train, or must I implement this manually? I am afraid I cannot simply install Python to use sklearn. I am fitting 64 support vector machines to accomplish a regression task on 64-dimensional targets. At the moment, I am simply iterating through each regression and saving the individually-fit models in a cell array. I find that each model has ~2000 support vectors and would like to reduce the storage the models require by identifying which support vectors are shared among regressors and having the models point to the shared support vectors rather than duplicate them. Is there a wrapper function that can identify and consolidate shared support vectors as the models train, or must I implement this manually? I am afraid I cannot simply install Python to use sklearn. machine learning, statistics, svm, regression MATLAB Answers — New Questions
Why do I receive the error message “Unable to rename file C:TempPolyspace1D78_150813568926D75C_18C1_208C.expanded into C:TempPolyspace1D78_150813568926D75C_18C1_208C” Exiting. System error Permission denied (acces: Permission denied)
In a Polyspace verification/analysis, I receive the following error message:
Verifying sources …
Verifying a.c (1/87)
Verifying b.c (2/87)
Verifying c.c (3/87)
*** Unable to rename file "C:TempPolyspace1D78_150813568926D75C_18C1_208C.expanded" into C:TempPolyspace1D78_150813568926D75C_18C1_208C". Exiting.System error Permission denied (acces: Permission denied)
Why am I receiving this error and how can I fix it?
In a Polyspace verification/analysis, I receive the following error message:
Verifying sources …
Verifying a.c (1/87)
Verifying b.c (2/87)
Verifying c.c (3/87)
*** Unable to rename file "C:TempPolyspace1D78_150813568926D75C_18C1_208C.expanded" into C:TempPolyspace1D78_150813568926D75C_18C1_208C". Exiting.System error Permission denied (acces: Permission denied)
Why am I receiving this error and how can I fix it?
In a Polyspace verification/analysis, I receive the following error message:
Verifying sources …
Verifying a.c (1/87)
Verifying b.c (2/87)
Verifying c.c (3/87)
*** Unable to rename file "C:TempPolyspace1D78_150813568926D75C_18C1_208C.expanded" into C:TempPolyspace1D78_150813568926D75C_18C1_208C". Exiting.System error Permission denied (acces: Permission denied)
Why am I receiving this error and how can I fix it?
MATLAB Answers — New Questions
How can i edit my code which works on r2014b version at work but not on my personal r2024a version?
I have an IAD code, number of lines long. It works great on the MATLAB r2014b version but on my r2024a version at home, i get an error of the following:
Running IAD on dataset 1
zsh:1: command not found: iad
Sample1_IAD.txt
Error using movefile
No matching files named ‘XXXXXX’ were found.
Error in IAD_Analyzer_WCV_04_11_23 (line 239)
movefile(iad_output_file,strcat([pwd, ‘results’]))
Please can someone well versed in MATLAB suggest what I should change in the code to address this error in the r2024a version? It seems to be a matter of changing file location or using a different cmd from ‘movefile’ etc but I’ve tried all I know to do with no success. Thank you, I appreciate any help.I have an IAD code, number of lines long. It works great on the MATLAB r2014b version but on my r2024a version at home, i get an error of the following:
Running IAD on dataset 1
zsh:1: command not found: iad
Sample1_IAD.txt
Error using movefile
No matching files named ‘XXXXXX’ were found.
Error in IAD_Analyzer_WCV_04_11_23 (line 239)
movefile(iad_output_file,strcat([pwd, ‘results’]))
Please can someone well versed in MATLAB suggest what I should change in the code to address this error in the r2024a version? It seems to be a matter of changing file location or using a different cmd from ‘movefile’ etc but I’ve tried all I know to do with no success. Thank you, I appreciate any help. I have an IAD code, number of lines long. It works great on the MATLAB r2014b version but on my r2024a version at home, i get an error of the following:
Running IAD on dataset 1
zsh:1: command not found: iad
Sample1_IAD.txt
Error using movefile
No matching files named ‘XXXXXX’ were found.
Error in IAD_Analyzer_WCV_04_11_23 (line 239)
movefile(iad_output_file,strcat([pwd, ‘results’]))
Please can someone well versed in MATLAB suggest what I should change in the code to address this error in the r2024a version? It seems to be a matter of changing file location or using a different cmd from ‘movefile’ etc but I’ve tried all I know to do with no success. Thank you, I appreciate any help. iad code, image processing MATLAB Answers — New Questions
Using/saving/re-opening CSV files in Excel – truncated digits
Hello,
When editing a CSV file in Excel (note that the original data I receive from others is in Excel format, but has to be published in CSV format), I use the “format cells” in Excel and select number of decimal places, save file, then re-open the file – the original digits are actually truncated instead of just hidden. I want to keep all the digits, but just have the viewer/user see 2 (or 4, or whatever) decimal places (however, they should see all the digits when they click on the cell).
Does anyone know how to preserve all the original digits, but only have the viewer/user see 2 (or 4, etc…) digits for neatness/uniformity sake?
Example attached.
Thanks!
Hello,When editing a CSV file in Excel (note that the original data I receive from others is in Excel format, but has to be published in CSV format), I use the “format cells” in Excel and select number of decimal places, save file, then re-open the file – the original digits are actually truncated instead of just hidden. I want to keep all the digits, but just have the viewer/user see 2 (or 4, or whatever) decimal places (however, they should see all the digits when they click on the cell).Does anyone know how to preserve all the original digits, but only have the viewer/user see 2 (or 4, etc…) digits for neatness/uniformity sake?Example attached.Thanks! Read More
Outlook mail Receiving and Sending stopped 22nd July 2024
Hi Team,
As I’m for an organization, and I’ve noticed that my outlook mails got stopped sending or receiving either.
The mail is successfully sent from my end but hasn’t been received from other end.
Hi Team, As I’m for an organization, and I’ve noticed that my outlook mails got stopped sending or receiving either. The mail is successfully sent from my end but hasn’t been received from other end. Read More
Trying to Build Truly Non-Persistent Machines
I’m trying to test a setup that will be used for public machines in a library setting through AVD and thin clients. To do this, I’ve built an AVD pool, which (according to documentation) is supposed to be completely non-persistent. However, I’ve noticed that if a user logs in and makes changes (creates files, changes settings, etc.) and then logs out, if they connect to the same virtual machine the next time they log in, their changes remain.
This isn’t non-persistent as advertised, and is definitely a problem. Since the machines this is meant to be testing for will have potentially hundreds of users logging in, changes cannot remain when they log off. Does anyone know of a way to actually make these machines non-persistent?
An important note: We won’t be able to utilize 3rd-party software like Nerdio (which I see a lot of people recommend, and which I wish I could use) because we’re a public/government organization, and there’s just no budget for a tool like that.
I’m trying to test a setup that will be used for public machines in a library setting through AVD and thin clients. To do this, I’ve built an AVD pool, which (according to documentation) is supposed to be completely non-persistent. However, I’ve noticed that if a user logs in and makes changes (creates files, changes settings, etc.) and then logs out, if they connect to the same virtual machine the next time they log in, their changes remain.This isn’t non-persistent as advertised, and is definitely a problem. Since the machines this is meant to be testing for will have potentially hundreds of users logging in, changes cannot remain when they log off. Does anyone know of a way to actually make these machines non-persistent?An important note: We won’t be able to utilize 3rd-party software like Nerdio (which I see a lot of people recommend, and which I wish I could use) because we’re a public/government organization, and there’s just no budget for a tool like that. Read More
Change a custom color palette
Afternoon all,
An ex-employee set up our SharePoint site with our corporate colours, however, he’s managed to get the rollover background colour to be the same as the text and our buttons have a red background with navy text, both are unreadable.
I can not for the life of me find out how to edit just these two little bits; the rest of the site looks great.
Any help would be fantastic, thanks.
Ed
Afternoon all, An ex-employee set up our SharePoint site with our corporate colours, however, he’s managed to get the rollover background colour to be the same as the text and our buttons have a red background with navy text, both are unreadable. I can not for the life of me find out how to edit just these two little bits; the rest of the site looks great. Any help would be fantastic, thanks.Ed Read More
Power Apps License usage – Graph API endpoint
Hi All
Is there a Microsoft Graph API endpoint that provides insights into the utilization versus purchase of Power Apps licenses, detailing which environments they are used in and by whom?
How can we achieve this?
Thanks
Kumar
Hi All Is there a Microsoft Graph API endpoint that provides insights into the utilization versus purchase of Power Apps licenses, detailing which environments they are used in and by whom?How can we achieve this? ThanksKumar Read More
Cardinality Estimation Feedback Explained by Kate Smith (@akatesmith)
The Problem of Cardinality Estimation
There is a single main query processing “engine” that powers SQL Server and Azure SQL Database. Within that engine is the part of a program that optimizes and executes queries. We call the process of optimizing and executing a query “Query Processing” or QP for short. Optimization is a step in which the query is, or can be, rewritten or reorganized to semantically equivalent but faster/more efficient operators. A critical part of that process is determining the approximate sizes of different sub-parts of a query. Think answers to questions like: “How many rows will this join return?” or “How many rows will be filtered out of this table with this clause?” This information is used by the optimizer at large to determine the right operators and right order of operations for best performance, and the process of generating these size-of-sub-result numbers is called cardinality estimation, or CE.
CE is based on two things:
Statistical information about the underlying data as stored in histograms.
General rules, approaches, or assumptions on how to combine sub-results and interpret histograms. These rules, taken together, are called the model.
The Model
The CE Model is a nuanced part of the estimation component, as it attempts to create general rules that will apply to specific situations, with limited ability to detect specifics about any one given situation. Take, for example, the rules within the model that determine how we estimate rows coming out of a join. Sometimes, the two tables being joined have an inherent relationship. The example we’ve used most often for this scenario is ‘Sales’ and ‘Returns’. It holds that every entry in the ‘Returns’ table must have a corresponding entry in the ‘Sales’ table. If the model assumes this kind of a relationship between any two tables, it would be effective for queries that match this pattern.
However, consider the situation where two tables are not related in such a direct way – and any relationship between them becomes apparent only after certain filters are applied. Take for example a table tracking the languages people speak and people’s addresses. Only after filtering for people living in, say, Quebec on one side and filtering for people who speak French on the other would you have a kind of implied relationship. (Many people who live in Quebec speak French). There is no inherent relationship of meaning between the two tables – the meaning is only added by the filters. Therefore, a different assumption on the part of CE – that the filters impute meaning into the join relationship – is also a very valid way to approach estimating joins between two tables.
So now we’ve just presented, at a high level, two different model assumptions, and given examples where one model fits but the other does not. The problem in software is that we need a single general rule – we can’t know BEFORE executing the query which rule is the better rule for any given situation.
This is the challenge of the model – finding that perfect single set of rules that will work for all (or at least a majority of) situations.
It can be helpful to think of the model across three basic dimensions:
Correlation to Independence
Data uniformity to skewed data
Semantic relationships between tables being implicit in structure, or implied by filters
Of these three dimensions, the first two exist on a little bit of a continuum, whereas the last is a bit of a toggle – either one model or the other, but not really a sliding scale in between. Across these multiple dimensions, different data sets and different query patterns can be anywhere in the space of what assumptions would work best for each query. Some patterns may be more common than others, but each pattern is valid. So, how do you design a system that will work in a general way?
Before SQL Server 2022, we had to pick a single default model for all queries. There were ways that advanced users could debug a query and possibly add trace flags or hints to a query to force a different model. That process was tedious, time-consuming, and required expert knowledge. We had to select a default model, and that was pretty much what customers got.
Enter Cardinality Estimation (CE) Feedback
CE Feedback was introduced in SQL Server 2022 and is now also available Azure SQL Database.
This feature tailors the model to each query after a few executions – ensuring any changes made do not regress the query.
CE Feedback can tailor the model to an individual query, in a do no harm way. Where before, we had only one model that was used for all queries, we can now modify the model used for each query appropriately.
How it works
A query is executed repeatedly (using the default model) and captured by the Query Store.
If the query estimates seem “off” or like they could use improvement, we identify one or more ways in which a different model might address the problematic estimate.
We try out the new model and evaluate:
Are estimates better?
Is performance better?
Did the query plan change?
If the answer to all three of these questions is ‘yes’, we persist this new model for this query only. It will be stored as a query store hint.
We try only one model variant at a time but can continue to identify further model variants to be combined with the ones we have already found, so the process may repeat and refine.
This all happens without user action or input.
CE Feedback works only for queries that are executed repeatedly, and we must have the query information in Query Store. Each query starts with the default model for estimation. After the requisite number of executions, we can determine if a different model might work better for the query – we make these decisions based on the accuracy of our estimates. If a new model variant could be tried, the CE Feedback framework tries it out on the next execution. If the plan changes and the estimates/runtime are better, we keep the new variant. If the plan does not change, or if the estimates do not improve, we do NOT keep the change. Keeping the change involves adding a hint (using Query Store Hints) to the query which will be persisted and used for that query for all future executions.
It sounds very simple, right? Identify a problem, try a solution, and if the solution works, keep it. All without user input or action. So, if your workload contains a range of queries whose optimal model spans our model dimensions, we can adjust the model for each query, with no action on your part, to be optimal or closer to optimal than the default.
CE Feedback customizes the model used for each query automatically, without user action.
This feature reduces the limitations of a one-model-fits-all approach.
The model and available changes
Each query still starts/begins with the default CE Model for database compatibility level 160, and there are three currently implemented model changes that are available for users. In this section, we’ll discuss the available dimensions, explain where the model starts, and explain the variants available.
Independence vs. Containment
Relevant scenario:
The query has multiple filters on a table joined by an ‘AND’ clause. Something like:
WHERE City = ‘Seattle’ AND State = ‘WA’
In this case, we have two predicates:
p1: City = ‘Seattle’
p2: State = ‘WA’
They are joined in a conjunctive clause. Each predicate has a selectivity, or the probability that the predicate is true for a given row in the database. In this case, assume the selectiveness of p1 and p2 are s1 and s2. Selectivity values are always less than or equal to 1. So, if 1/3 of the rows in the table match a filter, that filter’s selectivity would be 0.33.
As we work through this example, it’s useful to remember that in probability theory, the probability of two independent events occurring is the product of the probabilities of each event respectively. As an example, for a fair coin toss, we must multiply the probability of flip 1 being heads (0.5) by the probability of flip 2 being heads (0.5) to get the probability of BOTH flips being heads (0.25).
Default Model:
The default model along this spectrum is a middle ground between assuming complete independence and assuming complete dependence between the filters. This is called exponential backoff. To find the selectivity of the conjunction, we order the “selectivities” from most to least selective, and then reduce the impact of successive selectiveness by taking them to the 1/ ½^nth power. That is, if we have 3 predicates in order of most to least selective of s1, s3, s2, the selectivity of p1 AND p2 AND p3 is:
Selectivity of conjunction = s1 * s3^(1/2) * s2^(1/4)
Relevant Hint:
You get this model without any hint as it is the default, but if you wanted to force it, you could use the hint: ASSUME_PARTIAL_CORRELATION_FOR_FILTER_ESTIMATES (See this documentation link for more details)
Variants available:
For this model, we have two available variants. One is complete independence, and one is complete dependence.
Independence
The independence model is the most selective option, and it simply multiplies the “selectivities” of each predicate, a known principle from probability theory. Thus, the selectivity of the conjunction becomes s1 * s2 * s3. Given that all the “selectivities” are numbers less than or equal to one, this number will be smaller than the exponential backoff number computed above. We use this when we are overestimating the number of rows returned by a filter with a conjunctive clause.
Relevant Hint:
ASSUME_FULL_INDEPENDENCE_FOR_FILTERS
Dependence
The dependence model is the least selective option, as it simply takes the single most selective predicate and uses that as the selectivity of the conjunction. Thus, returning only s1. The case of above seems to fit this model best – everything located in Seattle is also located in Washington state. So, once we have reduced to the Seattle scope, we do not need to further reduce for Washington. We use this model when we are underestimating the rows returned by a conjunction using the default model.
Relevant Hint:
ASSUME_MIN_SELECTIVITY_FOR_FILTERS
Uniformity
For the database compatibility level 160 version of CE feedback, we only make one change that has to do with the overall model assumption of uniformity. This has to do with using ‘Row Goal’ during optimization. There are other scenarios and ways in which the uniformity assumption is used that we do not modify at all using CE Feedback currently.
Relevant Scenario and default model:
A user executes a query with a ‘Top N’ or ‘Fast N’ or ‘IN’ construct. The optimizer looks at the number of rows that it thinks will match any underlying filters and chooses to use a ‘Row Goal’ optimization – assuming that we can scan just a small number of rows in the table to fulfill the specified number of rows or relevant clause.
Alternative model:
However, due to the way that we build and interpret histograms, it is possible to incorrectly overestimate the number of rows and assume that a small scan will meet whatever goal is set by the query. When this happens, the query ends up scanning a lot more rows during execution than expected, and likely an index seek (which, instead of paging in all rows, pages in a targeted set of rows matching given predicates) would have been a more appropriate choice.
Relevant Hint:
DISABLE_OPTIMIZER_ROWGOAL
Join Relationships (a.k.a. join containment)
Relevant Scenario and default model:
This scenario is as described above in the section introducing the concept of the model – with ‘Sales’ and ‘Returns’ tables. We have two tables that are joined together, with filters on one or both tables. The current default model assumes that there is an underlying relationship between the tables (think ‘Sales’ and ‘Returns’). So, we estimate the join assuming a containment relationship, and scale down the number of rows from the join based on the filters. We sometimes call this “Base Containment”.
Alternative Model
Since the CE doesn’t know anything about the underlying semantic relationship that may or may not exist in a user query, we have an alternate way of estimating joins if the default model seems like it could be improved. This other option assumes that the filters impute meaning into the join, and so we estimate the filters first, followed by estimating the join based on assuming an underlying relationship between the rows returned from the filters. We sometimes call this “Simple Containment”.
It is not guaranteed that the new model will always be better, but if we think one model creates poor overall estimates, we may try the other option to see if it results in better estimates. It may not, and we will not keep the change if it does not.
Relevant Hint:
ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS
Limitations
As with everything in the query optimizer, there is no magic button that will solve all estimation errors. There may still be queries with out of model constructs that we cannot fix with CE Feedback today. And sometimes, under a new model, even when estimates get better, the plan does not change, or performance doesn’t improve enough to justify keeping the new model. And of course, we have only a handful of model variants that we can try with CE Feedback, so, the ideal model, or assumption, may not exist for a given query.
Conclusion
This was a whirlwind tour of cardinality estimation, the model, and the limitations of the model. We provided an overview of what CE Feedback does to address the limitation of a single fixed model, with explanations of the three model variants that are currently supported by CE feedback.
Drop a comment below if you think of a specific model variation that you’d like to see us add.
Microsoft Tech Community – Latest Blogs –Read More