Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon

Tech News

3711 Articles
article-image-daily-coping-30-dec-2020-from-blog-posts-sqlservercentral
Anonymous
30 Dec 2020
2 min read
Save for later

Daily Coping 30 Dec 2020 from Blog Posts - SQLServerCentral

Anonymous
30 Dec 2020
2 min read
I started to add a daily coping tip to the SQLServerCentral newsletter and to the Community Circle, which is helping me deal with the issues in the world. I’m adding my responses for each day here. All my coping tips are under this tag.  Today’s tip is to bring joy to others. Share something which made you laugh. I love comedy, and that is one outing that my wife and I miss. We’ve watched some specials and comedians online, but it’s not the same. I look forward to being able to go back to a live comedy show. One thing that I love about the Internet is the incredible creativity of so many people. While I get that there is a lot of things posted that others may not like, and it’s easy to waste lots of time, it’s also nice to take a brief break and be entertained by something. There is plenty to be offended by, but one of the cleaner, more entertaining things was brought to my by my daughter. She showed me You Suck at Cooking one night while I was cooking. I finished and then ended up spending about 20 minute watching with her while we ate. Two I enjoyed: kale chips potato latkes The post Daily Coping 30 Dec 2020 appeared first on SQLServerCentral.
Read more
  • 0
  • 0
  • 3693

article-image-how-to-easily-grant-permissions-to-all-databases-from-blog-posts-sqlservercentral
Anonymous
29 Dec 2020
6 min read
Save for later

How to Easily Grant Permissions to all Databases from Blog Posts - SQLServerCentral

Anonymous
29 Dec 2020
6 min read
A recurring need that I have seen is a means to grant a user or group of users access to all databases in one fell swoop. Recently, I shared an introductory article to this requirement. In this article, I will demonstrate how to easily grant permissions to all databases via the use of Server Roles. When talking about Server Roles, I don’t mean the Fixed Server Roles. It would be crazy easy, insane, and stupid to just use the fixed server roles to grant users access to all databases. Why? Well, only two of the fixed server roles would cover the permission scope needed by most users to access a database – and use said database. Those roles are sysadmin and securityadmin. The Bad, the Bad, and the Ugly The sysadmin role should be fairly obvious and is generally what every vendor and a majority of developers insists on having. We all know how dangerous and wrong that would be. The securityadmin fixed server role on the other hand is less obvious. That said, securityadmin can grant permissions and should therefore be treated the same as sysadmin. By no means do we ever want to grant access (as a shortcut / easy method) via these roles, that would be security-defeating. There is one more role that seems to be a popular choice – the public role. Visualize a child’s eyes rolling into the back of their head and you have my reaction to this option. This is the ugly of the options but cannot go without mentioning because I deal with vendors on a regular basis that continue to insist on doing things this way. This is not necessarily the easy method because you have to manually grant permissions to the public fixed server role, so this comes with some work but it is just flat stupid and lazy to grant all of these permissions to the public role. Here is an article on this absurd method. Create Custom Server Roles for all DB Access The pre-requisite for there to be an easy button is to create your own Server-Level role. I demonstrated how to do this in a previous article and will glaze over it quickly again here. IF NOT EXISTS ( SELECT name FROM sys.server_principals WHERE name = 'Gargouille' ) BEGIN CREATE LOGIN [Gargouille] WITH PASSWORD = N'SuperDuperLongComplexandHardtoRememberPasswordlikePassw0rd1!' , DEFAULT_DATABASE = [] , CHECK_EXPIRATION = OFF , CHECK_POLICY = OFF; END; --check for the server role IF NOT EXISTS ( SELECT name FROM sys.server_principals WHERE name = 'SpyRead' AND type_desc = 'SERVER_ROLE' ) BEGIN CREATE SERVER ROLE [SpyRead] AUTHORIZATION [securityadmin]; GRANT CONNECT ANY DATABASE TO [SpyRead]; END; USE master; GO IF NOT EXISTS ( SELECT mem.name AS MemberName FROM sys.server_role_members rm INNER JOIN sys.server_principals sp ON rm.role_principal_id = sp.principal_id LEFT OUTER JOIN sys.server_principals mem ON rm.member_principal_id = mem.principal_id WHERE sp.name = 'SpyRead' AND sp.type_desc = 'SERVER_ROLE' AND mem.name = 'Gargouille' ) BEGIN ALTER SERVER ROLE [SpyRead] ADD MEMBER [Gargouille]; END; In this demo script, I have created a user and a server-level role, then added that user to the role. The only permission currently on the server-level role is “Connect Any Database”. Now, let’s say we need to be able to grant permissions to all databases for this user to be able to read (that would be SELECT in SQL terms) data. The only thing I need to do for the role would be to make this permission change. GRANT SELECT ALL USER SECURABLES TO [SpyRead]; That is a far simpler approach, right? Let’s see how it might look to add a user to the role from SQL Server Management Studio (SSMS). After creating a custom server role, you will be able to see it from the login properties page and then add the login directly to the role from the gui. That makes the easy button just a little bit better. Test it out Now, let’s test the permission to select from a database. EXECUTE AS LOGIN = 'Gargouille'; GO USE []; GO -- no permissions on server state SELECT * FROM sys.dm_os_wait_stats; GO --Yet can select from any database SELECT USER_NAME() SELECT * FROM sys.objects REVERT Clearly, you will need to change your database name unless by some extreme chance you also have a database by the name of . Testing this will prove that the user can connect to the database and can also select data from that database. Now this is where it gets a little dicey. Suppose you wish to grant the delete option (not a super wise idea to be honest) to a user in every database. That won’t work with this method. You would need to grant those permissions on a per case basis. Where this solution works best is for permissions that are at the server scope. Permissions at this scope include the things such as “Control Server”, “View any Definition”, “View Server State”, and “Select all USER Securables”. This isn’t a complete list but just enough to give you an idea. That said, how often do you really need to have a user be able to change data in EVERY database on a server? I certainly hope your security is not setup in such a fashion. Caveat Suppose you decide to utilize the permission “SELECT ALL USER SECURABLES”, there is an additional feature that comes with it. This permission can be used to deny SELECT permission against all databases as well. As a bonus, it works to block sysadmins as well – sort of. It does deny the SELECT permission, unlike other methods, when applied to a sysadmin, however, any sysadmin worth their salt can easily revoke that permission because they have “CONTROL” server permission. That said, it would be a worthwhile trick to play on your junior dbas to see what they do. Put a bow on it As Data Professionals, we are always trying to find more efficient ways of doing the job. Sometimes, against our best advice, we are required to find a more efficient way to give users access to more than they probably should have. This article demonstrates one method to easily grant READ access to all databases while still keeping the environment secure and hitting that chord of having done it more efficiently. Interested in learning about some deep technical information? Check these out! Want to learn more about your indexes? Try this index maintenance article or this index size article. This is the fifth article in the 2020 “12 Days of Christmas” series. For the full list of articles, please visit this page. The post How to Easily Grant Permissions to all Databases first appeared on SQL RNNR. Related Posts: Server-Level Roles - Back to Basics November 20, 2020 When Too Much is Not a Good Thing December 13, 2019 SQL Server User Already Exists - Back to Basics January 24, 2018 SHUTDOWN SQL Server December 3, 2018 Who needs data access? Not You! December 12, 2019 The post How to Easily Grant Permissions to all Databases appeared first on SQLServerCentral.
Read more
  • 0
  • 0
  • 4420

article-image-looking-back-a-year-or-two-in-review-of-tableau-web-authoring-from-whats-new
Anonymous
29 Dec 2020
6 min read
Save for later

Looking back: A year (or two) in review of Tableau web authoring from What's New

Anonymous
29 Dec 2020
6 min read
Kevin Mason Senior Product Manager, Tableau Kristin Adderson December 29, 2020 - 8:23pm December 29, 2020 We are wrapping up 2020 with some well-timed holiday goodies. Tableau 2020.4 marks a very special milestone on our web authoring journey with the completion of the most requested web feature requests from the last two years, as well as the exciting release of Tableau Prep Builder on the web!  Our dev teams have been hard at work building Tableau into a true SaaS solution. With the majority of people working from home, web authoring has been particularly important to quickly give analysts access to the right data from anywhere without requiring a top-of-the-line computer to run analyses—a simple browser and reliable internet connection will do.  Tableau 2020.4 DemoWith the year coming to an end, we thought it would be fun to reflect and celebrate how far we’ve come on this journey to the web.  Humble beginnings During the early 2010s, the benefits of SaaS began to bear fruit. Tableau Desktop was our bread and butter, but required IT to install the software directly onto folks’ computers and maintain each individual license. This is where Tableau began to invest in Tableau Server, Tableau Online, and web authoring, though it was pretty limited in the early days. Can you believe web authoring didn’t even have dashboards until 2016?! Oh how time flies.  Old Tableau DemoMuch to our excitement, customers like Oldcastle saw the potential web authoring could bring to its organization. Oldcastle shared how it was encouraging employees to ask more data-driven questions and dig deeper using web authoring at TC15. As a pioneer for effectively using web authoring (even before dashboard editing!), Oldcastle’s TC talk is still relevant today. Oldcastle TC15 DemoAs part of Tableau Server and Tableau Online, web authoring offers a lot of benefits. It can be centrally managed, which simplifies deployment, license management, and version control. This means: Everyone in the organization gets the latest version during a Server or Online update, no individual Desktop updates needed.   Since all workbooks are stored on the Server, IT professionals have more visibility into what people are creating which helps with data governance and resource management.  IT teams don’t have to worry about managing multiple individual licenses—with web authoring, they can maintain licenses, upgrades, and content all on Tableau Server or Tableau Online. Analysts don’t have to context switch back to Desktop to make small changes. It can all be done in the same, single place.  An end-to-end experience in the browser Since then, we have been hard at work bringing much-loved Desktop features into the browser—we’re talking full home remodeling, down to the studs (basically Extreme Makeover: Tableau Edition). Our 2018.1 release saw the biggest change, with the ability to connect to data from the web, plus our new role-based pricing model. Parameters (2019.1), tooltips (2020.1), and filters (2020.3) were soon to follow. Finally, Tableau 2020.4 was extra-special, bringing the last of the most requested features you have patiently been waiting for to the web: actions, sets, and extracts. We heard the cries, demands, and pleas for the last three years, and I’m thrilled to say that web authoring has achieved parity with the Tableau Desktop you know and love! 2020.4 also includes Apply Filters to Selected Worksheets!During this journey, early adopters continued to share their success stories. At TC18, DISH Network illustrated how a few teams rolled out web authoring broadly in the organization and set up specific training sessions for new users. By setting up Web Authoring for analysts across the organization, DISH dramatically reduced the number of ad hoc requests its primary analytics teams would receive. As a result, the primary teams can focus on the larger, org-wide projects while everyday analysts are able to self-serve their own ad hoc requests for query and visualization changes. DISH still serves as an excellent example of how to create a data-driven culture.  Try it out yourself this new year Oldcastle and DISH are just two examples of the many customers finding success with web authoring. Even our sales team uses web authoring to build dashboards for the majority of their demos! Over the last 18 months, more customers are asking how to use web authoring to help expand their use of data throughout their business.  If you are curious to learn more, including some best practices, check out my Tableau Community post. I collected all the various resources with real customer examples and numerous videos from Tableau Conferences.  Or jump right in! Create a new workbook from scratch right on the web by clicking “New” > “Workbook” on the Explore page.  If you have the right permissions, you can edit existing workbooks by clicking the “Edit” button on the toolbar.  We’ve certainly come a long way, together As we close 2020, we would like to thank you. We really appreciate your patience as we rebuilt much-loved Desktop features and we cannot thank you enough for helping us identify which ones were most important to you.  Thank you to the 20,000+ that have participated in beta programs, posted on the Community Forums, and shared candid feedback while our PMs and user researchers pestered you with questions. It’s a little corny, but it’s true: you are what makes this #DataFam as special as it is. With your help, we were able to prioritize these web features among new analytics capabilities like viz in tooltip, nested sorting, spatial joins, and set actions!  We are excited to see what you build on the web using Tableau 2020.4. And I’m even more excited to show you what’s coming in 2021. In the coming releases, you will see more web-first features. After all, web applications are, well, web applications—so we expect them to behave a little differently, and certainly faster, than ye ol’ Desktop. I can’t share exact details, but you can expect investments that will make Tableau an exceptional web experience. And don’t worry—we are still delivering the very few remaining Desktop-loved features to the browser. We are just adding some special web-first considerations to them! Happy Holidays from all of us, to you. Here’s to 2021!  
Read more
  • 0
  • 0
  • 3113

article-image-daily-coping-29-dec-2020-from-blog-posts-sqlservercentral
Anonymous
29 Dec 2020
2 min read
Save for later

Daily Coping 29 Dec 2020 from Blog Posts - SQLServerCentral

Anonymous
29 Dec 2020
2 min read
I started to add a daily coping tip to the SQLServerCentral newsletter and to the Community Circle, which is helping me deal with the issues in the world. I’m adding my responses for each day here. All my coping tips are under this tag.  Today’s tip is to congratulate someone for an achievement that may go unnoticed. This is a double congrats, for someone that I know and don’t get to see often enough. Some of you may also know Glenn Berry, hardware expert and the author of the DMV Diagnostic queries that lots of people use. Glenn left his job and struck out on his own this past year and he’s been busy working on a number of things where he’s had some success that I think is worth noting. I have probably left some positive notes on posts, but I’m going to use today as a way to congratulate him for a few things. First, his YouTube channel has over 500 subscribers, which is a nice accomplishment in relatively short time. Second, he’s been winning awards for his beer. Congrats to him, and hopefully I’ll get the chance to try some of these. I was over at his house last summer, watching him brew beer one day and got to try a few of his creations. Looking forward to doing it again. The post Daily Coping 29 Dec 2020 appeared first on SQLServerCentral.
Read more
  • 0
  • 0
  • 3692

article-image-time-to-set-service-dependencies-for-sql-server-its-easy-from-blog-posts-sqlservercentral
Anonymous
29 Dec 2020
6 min read
Save for later

Time to Set Service Dependencies for SQL Server, it’s Easy from Blog Posts - SQLServerCentral

Anonymous
29 Dec 2020
6 min read
In the previous article I mentioned the need for setting certain dependencies for SQL Services startup. As promised, this article is a follow-up to that article to help you easily set the service dependencies for SQL Server. Setting service startup dependencies is an essential step to take to help ensure a seamless startup experience and to reduce the chance for failure. Some of the possible failures that could occur were explained in the previous article as well as in this article about MSAs by Wayne Sheffield. Our goal as data professionals is to minimize the chance for surprises and unnecessary time spent troubleshooting problems that shouldn’t have happened in the first place. Set Service Dependencies What is it that a service dependency does for the system? Well, a service dependency is much like any sort of dependency. A service dependency simply means that in order for a service to function properly another service needs to be functioning properly. This is very much like having children. The children are called dependents because children require somebody else to be around to take care of and support them to a certain point. A service that has a dependency means that it basically is a child service that needs a parent service to be properly functioning so the child service can go on about its duties and do what is expected / desired of it. So what are the service dependencies that we should be setting? The services that should be running in order to ensure SQL Server will work properly are Netlogon, W32Time, and KEYISO. For the SQL Agent service, the same services can be set as dependencies but you really only need to ensure that the SQL Server service is listed as a service dependency. Here is an example of what that would look like from the service properties pages in the services control panel. Now, you can either laboriously enter each of those dependencies while editing the registry (ok, so it isn’t really that laborious to do it by hand via regedit but that does more easily permit unwanted errors to occur) or you can take advantage of something that is repeatable and easier to run. A script comes to mind as an appropriate method for that latter option. Script it once! Scripts are awesome resources to make our lives easier. This script is one that I use time and again to quickly set all of these service dependencies. In addition, it also can set the properties for your MSA account. One thing it does not do is set the service to “Automatic (Delayed Start)” instead of the default “Automatic” start type. That sounds like a fantastic opportunity for you to provide feedback on how you would that into the script. Without further ado, here is the script to help save time and set your service dependencies easily. #Todo - modify so can be run against group of servers # modify so can be run remotely $servicein = '' #'MSSQL$DIXNEUFLATIN1' #use single quotes in event service name has a $ like sql named instances $svcaccntname = '' #'svcmg_saecrm01$' #to set managed service account properties #$RequiredServices = @("W32Time","Netlogon","KEYISO"); $RequiredServices = @('W32Time','Netlogon','KEYISO'); #$CurrentServices; IF($servicein){ $ServiceList = [ordered]@{ Name = $servicein} } IF($svcaccntname) { $ServiceList = Get-WmiObject Win32_Service | Select Name, StartName, DisplayName | Where-Object {($_.Name -match 'MSSQL' -or $_.Name -match 'Agent' -or $_.Name -match 'ReportServer') ` -and $_.DisplayName -match 'SQL SERVER' ` -or $_.StartName -like "*$svcaccntname*" } } ELSE{ $ServiceList = Get-WmiObject Win32_Service | Select Name, StartName, DisplayName | Where-Object {($_.Name -match 'MSSQL' -or $_.Name -match 'Agent' -or $_.Name -match 'ReportServer') ` -and $_.DisplayName -match 'SQL SERVER' ` } } foreach ($service in $ServiceList) { $servicename = $service.Name #$RequiredServices = @("W32Time","Netlogon","KEYISO"); #init at top $CurrentReqServices = @(Get-Service -Name $servicename -RequiredServices | Select Name ); #<# if ($CurrentReqServices) { $CurrentReqServices | get-member -MemberType NoteProperty | ForEach-Object { $ReqName = $_.Name; $ReqValue = $CurrentReqServices."$($_.Name)" } "Current Dependencies = $($ReqValue)"; #> } ELSE { "Current Dependencies Do NOT exist!"; $ReqValue = $RequiredServices } $CurrentServices = $RequiredServices + $ReqValue | SELECT -Unique; #"Processing Service: $servicename" #"Combined Dependencies = $($CurrentServices)"; #<# $dependencies = get-itemproperty -path "HKLM:SYSTEMCurrentControlSetServices$servicename" -Name DependOnService -ErrorAction SilentlyContinue if ($servicename -match 'MSSQL'){ if ($dependencies) { #$dependencies.DependOnService Set-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetServices$servicename" -Name DependOnService -Value $CurrentServices } ELSE { New-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetServices$servicename" -Name DependOnService -PropertyType MultiString -Value $CurrentServices } } IF($svcaccntname) { $mgdservice = get-itemproperty -path "HKLM:SYSTEMCurrentControlSetServices$servicename" -Name ServiceAccountManaged -ErrorAction SilentlyContinue if ($mgdservice) { Set-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetServices$servicename" -Name ServiceAccountManaged -Value @("01","00","00","00") } ELSE { New-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetServices$servicename" -Name ServiceAccountManaged -PropertyType BINARY -Value @("01","00","00","00") } } #> } Mandatory disclaimer: Do not run code you find on the internet in your production environment without testing it first. Do not use this code if your vision becomes blurred. Seek medical attention if this code runs longer than four hours. Common side effects include but not limited to: Diarrhea, Infertility, Dizziness, Shortness of breath, Impotence, Drowsiness, Fatigue, Heart issues (palpitations, irregular heartbeats), Hives, Nausea and vomiting, Rash, Imposter Syndrome, FOMO, and seasonal Depression. Script creator and site owner take no responsibility or liability for scripts executed. Put a bow on it DBAs frequently have tasks that must be done in a repeatable fashion. One of those repeatable tasks should be the task to ensure the Service Dependencies are properly set. This article shares a script that achieves the goal of creating a routine that is repeatable and easy to take some of that weight off the shoulders of the DBA. The script provided in this article is an easy means to help ensure consistency and repeatability in tasks that may have to be repeated many times. Doing these tasks with a script is mundane and monotonous enough. Imagine doing that by hand, manually, on hundreds of servers – or even just two servers. Then to try to do it again in 6 months on another server – after you have forgotten what you did manually the first two times. Interested in little more about security? Check these out! Want to learn more about your indexes? Try this index maintenance article or this index size article. This is the fourth article in the 2020 “12 Days of Christmas” series. For the full list of articles, please visit this page. The post Time to Set Service Dependencies for SQL Server, it’s Easy first appeared on SQL RNNR. Related Posts: Here is an Easy Fix for SQL Service Startup Issues… December 28, 2020 CRM Data Source Connection Error January 23, 2020 SHUTDOWN SQL Server December 3, 2018 Single User Mode - Back to Basics May 31, 2018 Changing Default Logs Directory - Back to Basics January 4, 2018 The post Time to Set Service Dependencies for SQL Server, it’s Easy appeared first on SQLServerCentral.
Read more
  • 0
  • 0
  • 4002

article-image-requesting-an-update-for-my-sqlsaturday-com-bid-from-blog-posts-sqlservercentral
Anonymous
29 Dec 2020
1 min read
Save for later

Requesting an Update for My SQLSaturday.com Bid from Blog Posts - SQLServerCentral

Anonymous
29 Dec 2020
1 min read
Someone asked about the bid, and I have had no response, so I sent this. The post Requesting an Update for My SQLSaturday.com Bid appeared first on SQLServerCentral.
Read more
  • 0
  • 0
  • 3758
Unlock access to the largest independent learning library in Tech for FREE!
Get unlimited access to 7500+ expert-authored eBooks and video courses covering every tech area you can think of.
Renews at $19.99/month. Cancel anytime
article-image-tableau-foundation-partners-reflect-on-2020-and-data-for-impact-from-whats-new
Anonymous
28 Dec 2020
10 min read
Save for later

Tableau Foundation partners reflect on 2020 and data for impact from What's New

Anonymous
28 Dec 2020
10 min read
Neal Myrick Global Head of the Tableau Foundation Kristin Adderson December 28, 2020 - 9:59pm December 27, 2020 Addressing a global pandemic and economic crisis while also driving for change in other areas—from racial inequity to equitable education to hunger—is a monumental challenge. We are lucky to have amazing nonprofit partners tackling these issues. We took a moment to check-in with some to hear how the year has shaped—and reshaped—their approach to solving some of the world’s most pressing issues.  Driving for racial equity and justice amid the pandemic: PolicyLink “2020 was tragic and heart-opening for racial equity,” says Josh Kirschenbaum, Chief Operating Officer of the racial equity research and action institute PolicyLink. COVID-19 exposed racial disparities in health and access to care, and the murder of George Floyd and the protests that followed showed how far the country has to go to address them. “We have to step into this opening and move into an era of reckoning and acceleration around equity and justice that we’ve never seen before,” he says. Over the past year, PolicyLink helped drive the conversation around the need for equity-based solutions to COVID-19 with a comprehensive plan and set of policy priorities for pandemic response. They also released a weekly publication called COVID, Race, and the Revolution. “It’s critical to connect our data and policy proposals with narrative and communications,” Kirschenbaum says.  PolicyLink has also worked to draw attention to the broader racial inequity crisis in the U.S. This summer, they released their Racial Equity Index, a data tool to measure the state of equity in the largest 100 metros across the U.S. They also released a report outlining racial disparities in the workforce during the pandemic and were a founding partner in WeMustCount.org, an effort to push for COVID-19 data disaggregated by race. In 2021, PolicyLink wants to transform the energy and data around racial disparities in the U.S. into structural change. “We are no longer at the level of just doing project-based work,” Kirschenbaum says. “This is the time to lead with transformative solidary, focus on equity, and really redesign the nation.” Combatting increasing hunger: Feeding America and World Food Programme Image credit: Feeding AmericaCOVID-19 is a multi-level crisis. Our partners at Feeding America and the World Food Programme have seen firsthand how the pandemic has affected hunger in the U.S. and the world—and they’re working to respond to it.  “There’s been a perfect storm of increased demand, declines in donations of food, and disruptions to the charitable food assistance system’s operating model,” says Christine Feiner, Feeding America’s director of corporate partnerships. The organization estimates that progress made against food insecurity in the U.S.—which before was at the lowest it had been in 20 years—will be wiped out due to COVID-19. Over the last year, Feeding America saw demand increase 60% across its network of 200 food banks. Feeding America has relied on data to guide the organization through the pandemic. They launched a survey to understand demand and challenges across their member food banks. “That allowed us to have a real-time view into what food banks were seeing on the ground so we could property support them and connect them to additional resources,” Feiner says. Feeding America has also used this data to push for policy change at the federal level to help people at risk of hunger—work they plan to continue next year.  The United Nations World Food Programme—which became a Nobel Peace Prize Laureate this year—has been contending with increased need globally. “Roughly a quarter of a billion people—especially the already poor—are expected to have experienced food insecurity this year, largely driven by the loss of jobs, remittances, and purchasing power. Already poor and food insecure populations are disproportionately affected,” says Pierre Guillaume Wielezynski, the digital transformation services chief at WFP.  With the pandemic limiting WFP’s ability to work directly in communities and deliver aid, they’ve been able to use data and technology to reach people in need. In Tableau, they built a shipping and logistics platform for the entire humanitarian sector to manage and track aid deliveries in real-time. And they’ve been able to analyze data from technologies like text messaging and chatbots to get a picture of needs on the ground and ensure they’re responding most helpfully and efficiently.  Next year, WFP will continue to focus on delivering aid in communities while pushing for policy change, Wielezynski says. “Our presence in over 80 countries gives us a unique position to help advise our government partners on solutions to hunger and food insecurity,” he says.  Keeping the spotlight on homelessness: Community Solutions Image credit: Community SolutionsSince the beginning of the pandemic, the spotlight has been on frontline workers: healthcare professionals, post office workers, grocery store clerks. “What a lot of people didn’t really recognize initially was that homeless service providers are also on the frontline of protecting a population that is especially vulnerable to COVID-19,” says Anna Kim, communications lead for Community Solutions.  Communities and agencies that work with Community Solutions through their Built for Zero initiative—a data-driven program to bring about a functional end to homelessness—had to expand from the already-steep task of doing homeless response work to emergency pandemic response. “They needed to figure out how to get masks and PPE, and how to make shelters safe,” Kim says. But communities that have already been collecting detailed, person-specific data on their homeless population through Built for Zero found that same data to be critical in responding to COVID-19. Communities like Jacksonville, Florida, were able to use their by-name list of people experiencing homelessness to conduct wide-spread testing and keep people safe.  Throughout the pandemic, Community Solutions has elevated the importance of addressing homelessness as both a public health and racial equity imperative. “The raised public consciousness around racial equity after the murder of George Floyd has also heightened the importance of understanding how homelessness has always disproportionately impacted Black and Native populations,” Kim says. “We’ve been able to raise awareness of the need to invest even further in addressing these disparities and ending homelessness.” Community Solutions was recently named a finalist in the prestigious MacArthur Foundation 100&Change competition for their exceptional work. Next year, they hope to expand partnerships with cities across the U.S. to continue driving for an end to homelessness—even in the face of enormous health and economic challenges. Addressing growing education equity gaps: Equal Opportunity Schools As COVID-19 has forced schools to close and learning to go remote, equity divides among students have grown even more pronounced. “We talk about how COVID-19 is exacerbating inequities and pre-existing conditions in health, but it’s also true in education,” says Sasha Rabkin, chief strategy officer for Equal Opportunity Schools, an organization focused on closing equity gaps in education. “And inequity is a pre-existing condition.” EOS has built data tools for schools and districts to understand inequities and how they play out along racial lines. Through the surveys they conducted twice in 2020, EOS found that over 75% of students say that they are struggling with motivation–particularly with balancing coursework with the desire to have deep conversations about what’s happening globally with COVID, racial injustice, and political movements. “For educators to be able to hear that is invaluable,” Rabkin says. What’s on the mind of EOS and the educators they work with is how they can more genuinely meet students where they are and construct learning environments that respond to the current moment and bring students along. “Can we start to think about measuring and understanding and engaging with what matters, instead of continuing with the status quo? Schools look a lot like they did 20 years ago. Can we make this a moment to think critically about what we could be doing differently?” Supporting access to sanitation and hand-washing infrastructure: Splash A Splash handwashing station (Image credit: Make Beautiful)As a nonprofit, Splash focuses on providing handwashing, hygiene, and sanitation infrastructure to kids in schools and orphanages in cities throughout the Global South. During the pandemic, says Laura Mapp, Director of Business Development at Splash, their work has become even more essential and complicated. “At the beginning of the pandemic, we engaged in direct COVID relief with our government partners in Ethiopia,” Mapp says. In Addis Ababa, three of the schools where Splash had previously installed hand-washing stations and sanitation infrastructure became quarantine centers, where people who suspected they had the virus could safely quarantine away from their families. Splash also partnered with the Bureau of Health in Addis Ababa to bring their handwashing stations to six hospitals across the city. They’ve been able to install sanitation infrastructure in schools while children are learning remotely. Students learning from home, Mapp says, spurred Splash to innovate on ways to reach them virtually with messaging about the importance of handwashing and information about menstrual health, especially for girls. “This is helping us forge some new partnerships to enable the delivery of these tools, particularly in India, where mobile and computer usage is more accessible,” Mapp says. For instance, they’re partnering with a platform called Oky, designed by Unicef, that young girls can use to get answers about menstrual health questions. While the pandemic continues to pose significant challenges in the communities where Splash works, Mapp is hopeful that the increased attention on the need for good sanitation infrastructure and communication around hygiene best practices will help keep people safe through and beyond the pandemic. Pivoting a successful social enterprise to meet community needs: FareStart Image Credit: FareStartAs soon as COVID-19 began forcing lockdowns in cities across the U.S., FareStart knew it would have to pivot its operations. The social enterprise manages a handful of restaurants and cafes across Seattle, where people facing barriers to employment—from homelessness to drug-use history—gain training and experience in the workforce. With restaurants shuttering and in-person work discouraged, FareStart’s programs could not continue as normal.  Almost immediately, FareStart started using its restaurants and kitchens to prepare individual meals to deliver to the most vulnerable. FareStart now is serving over 50,000 individual meals per week, distributed across over 100 sites, says Erika Van Merr, FareStart’s Associate Director of Philanthropy.  Managing this broad distribution operation and network, Van Merr says, has required more data than FareStart ever used before. They’ve been using external data to understand the COVID-19 situation in their community while inputting data daily to track meals: preparation location, for what organization, and where they were distributed. “We really had to up our data savviness to make decisions about how to operate daily,” Van Merr says. They plan to continue using data to expand their community meals program even after the pandemic is over. While the organization has launched virtual training programs, it looks forward to bringing back the students in person and reopening its restaurant and cafes. “When people ask what our plans look like for next year, I tell them that we will continue to provide hunger relief for our community’s most vulnerable neighbors,” says Van Merr.  To learn more about Tableau Foundation and its partners, visit tableau.com/foundation.
Read more
  • 0
  • 0
  • 2658

article-image-here-is-an-easy-fix-for-sql-service-startup-issues-when-using-an-msa-from-blog-posts-sqlservercentral
Anonymous
28 Dec 2020
6 min read
Save for later

Here is an Easy Fix for SQL Service Startup Issues When Using an MSA from Blog Posts - SQLServerCentral

Anonymous
28 Dec 2020
6 min read
So far, the articles in this years 12 Days of Christmas series first and second days) have shown some relatively easy fixes for some rather annoying problems. In this article, I will continue that same pattern. In this article, I will share another frustrating problem related to both Kerberos and Managed Service Accounts (MSAs). What is an MSA you might ask? That is a good question. If you are unacquainted with this special type of service account, you have been missing out. An MSA is a special account managed by the domain controller. It is an account that is used to run a service on a single computer (note a Group Managed Service Account, or gMSA, is another type of MSA that can be used on multiple computers). Since the password is managed by the domain and is frequently changed, humans won’t know the password and will not be able to use it to log on to a computer. This type of service account is preferred because of the improved security on the account. That sounds great, right? It is, until you encounter some of the oddball failures and randomness of the service not starting as you might expect. Wayne Sheffield addressed some of the problems relating to the service starting in his article here. As luck would have it, there is a similar problem that needs just a little more action on our part in order to nudge the service to be able to start consistently. Fix SQL Service not Starting after Reboot when using an MSA As a general rule of thumb, I recommend adding the service dependencies to your SQL Server Service. These service dependencies are (as mentioned in Wayne’s article): Netlogon, KEYISO, and W32Time. Additionally, I recommend that you double check the dependency for the SQL Server Agent to ensure it is dependent upon SQL Server Service. Most of the time, the agent service will already have the SQL Server Service dependency and the SQL Server Service will have the KEYISO dependency. However, that is not a foregone conclusion. Occasionally, those dependencies are missing. Netlogon and W32Time are almost always missing so you will need to add those dependencies most of the time. I won’t go into further detail about setting these dependencies today. Wayne showed how to use regedit to set the dependencies. That said, these dependencies should be set prior to setting the “fix” I will mention shortly in this article. In addition, stay tuned because I will be showing in the near future how to set those dependencies via PowerShell. Occasional Errors after Reboot The problem of SQL Server Service not starting after a reboot when using an MSA is ridiculously frustrating. Why? Well, you get very little information as to what the problem is. The event viewer just shows (most of the time) that the service stopped and doesn’t give an error code. In fact it just shows it as an informational event. Every once in a while, you may get a gold nugget of a clue with a message similar to the following: NETLOGON error: This computer was not able to set up a secure session with a domain controller in domain TurdWilligers due to the following: There are currently no logon servers available to service the logon request. This may lead to authentication problems. Make sure that this computer is connected to the network. If the problem persists, please contact your domain administrator. ADDITIONAL INFO If this computer is a domain controller for the specified domain, it sets up the secure session to the primary domain controller emulator in the specified domain. Otherwise, this computer sets up the secure session to any domain controller in the specified domain. Despite the service dependency on Netlogon, you can still see SQL Server try to start before the Netlogon service is fully functional. This is disastrous, right? Not exactly. Despite the flawed attempt to start a bit quick there, we still have our methods to avoid this problem in the future. You will laugh at how ridiculously easy this fix is. Are you ready for it? And now the Fix The fix is (after setting the service dependencies mentioned previously) to set the SQL Server Service to “Automatic (Delayed Start)” instead of “Automatic” as shown in the following image. All that needs to be done is this quick and simple change in the services control panel (not SQL Server Configuration Manager). Once applied, reboot the server to validate that it worked. TADA – problem solved. Now, take this fix and make your environment consistent. Or not. The choice is yours. Personally, I prefer to have my environment as consistent as absolutely possible. There are times when that is not plausible and it is these times that it is very highly recommended to DOCUMENT what is different and the reasons as to why it is different. This makes your job significantly easier and gives you back a significant amount of time that you will grow to appreciate more and more over time. Put a bow on it Running into startup issues with your services could be a nightmare on some days. Couple those issues with an MSA and you may be looking at a bald spot on your head before long. Never fear, this article demonstrates that startup issues involving MSAs can be an extremely simple condition to resolve. The most benign of changes affecting your service startup can be the difference between SQL Server starting normally after an unexpected reboot or SQL Server being down until somebody “notices” the problem. As mentioned previously in this article, please stay tuned for future tips on how to simplify adding the service dependencies. It should prove a useful tool in your arsenal, helping you to become more efficient and elite. Enjoyed reading some of these security related articles? Security is a fantastic topic and there is plenty to learn in regards to security. Try this article for more related to Kerberos issues. Or maybe you want something a little more in your face about security? Try this back to basics article about public role permissions. This is the third article in the 2020 “12 Days of Christmas” series. For the full list of articles, please visit this page. The post Here is an Easy Fix for SQL Service Startup Issues When Using an MSA first appeared on SQL RNNR. Related Posts: CRM Data Source Connection Error January 23, 2020 SHUTDOWN SQL Server December 3, 2018 Single User Mode - Back to Basics May 31, 2018 The Gift of the SPN December 10, 2019 How To Resolve User Error in Kerberos Configuration Manager December 26, 2020 The post Here is an Easy Fix for SQL Service Startup Issues When Using an MSA appeared first on SQLServerCentral.
Read more
  • 0
  • 0
  • 4535

article-image-so-youre-thinking-about-virtual-instructor-led-training-from-whats-new
Anonymous
28 Dec 2020
5 min read
Save for later

So you’re thinking about Virtual Instructor-Led Training? from What's New

Anonymous
28 Dec 2020
5 min read
Sarah Hinrichsen Services Delivery Enablement Manager, Tableau Kristin Adderson December 28, 2020 - 6:13pm December 28, 2020 Okay, so maybe you aren’t completely sold on virtual instructor-led training yet. I am here to reassure you. There’s a place for it in your Tableau education plan. If you haven’t taken virtual training before, the unknown might make you question whether it’s right for you. Or, if you have taken virtual training, you may wonder what Tableau’s has to offer. Let’s ease your concerns and get you excited about attending a Tableau virtual training. Convenient and Flexible Who doesn’t love working from home in their pajamas? Tableau virtual instructor-led training allows you to grab your first cup of coffee (or fifth, we’re not counting) and leisurely get to your computer before class starts. No worrying about getting out the door and commuting—you can join right from home. You can even attend from the beach, lake, coffee shop, or pub down the street. As long as you have internet access, you can join a virtual training class. *Screenshot above is a subset of options. Times are shown in the user's local time. We offer classes in time zones worldwide, so there will be options in or close to your time zone. This allows you the convenience of taking a course during the workday or in a different time zone, so it doesn’t interfere with your daily work. We also offer virtual classes of varying lengths. Some are full days (9 am-5 pm), and some are partial days (2 - 3 hours/day). This gives you the flexibility to complete the course in a couple of days or spread it out over a week. Either way, you are getting the same proven Tableau curriculum delivered by an expert certified instructor. The only downside is that you don’t get a catered lunch. But it also means you can have potato chips and chocolate for lunch—no judgment here. Interactive and Engaging I don’t know about you, but for me, it’s hard to focus when a presenter doesn’t engage with the audience. In a virtual environment, this becomes even more important; no one wants to be talked at for multiple hours in a day. Tableau’s virtual training instructors utilize many different tools to engage with you throughout the class—in the form of a verbal question, a multiple-choice poll, or a hands-on discovery task. You have the opportunity to use the chat or anonymous poll to answer questions. Having multiple outlets for interactivity and switching between the lecture, interactivity, and hands-on activity will allow you to interact more comfortably and keep the class moving.  Not only do our instructors use interactivity to keep you engaged, but they also throw in fun ways to learn the concepts. For example, to make complex topics more relatable—they may use ice cream sales to help you understand Scatter plots or superheroes to discuss Sets and combined Sets or even cookie recipes to get you more familiar with Relationships. Once you understand the concepts at a fundamental level, the instructor relates them to industry-specific examples so you will know how to apply them to your work. In a perfect world, I would want instructors to ask me questions to keep me engaged, and somewhere I can get my questions answered in real-time. Guess what?!  Our virtual training instructors don’t follow a script and answer any questions you might have throughout the course. You can ask questions about the content the instructor is demonstrating. Most importantly, if you ever get stuck during a hands-on activity, the instructor will be able to clarify steps, so that you can move ahead seamlessly. And remember, if you don’t want to come off mute to ask a question, the virtual training environment has a chat feature to chat directly with the instructor. Support Technology doesn’t come without its pitfalls, and many times it can be daunting to have to use new systems and technologies. Our Global Services team is here to help. A week before your training session, you will receive all of the information to download the course materials and log in. You can download the materials ahead of time and test your connection to the virtual environment before the training starts. This not only allows you to stroll into class a few minutes early with peace of mind but if you have any issues before class begins, you can get help from Global Services. They can assist with troubleshooting or even use other resources and technologies to make sure you have the content and information you need.  Not only do you have Global Services to help with technical issues as your first line of defense, but you also have the certified instructor to help. The instructor knows the technologies’ ins and outs and can point you in the right direction if something happens during class. Many of our instructors are seasoned experts and have likely dealt with all the technical issues you throw at them.  Now that you know a little more about virtual instructor led-training at Tableau, you are ready to take your learning experience to the next level! Once you get into the virtual classroom, you will quickly understand how fun and engaging our virtual classes and instructors are. Convinced and ready to sign up? Go to the Live Virtual Training Classes page to see courses and a full schedule. You can register for a class directly from there! Still not convinced? Check out the video at the bottom of the Instructor-Led Training page that gives you a window into our virtual instructor-led training with snippets of live classroom experiences.
Read more
  • 0
  • 0
  • 1620

article-image-splitting-up-the-mission-of-pass-from-blog-posts-sqlservercentral
Anonymous
28 Dec 2020
5 min read
Save for later

Splitting up the Mission of PASS from Blog Posts - SQLServerCentral

Anonymous
28 Dec 2020
5 min read
Following up on Should There Be A Successor to PASS? I have a couple more thoughts. One of the many complaints about PASS over the years was about perceived value. Most everyone saw the value of the Summit but after that it was not a simple conversation to convince someone in the audience about the value of PASS in a way that really mattered to that person. I’ve seen some make the case better than others, but it wasn’t easy. At the same time, in many ways the only thing that mattered to PASS was whether groups or events drove registration to the Summit. I think the two of those ideas speak a bit to the dissonance felt by many about an organization that was in name at least an organization for professionals. My intent isn’t to beat on PASS, but to recognize that if we were to magically rehydrate it today, we’d have all the same old problems and pains. If we want to do better, we have to think about those pain points and I think that in turn leads us to think about what problem(s) we want to solve. For example, take user groups. If you were building designing a brand new non profit to help user groups, what would be the mission? Is it to serve all those local communities? Or is it to serve the group leader and key volunteers? PASS mattered a lot to group leaders because: Instant network and identity, access to some getting started resources Free solution for hosting the group, gathering a mailing list, and to some degree making it findable A incentive in the form of a free registration to the Summit But besides connecting Joe or Jane Attendee to PASS which might yield some future benefit, attendees at a user group saw the user group as the thing that was delivering value. I don’t see anything wrong with that, at all, but it depends on what you think that non profit in the distance is supposed to be doing. I think it serves local communities indirectly. You could say that SQLSaturday is very similar, with perhaps a better set of tools. It provides an event framework, some very light guard rails, and even some seed money and uses that to inspire and empower that one local volunteer that will make the magic happen. At the end of a SQLSaturday it’s only right that the cheers and thanks go to the organizers and speakers and other volunteers. It’s not that what PASS provided had no value, but trying to get credit for it or monetize that credit in the form of getting paid Summit registrations while not evil was a distraction from the main mission of doing good locally. A true professional association might well combine all those things, as PASS attempted, but the problem is giving each segment enough time and focus. It’s not impossible, it’s just hard. Instead, what if we built them as separate orgs, each responsible for defining a mission and a way to measure success and raising funds to enable that mission? Here’s my idea list (with generic names for now): SQLGroups. Exists to grow sql user groups and user group attendance. How we do that, well, that’s the story to write isn’t it? This is maybe 200 group leaders and a few hundred volunteers, how would it serve them? SQLSaturday. Pretty much just like it was, with perhaps one or two fewer rules! Maybe we make the framework more generic so that we could host other events or on differerent days, maybe it’s open source, or maybe it’s something that should serve a wider community than just SQL. Code Camps? What do we do if someone wants to do something along the lines of Rally or Bits? Does that fit here? SQLFamily. Why not? I’d appreciate a place where I could get news about personal events, lightly curated SQLAssociation. Building on the very raw beginnings of PASS Pro, this could be the list you join to get once a month news about SQL, links to other resources (free and paid), a market place for tools and training, maybe a way to track education credits for classes. I think this is perhaps the true replacement for PASS, with a fraction of the mission (and budget) SQLSpeakers. Why not a site/org that is just for speakers, experience or starting out? What could that provide? SQLBloggers. Much like speakers, what could this do? We could at least resurrect the blogger of the year contest. As soon as you start thinking about those, it can be exciting and confusing. Why not put groups and SQLSaturday together? Idk, maybe that is the right thing to do! Not everything needs to be free, or not for profit, or community owned. The stuff about may not be the right list, it’s certainly not a complete list. It’s a variation of my five hats theory, which is about finding and taking care of various parts of your audience. You probably noticed that the Summit isn’t on my list. Huge events are a lot of work and a lot of risk and I think better left to for profit enterprises. Maybe we’d pick an “official” event each year, or find a trusted partner. If a Summit replacement springs up we can hope that it will also try to do some good in the form of providing some grants to whatever org(s) we charter, if any. Nothing about that should preclude us from encouraging and building regional events at a lower price point. What good will we do and how do we pay for it? If we can answer those, then we can figure out an org and governance model, if one is needed at all. The post Splitting up the Mission of PASS appeared first on SQLServerCentral.
Read more
  • 0
  • 0
  • 2309
article-image-building-a-sql-saturday-archive-from-blog-posts-sqlservercentral
Anonymous
28 Dec 2020
6 min read
Save for later

Building a SQL Saturday Archive from Blog Posts - SQLServerCentral

Anonymous
28 Dec 2020
6 min read
Some time ago I started gathering the SQL Saturday XML files. I started to parse and work with these, but the data is a mess and it never was that important. I regret that now. In any case, with the announcement of insolvency from PASS recently, I asked people to save some data. One of those that responded was Ben Weissman (b|t), and he actually rendered out all the available schedules as PDFs (using VB, of course). He sent them to me and I decided to load them up. Tl;dr; You can see my page here: https://dataplatformdaysweb.azurewebsites.net/ I had started an initial project for replacing SQL Saturday, but hadn’t planned on anything more than a static site. Actually, I wanted a sortable grid, but that was beyond the time and web skills I had at this time. That’s still a goal. This is a quick look at how I built things. I am not a real software developer, at least not on the current, interactive web. This stuff likely makes sense to any junior web dev, but it was learning for me. Azure DevOps and Dot Net Core I wanted a simple site, but I wanted this built in Azure DevOps, so it has some control and tracking. I thought about a simple HTML site, but producing a build with that didn’t seem intuitive to me, so I fired up Visual Studio. I chose a Dot Net Core ASP.NET REACT application, as I may move this to Linux. It’s cheaper In any  case, I took the defaults. No real reason other than I’ve tried MVC and that was hard, and lots of people seem to like react. I also have people I can bug at Redgate. I got the default project to build locally. Then I changed the names of the pages and loaded this into an Azure DevOp repo. Once up there, I took a default build process. I pointed this at my repo and then clicked Save and Queue… and it failed. Changes to the Build I got a message that the nuget restore wouldn’t work with dotnet core 3.1. I could fall back to 2.2, but when I did that, the project wouldn’t build locally. I realized I’d initially selected a Windows VS-2016 hosted agent, but I had built the project on VS2019. I changed that to the Windows 2019 agent and it worked. Deployment to Azure I’d set up an Azure App Service already, and I created a very simple release step. I linked my artifact and selected a release to an Azure App Service Plan. I had to authorize my plan, but once I did that, I was able to select the App Service I’d set up. No configuration needed. I clicked save, built a release, and ran. I found the default React Site at my URL. Changes to the Project I made a few changes to the project as well, to remove some of the defaults. First, I needed to load my PDFs into the project. I had originally created an Assets folder in the root of the project, but that did not get included in the artifact that was built. Looking at the project, and searching around Google a bit, led me to see that the main page, index.html, was in the ClientApp/public folder. I moved my Assets folder below this, and then saw all my files included in the build artifact and deployed. I also wanted to remove some of the default sample menu items. I found these in the ClientApp/src/components folder in the NavMenu.js. I deleted the two entries, leaving just a “home” there for now. I may do some other grouping later. Building the Archive This was the more interesting item for me. Ben had sent me a ZIP file with all the PDF files in it. I unzipped these and I saw this view: Originally I thought a simple list of numbers and files would get me started, but there are hundreds of files. How can I do this? My first thought as PowerShell can help. I popped this open and use Get-ChildItem to get a list of files and compile this into a variable. I have been wanting to use Azure Data Studio more for PoSh, and that’s where I did this. This got me a basic HTML list of my files. I had trouble with the pathing, so rather than futz around and try to build production code here, I just used this and then a “search and replace” of the [a href=”] to add a [a href=”/Assets/PDF/”] got me the correct paths. I need to learn how to properly get paths working here in PoSh, but this string manipulation wasn’t important for a one off task. Once I had this, I had something. Of course, at this point, Ben sent me his index list of the event names, which was what I really wanted. I could have taken the source of his page and used search and replace to get the pathing, but I did something stupider. In a hurry, I copied and pasted his list of events into SSMS in a new Query Window. One of the reasons I do this is that the cross line editing is superior (IMHO) to VS and VSCode. I’ll repeat the process with just a few lines here, but keep in mind I had like 800. This is a useful text trick as well for some data changing. I had this list: I wanted to make this a table, so I use the Select+Alt+Arrows to select the entire first column. I then added my table HTML. I could do this in VSCode, but the reason I like SSMS is that I can space over to the right and then get a vertical edit link, rather than a set of end-of-line cursors. I then can create another edit point and add other code, like this: I wrapped this in the table beginning and ending and had my table. What about the URLS? Well, I could easily add the paths, but then getting the individual file names was hard. Or was it? I used the same trick. I pasted my list code into SSMS and selected all the file names: I copied and pasted this set of vertical text into my table, and viola, I had a working table that looked, well, about as good as I could make it quickly. More to come, as I try to archive and preserve the SQL Saturday data and history as best I can. The post Building a SQL Saturday Archive appeared first on SQLServerCentral.
Read more
  • 0
  • 0
  • 2384

article-image-daily-coping-28-dec-2020-from-blog-posts-sqlservercentral
Anonymous
28 Dec 2020
1 min read
Save for later

Daily Coping 28 Dec 2020 from Blog Posts - SQLServerCentral

Anonymous
28 Dec 2020
1 min read
I started to add a daily coping tip to the SQLServerCentral newsletter and to the Community Circle, which is helping me deal with the issues in the world. I’m adding my responses for each day here. All my coping tips are under this tag.  Today’s tip is to contact someone who many be alone for feeling isolated. I call my Mom every week or so, knowing she’s alone. She’s content, but I do know that life is better with people in it. However, I know my brother and other family talk with her, so I’m not too concerned. I do have other friends that I know are without a partner in life, either young or older, and I decided to reach out recently when I typed this post. In this case, I have a friend I know that lives alone. This person has family, but I don’t know how often they see anyone in person or have a conversation. I sent a message, and then had a conversation back and forth, just catching up. It made my day. Hopefully they can say the same. The post Daily Coping 28 Dec 2020 appeared first on SQLServerCentral.
Read more
  • 0
  • 0
  • 1069

article-image-simple-method-to-add-a-network-in-sql-configuration-manager-from-blog-posts-sqlservercentral
Anonymous
28 Dec 2020
8 min read
Save for later

Simple Method to Add A Network in SQL Configuration Manager from Blog Posts - SQLServerCentral

Anonymous
28 Dec 2020
8 min read
In the previous article, I showed a bothersome little error for the Kerberos Configuration Manager software. In that article, I also showed how to resolve that error. This article has nothing to do with that previous article beyond the similarity in tool names (“Configuration Manager” being central to both). In this article, I will show you how to add or rename a network adapter to be used by SQL Server. You are probably thinking “What’s the big deal? SQL Server does that automatically.” Well, for the most part SQL Server does automatically add your network adapters for you. I would guess the success rate is somewhere in the realm of 99.999% of the time. However, that is not 100% of the time and it just so happens I have run into a couple of occasions where the NIC was not properly presented to SQL Server for use by SQL Server or even configuration by the DBA. This presents a bit of a problem! Add a Network Adapter to SQL Server Configuration Manager Before diving into adding a network adapter, let’s take a look at what the network properties pages might look like in SQL Server Configuration Manager. Many of you are likely very familiar with this already. If you are not, you should be! In SQL Server Configuration Manager, expand “SQL Server Network Configuration, then click on the Instance for which you are interested. Note here that I am showing a multi-instance server. Adding multiple network adapters is a configuration method that I frequently use when dealing with a multi-instance server. There are several benefits to having multiple network adapters such as: 1) being able to have each instance listen on the same port – but different adapters, 2) being able to add an A record in DNS for each instance, and 3) adding a layer of security by obfuscation  (e.g. developers don’t know the instance name – just an alias for it). In the case where there will be multiple Network Adapters presented to SQL Server, the first thing to do is to disable “Listen All” in the case where multiple Instances exist on the server and you are looking for a more advanced setup. With that configuration set, the next page you should be familiar with is the “IP Addresses” page. This is the page where the network adapters should be found. The preceding image is a very busy image. There are three network adapters on this particular server. Each network adapter is assigned to a different IP address and each has a different port. In this case, which happens to be a multi-Instance server, not all of the assigned adapters are listening on the specified port. This is a desired configuration when everything is working well. This is where the problem that is the basis for this article comes into play – what happens when the network adapters do not automatically show up in SQL Server Configuration Manager (SSCM)? Alternatively, if the adapters are all showing, how do I keep them all straight in SSCM so I can make sure the correct adapter is enabled/disabled for the instance in question? Let’s add that Network Adapter Now SQL Server should detect a new network adapter when it is added to windows. Sometimes, it takes a server restart. Sometimes it never shows up. And sometimes it shows up but you want to rename it. Some will say to just run a repair on your instance if it is not showing the network adapter changes. After a recent experience with that, I say don’t bother with the repair! In a recent adventure with this problem, I had two adapters presented to the server prior to installing SQL Server and only one of the adapters was recognized by SQL Server. Clearly, the attempt after that would have been fruitless because the setup didn’t find the second adapter. Additionally, the running of repair on the server could cause more harm than it might fix. So, if we don’t want to run repair, then what should we do? Regedit to the rescue! Oh no, not that! Isn’t that risky as well? Truth be told, editing the registry can cause damage if you are careless, reckless, and maybe in a bad mood. Editing the registry is no more dangerous than altering data in a database. Just take a few precautions if you are worried. Some precautions might include taking a backup of the registry or maybe a system state backup of the server. These are the same sorts of precautions a good DBA would take when altering data in a database (backup the data, backup the server etc). Let’s see what hacking the registry would entail. First and foremost, the path we are looking for in the registry is a bit long and hairy and you must pay particular attention here. [HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL ServerMSSQLXX.[YourInstance Identifier]MSSQLServerSuperSocketNetLibTcp] In the preceding image, my path is (circled in red at the top of the image) [HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL ServerMSSQL14.DIXSEPTLATIN1MSSQLServerSuperSocketNetLibTcp] where my version of SQL is 14 (replacing the XX) and my instance identifier is DIXSEPTLATIN1 (replacing “[YourInsance Identifier]“). Once Tcp is expanded, you will see all of your adapters that are usable in SSCM. In order to change any of these adapters (or to add a new one), the first step is to export the key for either the adapter to be changed or for the adapter to be used as a model in order to create the missing adapter. As noted in the image, you will export the key to a reg file. Everything in IP2 shown in the image will then be exported and saved. It is this exported reg file that we will edit in order to create a new adapter (or rename an adapter). Here is an example of an edited reg file that is ready for import into the registry. In this example I have only made a couple of changes for this demo adapter. In this case, I named the adapter to match the instance name for which it will be assigned and “listening”. Then I proceeded to modify the IPAdress (in red) to the appropriate IP address that has been reserved for that network adapter. You will need to modify each of these settings as best suits your needs. I like to name the adapters to match the instance because then it becomes very easy to keep straight and troubleshoot in the future. After making the adjustments in the file, then it is time to save the file and “import” it into the registry. This step is easy – just double click the file from explorer and you will be prompted with some warnings about writing data to the registry. Once imported, I see something like this in my registry. See how that adapter has been added in the registry? This is precisely what we want. Now when we look at the network properties pages in SSCM for this Instance (because this is Instance specific), we will see a graphical representation of that adapter that we can edit. One major caveat illustrated in this image of the IP Addresses page in SSCM is that the adapter name is different than what I showed in the reg file. This was done to help illustrate a requirement here. If the adapter name does not begin with “IP” then SSCM will not pick up the new adapter. You must name your adapters with an IP in front for it to be usable in SSCM. Now that you have more adapters added and named to your liking, you are set for a more custom setup for SQL Server that allows you greater security and flexibility. Put a bow on it In this article I have demonstrated a fairly simple method to help you modify your network adapters that are presented to SQL Server. Being able to modify these adapters is essential in multiple different scenarios such as the adapter is just plain missing or you want to rename the adapters in order to more easily manage the server in SSCM. Interested in more back to basics articles? Check these out! Want to learn more about your indexes? Try this index maintenance article or this index size article. This is the second article in the 2020 “12 Days of Christmas” series. For the full list of articles, please visit this page. The post Simple Method to Add A Network in SQL Configuration Manager first appeared on SQL RNNR. Related Posts: How To Resolve User Error in Kerberos Configuration Manager December 26, 2020 Configuration Manager is Corrupt December 17, 2019 CRM Data Source Connection Error January 23, 2020 The Gift of the SPN December 10, 2019 Changing Default Logs Directory - Back to Basics January 4, 2018 The post Simple Method to Add A Network in SQL Configuration Manager appeared first on SQLServerCentral.
Read more
  • 0
  • 0
  • 1041
article-image-how-to-resolve-user-error-in-kerberos-configuration-manager-from-blog-posts-sqlservercentral
Anonymous
26 Dec 2020
6 min read
Save for later

How To Resolve User Error in Kerberos Configuration Manager from Blog Posts - SQLServerCentral

Anonymous
26 Dec 2020
6 min read
A recurring theme in the world of SQL Server seems to be the battle with Kerberos, SPNs, and SSPI Context errors. It is common enough that many DBAs have gone bald along with their domain admin counterparts trying to fix the problems. Once upon a time, I contributed an article showing a decent tool that can help figure out some of the problems related to SPNs, SSPI errors, and Kerberos in general – with regards to SQL Server. The tool I mentioned in that article is called “Kerberos Configuration Manager” (KCM). Recently, I ran into an error with this tool that is a bit absurd and not very helpful at all. Given the usefulness of the error and absurdity of it, I thought to myself – why not share the problem and resolution in this, the first article in this year’s 12 Days of Christmas Series. What A Wretched Little Error On the surface this seems like a pretty chill error. It seems that there is useful information in the error screen that could help one go and figure out what to do next. Looking at the error text, it appears that I have an issue with permissions because I can’t access UserAccount information and the error text gives me a log to go check. Let’s break this down a little bit. This error pops up with a user that happens to be a member of the local admins group on the server in question. The user also happens to be a domain administrator. And <grimace>, this user is also a sysadmin in SQL Server. So, seemingly permissions should not be an issue, right? I know, I know. This is not an ideal security setup. It just so happens to be a point of interest currently being discussed and worked on with this client. The security setup will get better. That said, I would eliminate permissions as a variable, and therefor permissions would not be a cause in this error. Let’s take a look at the next given (sorry mathematical proof concept shining through there), aka “bit of information from the error text”. The error text tells me there is a log available and gives me the directory where it should exist, so it is time to look at that log. If I proceed to open that file and look at the contents, I frequently see something like this ( 4 for 4 with this particular client). Note here that the file is entirely empty. This is a problem! The place I am supposed to look to resolve this problem has nothing logged to the file. How can I possibly use that to troubleshoot? Well, keep reading. The Cause and How to Fix this Kerberos Config Mgr Error The error message is certainly misleading. Then again, maybe it isn’t. As it turns out, the cause of the message is due to the existence of a ghosted AD account in the local admins group. Here is an example of what I am talking about in the image to the right. The local admins group on each of the affected systems had at least one of these detached SIDs. These are accounts that basically don’t exist any longer in Active Directory. These accounts should be cleaned out on a regular basis and it is a fairly risk free process. Given this bit of insight, if you re-examine the error text, it now makes sense. There is an account for which the tool cannot gain access because the account does not truly exist – just some shards of it. To fix the error, just delete these SIDs from the Local Admins group and then run the KCM tool again. After the ghost SIDs are removed, then an interesting thing happens (besides the KCM working properly). When you open the log file again, you will see something different. Here is an example. Looking closer at the text of the log, this is the line of the greatest interest: Error: Access of system information failed System.DirectoryServices.AccountManagement.PrincipalOperationException: An error (1332) occurred while enumerating the group membership. The member’s SID could not be resolved. Clearly, if this message had populated before the problem was fixed, then I would have been able to fix the problem in a more direct path. This clearly states that there is a problem with an SID and that the SID could not be resolved. Why the tool needs to be able to resolve all SIDs escapes me, but it is what it is and we just roll with it for now. Put a bow on it This article showed a problem with one of my favorite tools – Kerberos Configuration Manager. This tool does provide a great deal of power in helping to resolve various SPN related problems with your SQL Server instances. Sadly, the error in this case is a bit of a pain to figure out because the log doesn’t populate properly when the error is thrown. Rather the log seems to populate after the error is resolved. The solution provided in this article is an easy fix and is consistent across multiple versions of Windows and SQL Server. Save yourself some headache up front, just delete those phantom SIDs from the local admin group on a routine basis. They shouldn’t be there anyway. Interested in more back to basics articles? Check these out! Want to learn more about your security? Try this article on some of the many problems with lazy security in your environment (yes akin to a user being a Domain Admin, Sysadmin, and local admin). Here is another fantastic article discussing some of the persistent issues I have seen across the board at numerous clients for years and years. And as a prelude to an upcoming article in the 12 Days of Christmas series, here is a refresher on a topic I wrote about just last month. This is the first article in the 2020 “12 Days of Christmas” series. For the full list of articles, please visit this page. The post How To Resolve User Error in Kerberos Configuration Manager first appeared on SQL RNNR. Related Posts: The Gift of the SPN December 10, 2019 CRM Data Source Connection Error January 23, 2020 Collation Conflict with Extended Events March 12, 2020 Configuration Manager is Corrupt December 17, 2019 Ad Hoc Queries Disabled December 20, 2019 The post How To Resolve User Error in Kerberos Configuration Manager appeared first on SQLServerCentral.
Read more
  • 0
  • 0
  • 2384

article-image-should-there-be-a-successor-to-pass-from-blog-posts-sqlservercentral
Anonymous
26 Dec 2020
4 min read
Save for later

Should There Be A Successor to PASS? from Blog Posts - SQLServerCentral

Anonymous
26 Dec 2020
4 min read
PASS was a big influence on a lot of us and did a lot of good, if never quite as much good as many of us wished. I wish PASS had survived, but it didn’t, and now we’re at a crossroads for what comes next. We’ve got short term challenges as far as supporting events that are coming up in the next few months and getting groups moved to an alternative of some sort, but beyond that, we have to decide if we want a successor to PASS or not. I think to answer that, it depends on what we want the new org to do. What would that new mission statement be and can all (most) of us agree on it? Even before we get into funding and a governance model, what can/could a new org do that we care about? My short answer is that a new org should do all the stuff that doesn’t make much money, if any. I think it would exist to facilitate career growth in areas not served (or served well) by for profit businesses. I think it could be an org we see as the glue without being in control. I think it probably doesn’t include a Summit class event because it just over shadows everything else. I think it could help facilitate regional events via grants and experienced volunteers. I think it can’t be all things to all people, but it could be some thing to many people. Back in 1998 defining it the focus as SQL Server was an obvious move. Today, there’s still plenty of people that use SQL, but there is lots of other stuff going on and figuring out where to draw the line is important, because that mission statement helps you evaluate everything you do or don’t do. Microsoft Data Platform excludes a lot of cool stuff. Focusing on Azure tends to ignore the world of on premise, AWS, and Google. But…it depends on what you want to accomplish, doesn’t it? Is it to be a professional association? To make money? To do good at a larger scale than a single product or profession? Or to narrow the focus, perhaps on day long events or SQL DBA’s or growing speakers or whatever. I made a small wish list (and surely I could add another 100 lines to this!): A real non-profit, with a sturdy and clear charter that includes a commitment to transparency, and one that owns all the intellectual property we choose to put into it (for example, SQLSaturday.com if we can get it) A plan for raising the minimal amount of funds needed for things like owning a domain, hosting event sites, etc, and building a multi year reserve No full time staff and limited outsourcing on a project basis, with all the day to day stuff automated or handled by volunteers Vendor agnostic, vendor independent, but one that recognizes the importance of vendors in our work and our community. A solid way of deciding who can be a voting member (one person=one vote) and who can join the Board An org that we’ll be proud of and hold up as a best in class example of how to build a technical professional association. As few rules as possible To answer the question I posed in the title, I haven’t decided yet (though I started out two weeks ago thinking “yes”). I don’t know if its possible or practical to have a single successor org to PASS. I’m still thinking about it, and waiting to see what ideas bubble up over the next couple of months. The post Should There Be A Successor to PASS? appeared first on SQLServerCentral.
Read more
  • 0
  • 0
  • 1137