tag:blogger.com,1999:blog-23282222073498769842024-03-17T20:04:50.505-07:00SQL TactUnknownnoreply@blogger.comBlogger323125tag:blogger.com,1999:blog-2328222207349876984.post-75472953418683427182023-10-27T10:01:00.006-07:002023-10-27T10:01:45.489-07:00Tips, ideas, and recommendations on your technical blog<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbYE4np9xSScxIyBiqnTD3qwvnTZdkwE0qexPALorPQA9DkOBhyphenhyphenyMLt7rXmph3d-o0WUlO3EjUDF_Gs1xXrj1KExr2zjfqFUsMFg3Xh7jpXDdxlhe3iNHZhoPW6MX_R9ngziYYESqKMyTsHrxCM9EeW_OhkyKk3Uq5VgVRliT-aUpjEAciVoRDLwKqawtz/s2549/technical%20writer%20mvp%20pgi.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="1321" data-original-width="2549" height="166" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbYE4np9xSScxIyBiqnTD3qwvnTZdkwE0qexPALorPQA9DkOBhyphenhyphenyMLt7rXmph3d-o0WUlO3EjUDF_Gs1xXrj1KExr2zjfqFUsMFg3Xh7jpXDdxlhe3iNHZhoPW6MX_R9ngziYYESqKMyTsHrxCM9EeW_OhkyKk3Uq5VgVRliT-aUpjEAciVoRDLwKqawtz/s320/technical%20writer%20mvp%20pgi.png" width="320" /></a></div>This technical blog is hardly the ideal, but I'll use this space here to summarize some of the guidance that <a href="https://www.linkedin.com/feed/update/urn:li:activity:7123709102064631808/" target="_blank">my colleague Randolph West and I presented at a Microsoft MVP PGI this week</a>. Their summary and mine specifically on the technical blogging are hopefully a resource for you, especially if you are early in your career or a Microsoft Student Ambassador.<p></p><p>Technical blogging can grow your technical depth and writing skillsets simultaneously. Ideas, tips, and recommendations:</p><p>Blog content ideas:</p><p></p><ul style="text-align: left;"><li>Reference, samples, labs, especially for newcomers to the field.</li><li>Deep dives into a topic you're interested in.</li><li>Summaries and use cases of new features or changes.</li><li><a href="https://learn.microsoft.com/en-us/fabric/get-started/whats-new">What's new?</a> pages in Microsoft Docs are rich with blog ideas</li><li>Checklists, best practices and lessons learned are great blog content.</li><li>Your clients and customers are a fertile farm of reusable scripts, patterns and antipatterns, tools, and blog posts. "It depends" answers are great blog posts.</li><li> Technically reusable content from client to client is a value add. A public bucket or toolbox of lessons learned is valuable.</li><li> Remember the best way to learn a topic is to try and teach it (or explain it in a public blog).</li></ul><p></p><p><br /></p><p>Tips on blogging:</p><p></p><ul style="text-align: left;"><li>You don't have to be unique (but don't plagiarize). You can write about any topic, even if it's been covered by bigger names. Your voice is valuable.</li><li>Don't steal content or plagiarize, but you can admire and emulate (and attribute with links) the style/format of another author or blogger. Emulate things you like about someone else's process or research style or content format.</li><li>Make it into a story if you can, "It tried this, it broke, I tried this, it didn't work, I fixed it this way..."</li><li>A problem with no solution is worth blogging about. Sometimes, blogging about a problem is a great way to work the problem, and figure it out in the process.</li><li>Write regularly, set a schedule. Pick a topic. Not every post has to be a novel.</li><li>Do you ever write too much? Blogging can be great practice in distilling the core problem/concept to a palatable, communicable summary. It's easy to be wordy and redundant. It's a skill to practice writing more concise technical summaries. "If I Had More Time, I Would Have Written Less"</li><li>Challenge your preconceived notions. Be humble in defeat and write about it. If you're proven wrong, your immediate reaction is usually to be defensive. The second reaction should be to learn from it, perhaps blog about it.</li></ul><p></p><p><br /></p><p>Get an editor, or volunteer to edit for blogs, newsletters, articles.</p><p></p><ul style="text-align: left;"><li>Ask for a volunteer (or pay a) technical editor for your own blog.</li><li>Listen to feedback. You trusted someone to edit you for a reason.</li><li>Edits can feel like a gut punch. Don't take it personally.</li><li>Politely ask to be someone else's volunteer technical editor for their blog.</li><li>Provide constructive feedback, challenge assumptions, test technical scripts.</li><li>Easier to find inconsistencies or gaps in someone else's work, it can be instructive to your own work.</li></ul><p></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2328222207349876984.post-53049112345149221932023-07-30T22:23:00.003-07:002023-07-30T22:23:35.445-07:00Updated training list for a new DBA<p>Met an eager young volunteer at <a href="https://www.sqltact.com/2023/07/sqlsat-baton-rouge-2023.html" target="_blank">SQLSatBR</a> over the weekend who inspired me to update a blog post that hadn't been refreshed in a few years. See the <a href="https://www.sqltact.com/2016/07/training-to-do-list-for-new-dba.html" target="_blank">[UPDATED] Training To-Do List for New DBA</a>.</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2328222207349876984.post-79194778353652769392023-07-21T16:37:00.008-07:002023-07-24T11:35:05.348-07:00SQLSat Baton Rouge 2023!<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheddUnd5a69f34Ue2Df3ob2-7LTOXZyqpg9RSVPp0avVt8eYj-3d0Cxs3KgrJ7SXTpXpihUtFi08THFk-gM33kfa09H7nSRXyn4SODfqAgggzyx6AIJK7POcV3uOw53Oh4D1kfye9y4ePr1livuLnKnhX8LzFkowGEThRg5_SFuHVN4HMd0JjLozcykzMO/s120/sqlsaturday%20icon%20small.png" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="69" data-original-width="120" height="69" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheddUnd5a69f34Ue2Df3ob2-7LTOXZyqpg9RSVPp0avVt8eYj-3d0Cxs3KgrJ7SXTpXpihUtFi08THFk-gM33kfa09H7nSRXyn4SODfqAgggzyx6AIJK7POcV3uOw53Oh4D1kfye9y4ePr1livuLnKnhX8LzFkowGEThRg5_SFuHVN4HMd0JjLozcykzMO/s1600/sqlsaturday%20icon%20small.png" width="120" /></a></div><br />Looking forward to #jambalaya at #SQLSatBR on July 29! <br /><br />Register today: <a href="https://www.sqlsatbr.com">sqlsatbr.com</a><div><br />I hope to see as many people as possible that weekend, I'll be there at the Friday night speaker event.<br /><br />On Saturday, I am speaking at:</div><div><br /><ul style="text-align: left;"><li>9:45am about how you can contribute to the same Microsoft Docs I work on every day, <a href="https://sqlsaturday.com/2023-07-29-sqlsaturday1060//#">Microsoft Docs + GitHub + You</a>. <a href="https://github.com/williamadba/Public-Presentations/tree/main/SQLSat%20Baton%20Rouge%202023" target="_blank">Slidedeck available for download</a>.</li><li>11am I'll be moderating the annual panel conversation about <a href="https://sqlsaturday.com/2023-07-29-sqlsaturday1060//#">Careers in IT Baton Rouge 2023</a>.</li><li>1:15pm after lunch meet me in the big auditorium for a brand new exciting <a href="https://sqlsaturday.com/2023-07-29-sqlsaturday1060//#">SQL Saturday Jeopardy! A Quiz Show for Devs and Data Pros</a>. I'm still looking for at least one more contestant, <a href="https://www.linkedin.com/in/williamdassaf/" target="_blank">reach out to me on LinkedIn</a> if you're interested!</li></ul><br />See you there!<br /><br /><br /></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2328222207349876984.post-78491644541587840812023-03-24T12:48:00.002-07:002023-03-24T12:48:16.863-07:00 SQL Server 2022 Administration Inside Out<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://www.microsoftpressstore.com/ShowCover.aspx?isbn=9780137899883&type=f" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;" target="_blank"><img border="0" data-original-height="198" data-original-width="160" height="198" src="https://www.microsoftpressstore.com/ShowCover.aspx?isbn=9780137899883&type=f" width="160" /></a></div>SQL Server 2022 Administration Inside Out is now available for pre-order from Microsoft Press. <p></p><p>This book is far more than a quick update. We've rewritten and refreshed large portions of the book, with applicability for modern security and Azure integration features. We reorganized content especially around Azure SQL DB and Azure SQL MI and all the new performance features and integrations.</p><p>Biggest of thanks for countless personal hours of deep edits and rewrites go out to Randolph West. Major contributions from the book team: Joseph D'Antoni, Louis Davidson, Meagan Longoria, Elizabeth Noble, and Melody Zacharias. Thanks also and congrats to technical editors William Carter and Josh Smith for their first big book experience. And thanks for infinite patience and tireless updates from our Pearson editor Loretta Yates.</p><p>The book should be on shelves and available in digital formats on May 8.</p><p><a href="https://www.microsoftpressstore.com/store/sql-server-2022-administration-inside-out-9780137899883" target="_blank">https://www.microsoftpressstore.com/store/sql-server-2022-administration-inside-out-9780137899883</a></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2328222207349876984.post-89906646890788333102023-02-28T08:53:00.008-08:002023-06-06T12:07:14.762-07:0030 Interview Questions for a Database Administrator and Developer<p>This blog post summarizes the type of technical questions I would ask candidates for a Microsoft SQL Server data platform administrator and database developer role.</p><p>Hopefully this helps both candidates and managers prepare for interviews. I have no qualms in providing the brief answers because your interview, like mine, should be: </p><p></p><ul style="text-align: left;"><li>behavioral: based on scenarios, not multiple choice answers.</li><li>open ended: ask for an explanation, not a single word answer.</li><li>conversational: testing how the candidate would explain this to a client or colleague.</li><li>applicable: only ask questions relevant to your environment and in the job description.</li></ul><p></p><p>When I was the manager of a SQL Server managed service provider and a principal consultant at a consulting company, I interviewed and hired database administrators to be consultants, remote DBAs, and database developers for our app dev internal projects.</p><p>I've divided the 30 questions into four categories.</p><span><a name='more'></a></span><p><br /></p><h3 style="text-align: left;">Explainers</h3><div><br /></div><div>Use these questions to prompt an open-ended explanation that should reveal not only the candidate's depth of knowledge in the area, but how they explain the concept. As a candidate, you should be familiar enough with basic concepts like this to give a concise, confident explanation that doesn't wander. As a consultant, explaining these type of concepts to clients and colleagues may be a regular part of the job.</div><p><b>1. Speaking generally, what is the basic relationship between a database, a table, and a column? </b>Yes, this is a super simple question. The point is to hear how the candidate organizes their thoughts and explains the concepts. You'd be surprised how many candidates struggled with explaining even basic concepts. This appeared to be especially true of candidates who had more server admin experience than data experience.</p><p><b>2. What is the SQL Server transaction log and how does it work? How does it play a role in DR? </b>This answer should hit the important notes about recovery models, log backups, RTO and RPO. </p><p><b>3. Tell me about the different kind of backups that can be performed on a SQL Server database, and when do you typically perform them? </b>Continuing from a conversation about the transaction log and the database recovery model, the qualified candidate should definitely mention the transaction log, perhaps mentioning how a transaction log backup is an <i>incremental</i> backup, as opposed to a differential backup, or a full backup. The full backup is the start of a chain which then includes differential and transaction log backups.</p><p><b>4. Explain the difference between primary and foreign keys. </b>The qualified candidate who understands the concepts should start talking about the integrity of data between tables, and perhaps given an example of the type of data that would be constrained by a foreign key. I've heard some pretty far off answers to this question that expose when a candidate has clearly never designed tables before.</p><p><b>5. What is an IDENTITY column and when would you use one? </b>The qualified candidate should talk about the advantages of an auto-sequencing number as a primary key in relational table design. Bonus points for a rant about clustered keys on GUIDs being an antipattern.</p><p><br /></p><h3>Administration questions</h3><div><br /></div><div><b>6. Tell me the difference between a database in FULL recovery model and a database in SIMPLE recovery model? </b>I would only ask this question as a final chance for a candidate to explain this, if they haven't already done so in the previous two opportunities. By this point, the crucial concept of a point-in-time restore made possible by transaction log backups should have been discussed.</div><div><br /></div><div><b>7. What's the difference between truncating and shrinking the transaction log? </b>Shrinking should be discussed as a pejorative here, something that occurs once only if needed and never on a schedule. Truncating the log happens regularly, every time a transaction log backup happens. Sometimes, it is necessary to truncate a log without backing it up only in an emergency.</div><div><br /></div><div><div><b>8. You get a request to copy a single table to a database on another server. It needs to be a readable copy of the table that is always up to date with no or very little latency. What would you do? </b>Multiple alternatives here that can be discussed.<b> </b>If replication, what kind of replication? Or, change data capture (CDC) or change tracking (CT) and custom SSIS packages, more details on how this would be implemented, hopefully drawing from experiences? Minus points for mentioning deprecated features like database mirroring, or features like database snapshots or log shipping that do not fit the latency requirements. Followup: what about if I wanted to do this with an entire database? Availability groups come into play, or some kind of third party product. </div></div><div><br /></div><div><b>9. SQL Server availability groups: what are some of the advantages of AG (Availability Groups) vs FCI (Failover Cluster Instance)? Tell me about the kind of experience you have?</b> Advantages of an AG: readable secondary, built-in error detection, backups on a secondary replica, synchronous or asynchronous replication. Bonus points for mentioning basic availability groups or distributed availability groups, or the Azure SQL Managed Instance Sync to SQL Server that leverages distributed availability groups. </div><div><br /></div><div><b>10. What are some of the factors for availability groups spanning two subnets? </b>There may be other discussion that is valuable here to learn about the candidates experience, but the key point is that the Listener has an IP address in each subnet. Applications need to use MultiSubNetFailover in the connection strings, so that application connections can failover immediately, regardless of which subnet hosts the primary nodes. </div><div><br /></div><div><div><b>11. Tell me about the difference between users and logins in SQL Server. </b>Server logins, database users. Logins handle authentication, users handle database access. Bonus points for mentioning partially contained database users, like in Azure SQL Database, where the user handles both authentication and database access.</div><div><br /></div></div><div><b>12. Tell me about situations in which you've used PowerShell to administer a SQL Server. </b>Lots of reasons a candidate has hopefully used PowerShell. Open to a lot of approaches here, including PowerShell scripts for deployment, remoting, SQL Agent job steps. Bonus points for experience using dbatools.io suite of custom SQL Server PowerShell cmdlets. Further would like to dig into how much of the PowerShell the candidate actually wrote.</div><div><br /></div><div><b>13. Tell me about some of the differences between Azure SQL Database and a SQL Server instance? </b><a href="https://learn.microsoft.com/en-us/azure/azure-sql/database/features-comparison?view=azuresql" target="_blank">Lots of answers here</a>. Would like for them to speak experientially about these. Perhaps starting with "You can't use USE" or "You can't manually take a backup".</div><div><br /></div><div><div><b>14. What is a DTU? </b>Azure SQL Database has two purchasing models, a vCore purchasing model and a distributed transaction unit (DTU), which is used for scaling/governing the all the performance resources in a single number. Perhaps discuss the Basic/Standard/Premium tier, but try not to ask questions about how Microsoft sells Azure SQL Database, but how the candidate has used Azure SQL Database.</div></div><div><br /></div><div><b>15. What are some things you have to do differently with maintenance on 10 TB database vs a smaller database? </b>If applicable, ask this question and look for particular experience with large databases. The candidate should mention things like partitioned tables, columnstore tables, partitioned index maintenance and custom index maintenance strategies. Use replicas for alternative DBCC CHECKDB strategies. Would like to hear relevant lessons learned from the applicant’s experience as it applies to their experience with very large databases.</div><div><br /></div><div><h3><br /></h3><h3>Database design questions</h3></div><div><br /></div><div><b>16. Tell me about the different types of indexes in the SQL Database Engine. </b>I'm looking for clustered, nonclustered, and columnstore indexes as the big three I want to hear about. Bonus points for other types of indexes like xml or ordered clustered columnstore indexes. I'm not looking for a list of indexes of course, but a short discussion on the role of each in the table, how many of each, what kind of queries they benefit. </div><div><br /></div><div><b>17. What can you do with columnstore indexes, when would you use them, and what restrictions do they add to a table? </b>I'd ask this question if it wasn't discussed in the previous question. Most helpful for large tables (like millions of rows). Columnstore indexes are highly compressed data for heavy reporting workloads, and for queries that would otherwise be scanning millions of rows of data. There is no need to order the keys. Columnstore indexes can be the clustered index, or a "nonclustered" index. In SQL Server 2022, ordered clustered columnstore indexes can benefit from partition elimination to greatly improve performance. Would like to hear in what scenarios the candidate has used or considered columnstore indexes and why.</div><div><br /></div><div><div><b>18. Suppose we have a simple table for products where we have a product name and a price. Tell me how you'd write a query to return the ten most expensive products.</b> Some candidates might go straight to a convoluted subquery or WHERE clause, and eventually realize they have overthought it. <span style="font-family: courier;">SELECT TOP 10 name FROM product ORDER BY Price DESC;</span> is the correct answer, with the TOP and the ORDER BY being the key points here. </div><div><br /></div><div><b>19. We still have the simple table for products... lets say that the client wants to start tracking price changes. What architecture changes or features of SQL Server would you use to accomplish this? </b>Interested to hear how the candidate has accomplished this common database development task. Possible answers (in order of descending age) include database triggers, CDC, change tracking (CT), or temporal tables. An answer that is entirely application-dependent is missing the mark here for a database-focused role. Bonus points for mentioning temporal tables, introduced in SQL Server 2016. Bonus points for mentioning the data warehousing concept of a slowly changing dimension.</div></div><div><br /></div><div><b>20. What are the differences between the numeric and decimal data types? Float and real? </b>There is no difference between numeric/decimal. Float and real is an approximate floating point data type that may round values to the right of the decimal point, and could result in rounding errors. Bonus points for discussing the significant danger of float and real data types when used for decimal data, especially when used as unique decimal data. </div><div><br /></div><div><br /></div><div><div><br /></div><h3>Database development questions</h3><div><br /></div><div><p><b>21. Tell me how you'd write a query to return all the records in table A that match a common key record in table B? </b>The answer is an INNER JOIN, something like <span style="font-family: courier;">SELECT ... FROM TableA inner join TableB on TableA.Key = TableB.Key; </span>Answers involving a UNION or a comma join or a WHERE clause or some convoluted subquery are not what I am looking for. </p></div><div><b>22. Tell me how you'd write a query that given a datetime variable, would strip away any hour and minute information and just return the date? </b>Convert to DATE data type, introduced in 2008. Other solutions here requiring string manipulation are dated or too elaborate. Bonus points for mentioning that we should be using datetime2 or datetimeoffset instead of the datetime data type.</div><div><br /></div><div><b>23. Assume you have a SQL Server 2016+ instance with an application that has been in production for months. The instance has not been restarted recently. What steps would you take to determine what new indexes may need to be created or dropped? </b>To discover indexes to be created or dropped, two sets of DMV’s respectively: the set of missing indexes DMVs, and the index usage stats to determine if any indexes are unused. </div><div><br /></div><div><b>24. What are the differences between DELETE and TRUNCATE? </b>DELETE can be filtered, TRUNCATE impacts whole table, may be faster because it’s efficiently logged (but it is still logged). TRUNCATE is technically DDL, could be blocked by FK’s, permissions. </div><div><br /></div><div><b>25. What are some of your favorite new features of SQL Server 2017? 2019? 2022? </b>Would like to hear new features in use. Optionally, I often ask for this answer in a short writing assignment as "homework" before a first or second interview.</div></div><div><br /></div><div><b>26. Tell me about the difference between a scalar and table function. When would you use either one of them? </b>Scalar functions return one value, table functions return a rowset. Neither are very good for performance, though new features in SQL Server 2019 and 2022 have reduced the negative impact. Functions are different from a stored procedure in that you can SELECT or JOIN directly to them. Functions are typically used for more object-oriented database development, emphasizing code re-use.</div><div><br /></div><div><b>27. Explain the difference between blocking and deadlocking? </b>Locks create both blocking and deadlocking, and are necessary for a pessimistic concurrency database. Blocking may go on forever, until the application times out. Deadlocks are logical conflicts where a victim process or processes are killed immediately. The READ UNCOMMITTED isolation level (NOLOCK) bypasses locking, but minus points if a proper caveat/warning about this isn't mentioned. Bonus points for mentioning memory-optimized tables.</div><div><br /></div><div><b>28. Tell me about situations in which you've used Extended Events. </b>Candidates have hopefully used XEvents instead of traces, as traces as deprecated. XEvents are superior to traces because they can be configured to be asynchronous and have less impact and overhead on the instance. XEvents are used to capture app activity, diagnostic activity, performance metrics, or most commonly, recent deadlock history. There are already XEvent sessions running on a server by default. </div><div><br /></div><div><b>29. Have you ever used SQL Server Integration Services (SSIS)? What kind of tasks did you accomplish and how? </b>Would like to hear technical specifics about controls used, and also how it was deployed. Ask probing questions. Try to figure out if candidate actually did the work, or just was aware of it or supported it. Follow-up question: What are some of the advantages of the project deployment model (first introduced in SQL Server 2012.) As opposed to the older package deployment model, the project deployment model allows for environment variables for running the same code with different project variables, also code version history, built-in logging via SSISDB. </div><div><br /></div><div><b>30. Have you ever used Azure Data Factory (ADF)? What kind of tasks did you accomplish and how? </b>Would like to hear technical specifics about controls used, and also how it was deployed. Ask probing questions. Try to figure out if candidate actually did the work, or just was aware of it or supported it. ADF changed a lot in 2017 with the release of ADF v2, which is the current version on Azure, and generally ADF v1 was an incomplete product.</div><div><br /></div><div><br /></div><div><h3 style="text-align: left;">Optional homework for the candidate</h3><div><br /></div><div>1. Ask for a writing sample on their favorite new feature of SQL Server, one page on what we would show a client or colleague who was asking about the new feature. </div><div><br /></div><div>2. A script from their personal "toolbox" of scripts that they developed, either in T-SQL or PowerShell.</div></div><div><h3 style="text-align: left;"><b><br /></b></h3><div><b><br /></b></div><h3 style="text-align: left;"><b>Legal stuff that HR wants you to know</b></h3><div><b><br /></b></div><p>Do not ask questions that have nothing to do with the candidate's job qualifications. In your interviews with candidates, you don't need to know, and should not ask, about: </p><p></p><ul style="text-align: left;"><li>their family, kids, or plans for having kids, </li><li>relationship status, </li><li>date of their education graduation,</li><li>age, </li><li>religion, </li><li>race or cultural background, including the origin or meaning of their name,</li><li>place or country of birth,</li><li>sexual orientation or gender identity,</li><li>political persuasion, </li><li>or private medical history. <br /><br /></li><li>You don't need to know about their disability status, only if they need an accommodation. </li><li>You don't need to know if they are citizens or immigrants to your country, only if they can legally work in the country. </li><li>You don't need to know how much money they made at their last job.</li></ul><p></p><p>If you have questions about the above, ask a qualified human resources professional. Remember that if the candidate seems like <b>someone you want to have a beer with</b>, that has nothing to do with the job. </p><h3 style="text-align: left;"><br /></h3><div><br /></div><h3 style="text-align: left;">Feedback</h3><div><br /></div><p>Questions? Your experience? Other good questions you ask? Feel free to add them in the comments below.</p></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2328222207349876984.post-8567934785783957892023-01-24T01:14:00.007-08:002023-02-15T17:06:36.302-08:00Exam Cram with DataWeekender talk - Think Like a Certification Exam<p>Fresh off of a <a href="https://www.sqltact.com/2023/01/so-youre-considering-pursuing.html" target="_blank">two-part, co-authored blog series on certification exams and test-taking prep</a>, I've got a fresh batch of fun sample questions for the January 2023 Data Weekender Exam Cram series. Looking forward to discussing the recently-released Microsoft Azure certification prep resources too at 5:30pm Irish time or 9:30AM PT. </p><p>Register to attend at: <a href="https://www.meetup.com/DataWeekender/events/289815767/">https://www.meetup.com/DataWeekender/events/289815767/</a></p><p>Azure cert prep materials are also receiving quite a bit of investment in new resources: career guides, test sandbox, live Azure resource sandboxes, free practice assessments, and more. I'll look forward to discussing those!</p><p>You can find the .pptx for my presentation <a href="https://github.com/williamadba/Public-Presentations/blob/main/Data%20Weekender%20Exam%20Cram/DataWeekender%20Exam%20Cram%20Jan%202023%20-%20Think%20Like%20a%20Certification%20Exam%20-%20William%20Assaf.pptx" target="_blank">here on GitHub</a>. Questions? Comments? <a href="https://www.linkedin.com/in/williamdassaf/" target="_blank">Reach out on LinkedIn</a>.</p><p>A video recording of this session is available: </p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/uvjQsLgDTNk" width="320" youtube-src-id="uvjQsLgDTNk"></iframe></div><br /><p></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2328222207349876984.post-21332098164135422682023-01-23T12:02:00.003-08:002023-01-23T12:02:59.812-08:00Q&A on certification exams, exam prep, and test-taking skills<p><i>Part 2 of 2. </i><i>This blog post is co-authored by Ajayi Anwansedo, PhD and William Assaf, who met and worked together at </i><i><a href="https://www.thewallsproject.org/futuresfund" target="_new">The Futures Fund</a>, </i><i>a STEM non-profit which offers introductory coding and web development classes to teens and adults.</i></p><p><o:p></o:p></p>
<p><o:p><a href="https://www.sqltact.com/2023/01/so-youre-considering-pursuing.html">In the previous blog post</a>, we discussed the </o:p><b>why, what, </b><b>when </b>and <b>how </b>of taking a certification exam. Here, we'll go through a variety of related Q&A, answering from our different perspectives. </p>
<h2 style="text-align: left;"><br />Q&A on certification exams<br /></h2> <p style="text-align: left;"><b>Question 1: How to start preparing for a certification
exam?<o:p></o:p></b></p>
<p><b>William: </b>Start by understanding who the intended
audience of the certification exam is. Is it a fundamentals exam covering
concepts, or is it (more commonly) a cert exam looking to test years of
experience? A fundamentals exam (like Microsoft’s <a href="https://learn.microsoft.com/en-us/certifications/exams/az-900">AZ-900
Microsoft Azure Fundamentals</a> or Google's <a href="https://cloud.google.com/certification/cloud-digital-leader">Cloud
Digital Leader</a> or IBM’s <a href="https://www.ibm.com/training/certification/C0006001">C1000-068:
Foundations of IBM Blockchain Platform V2</a>) is intended to get newcomers
rolling in a field with no prerequisites. A fundamentals exam will cover more
book learning, but a more advanced exam will ask scenario-based questions,
intending to test experience. For a <a name="_Int_vDFq96ui">fundamentals</a>
exam, usually the provider will provide a significant amount of onboarding
information, because they want you to pass and start gaining experience! Other
exams like <a href="https://learn.microsoft.com/en-us/certifications/exams/DP-300">DP-300</a>
or <a href="https://learn.microsoft.com/en-us/certifications/exams/az-305">AZ-305</a>
are intended to test experienced professionals with years in the field. For a
more advanced exam, you need to be working in the field already and gaining
that experience. First step - make sure you’re targeting an exam that is meant
for your level of experience.<b> <o:p></o:p></b></p>
<p><b>Ajayi: </b>You prepare for the certification exam by
asking the following questions <b>- “</b>What is the certification exam
about?“, “Why do I want to take this certification exam?”, “What are the
benefits of taking the certification exam?” and “How will my career be affected
if I do not take the certification exam?” You can help yourself prepare for the
certification exam by answering these questions. Additionally, they will keep
you motivated to finish the process.<o:p></o:p></p>
<p><b><o:p> </o:p></b></p>
<p><b>Q2: What kind of test questions are the most
difficult for item writers to create? <o:p></o:p></b></p>
<p><b>Ajayi: </b>Multiple choice questions (MCQ) can be
difficult to create. MCQs are composed of the question and a selection of
possible answers. The test-taker must choose the correct answer from the
selection of possible answers. First, the item writer must determine the type
of question to create – direct questions, single statement questions or complex
questions. Then they must decide if the test-taker can select only one answer
or multiple answers. In terms of answer options, it is necessary to strike a
balance between making the questions neither too simple nor too complex for
test-takers to guess. The item writer must also decide whether the incorrect
options should be variants of the correct option or differ significantly from
it. Usually, there is the best option, a correct option and all the other
options are distractors.</p><p><o:p></o:p></p>
<p><o:p><b>William: </b>Questions that are based on the exact order of operations are tricky to write, and test-takers should understand why. Oftentimes in system setups, there is no specific order necessary, but there are common or best practice orders. But certification exams cannot test best practices or industry standards. A build list question often includes extremely specific complications to force one exact order of operations. Advice for test takers: look for those complications in the question's text, they are there for a reason and are a clue to what wrong solutions can be eliminated. </o:p></p><p><o:p><br /></o:p></p>
<p><b>Q3: What issues with diversity, equity, and
inclusion (DE&I) do you see in some certification exams?<o:p></o:p></b></p>
<p><b>William: </b>Cultural bias is definitely a challenge for
exam question writers. There’s a famous SAT question that included an analogy
to a “regatta” (a fancy boat race). Many students would not understand this
question for no other reason but not to have been
exposed to that type of event in their lives. This cuts across socioeconomic
and racial lines, not just geographic lines. Many questions involving sports
have the same problem because not everyone is familiar with the rules of cricket
or racquetball or baseball. Using regional phrases or cultural idioms in an
exam can be biased too. This is why item writers, reviewers, and subject matter
experts for a cert exam must be from a diverse set of backgrounds and
experiences. Questions should test technical credentials, not racial,
socioeconomic, geographic, or cultural backgrounds.<b><o:p></o:p></b></p>
<p><b>Ajayi: </b>To piggyback off William’s sentiments – the
same can be said about soccer and football, fries and chips, and trashcans and
dustbins. It’s the responsibility of the test taker to recognize
that certain items may have different names or meanings. The
content of the exam is tailored to the specific industry, but shouldn't be exclusive to a culture or region. In terms of inclusion,
there can be <a href="https://www.credentialinginsights.org/Article/accessibility-design-strategies-for-certificate-programs-and-certification-exams-1">accessibility</a> issues in developing questions/answers that cater to various types of learners (<a href="https://www.rasmussen.edu/degrees/education/blog/types-of-learning-styles/">Visual,
Auditory, and Kinaesthetic learners</a>) and different types of abilities (<a href="https://study.com/academy/lesson/individual-intellectual-physical-abilities-in-organizational-behavior.html#:~:text=There%20are%20two%20main%20types%20of%20ability%2C%20i.e.%2C%20intellectual%20ability,accomplish%20tasks%20requiring%20physical%20fitness.">intellectual
ability and physical ability</a>). <o:p></o:p></p><p><br /></p>
<p><b>Q4: How do you study for certification
exams?<span> </span><o:p></o:p></b></p>
<p><b>Ajayi: </b>Identify the certification you want to take from the company’s website. Review the <a href="https://www.ibm.com/training/certification/C0007600">certification preview page</a> for important information about the certification. For IBM certifications, the certification preview page contains the certification overview, recommended skills, requirements, exam objectives, exam resources and FAQs. In the exam objectives session, you will find the number of questions you need to answer correctly to pass the exam. You will also find an outline of the exam content and the percentage of exam questions taken from each content area. Next, ask for tips from someone who has taken and passed the exam you are about to take. These tips will help you avoid making the same mistakes others have made. Then determine your study habits – how you like to study; in groups or by yourself, best time to study, and so on. Understanding your study habits can make your study plan efficient. Next, create a study routine and plan. Also, review questions early in your study process.</p><p><b>William: </b>Use the preparation materials provided by
the company behind the subject matter, of course. Start by reviewing a syllabus
and study guide for the exam. In the case of Microsoft, they are now offering free
practice tests for many Microsoft certification exams. Practice tests can be
used to validate what you know about the technical content. If you see
something on the syllabus, study guide, or practice tests that you don't know
or haven't worked with yet, that's where to start. When it comes to actually
learning the material covered on the test, study by doing. Take this from some
who has written books for Microsoft – don't study <i>only</i> by reading books,
study by gaining experience with the features and products covered on the exam.</p><p><br /></p>
<p><b>Q5: Why become certified? How would it help my
career?<o:p></o:p></b></p>
<p><b>Ajayi: </b>A standard reason to get certified is because it is required to qualify for certain roles or projects. Generally, people get certified because of past, present, and future events. Remember the time when you had to work on a project and you had no idea what you were doing, or the time you did not get that role because you did not have enough experience? These <b>past</b> events may influence your decision to get certified so that you will be better prepared for similar situations in the future.<b> At present</b>, you may want to get certified because of the company, new role, or new project requirements. You may want to equip yourself with the knowledge or tools to perform better in your current role, to stand out from the crowd or make your team better (team metrics). <b>Future </b>reasons to get certified may include increasing your earning capacity, marketability, and credibility. Other reasons include promotion, career advancement, prestige, and personal development.<o:p></o:p></p><p><b>William: </b>I always say that the <i>process </i>of preparing
for a certification exam is more beneficial to your skillset than the
certificate itself. Having taken many SQL Server certification exams, there are
parts of the product I <i>only</i> know because of my preparation for past
exams, because I never encountered them at work. Most helpful are the times I
get hands-on with something new to learn it before the exam. There are also
many examples where the prep for a certification exam allowed me to be immediately
familiar with new customer challenges. Those are
times I can say that exam prep directly benefited my work product. <o:p></o:p></p>
<p><br /></p>
<p><b>Q6: What is the main purpose of certification
exams?<o:p></o:p></b></p>
<p><b>William: </b>Fundamentals exams are meant to<b> </b>encourage
adoption, especially of cloud services. Higher-level exams are intended to test
a candidate's specific solutions delivery experience, not their memorization. <b><o:p></o:p></b></p>
<p><b>Ajayi: </b>Certification exams are used to gauge an
individual’s expertise in a particular profession or content area. </p>
<br /><br /><h2 style="text-align: left;">Q&A on test-taking skills</h2><p><br /></p>
<p><b>Q7: It’s the day of the exam. I’ve studied, what
should I do now?<o:p></o:p></b></p>
<p><b>Ajayi:</b> Everyone has a state of mind where they are most productive – What is yours? and how do you get yourself into that state? Some people have rituals. For me, wearing the same hairstyle for every exam helped. Your thing could be to wear comfortable clothes, eat your best food or no food at all– whatever gets you into that state, do that.<b><o:p></o:p></b></p><p><b>William: </b>Get good sleep the night
before. Eat something with protein. Wear comfortable clothes. Go into the exam
with confidence that regardless of the outcome, your career has already
benefited from the preparation process.</p>
<p><br /></p>
<p><b>Q8: What should I do in the final few minutes
before an exam begins?<o:p></o:p></b></p>
<p><b>Ajayi: </b>I would say be calm and be quiet. Although, I have seen test-takers chatting until it's exam time and still getting good scores. Like I said in the previous question, do what works for you.</p><p><b>William: </b>Review a quick reference card or test prep if you
like, but otherwise, try to make sure your heartbeat is calm and
cool. Take a few moments to quiet your mind before. <b><o:p></o:p></b></p>
<p><br /></p>
<p><b>Q9: What strategies should I remember during the
test?</b></p>
<p><b>William: </b>Remember, each correct answer must be 100%
correct and the other answers are 100% incorrect. (Lawyers enforce this!) At no
point should the right answer depend on best practices or industry standards or
unofficial naming conventions. Don't assume that's what the question is asking,
always look for details or requirements to eliminate wrong answers.<b><o:p></o:p></b></p>
<p><b>Ajayi:</b> If it is a lengthy question like the questions
in the PMP exam, read the last statement or the statement containing the
question first, before reading the entire question. This way you are not
distracted by unimportant details. Read and understand all the answer options before choosing your answer.
<b><o:p></o:p></b></p>
<p><o:p> </o:p></p>
<p><b>Q10: What should I do if two answers appear to be
correct?<o:p></o:p></b></p>
<p><b>Ajayi: </b>Understand the “ask” of the question.<b> </b>Go to court. Attempt to defend your answer. Explain why you think either answer is the best answer. Remember there is a correct and the best answer. Have scenarios and examples.<b><o:p></o:p></b></p><p><b>William: </b>There will be some details in the question
text to make only one answer is 100% correct. Go back through the question
text, reading carefully anything you may have read quickly at first. There will
be some detail in place to eliminate one of the answers.<b><o:p></o:p></b></p>
<p> </p>
<p><b>Q11: What test-taking advice could I share with
my kids?<o:p></o:p></b></p>
<p><b>Ajayi: </b>Make sure they know how to prepare for the test in advance. This helps them to be more relaxed as the test date approaches and during the test. Tell them Rome was not built in a day. They cannot complete the test content in a day. They need to have a study routine and plan. Tell them to relate and connect whatever they learn to their everyday life and what they already know. This helps them retain and recall the content during the exam easily. Tell them to answer the questions they are sure of first, then go over the others carefully. Tell them to have fun.</p><p><b>William: </b>Build their confidence through their successes, even if through other subjects in school.
Build their confidence through a process of preparation. Build their confidence
with repeatable processes so that a kiddo has confidence in their preparation before an exam. And make sure they eat
breakfast!<b><o:p></o:p></b></p>
<br /><p><b>Q12: How do I build confidence with my
test-taking skills?</b></p>
<p><b>William: </b>Remember that an exam, especially a
certification exam, is beneficial to you because of the preparation process.
The preparation process, especially where you get hands-on with something you
hadn't yet encountered at work or school, is time well spent. The exam itself
is just the final step of a journey. <o:p></o:p></p>
<p><b>Ajayi: </b>Practice, Practice, Practice. Be your own examiner. <o:p></o:p></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2328222207349876984.post-55454901873345426362023-01-23T12:02:00.002-08:002023-01-23T12:02:42.431-08:00So, you're considering pursuing a certification exam<p><i>Part 1 of 2. </i><i>This blog post is co-authored by Ajayi Anwansedo, PhD and William Assaf, who met
and worked together at </i><i><a href="https://www.thewallsproject.org/futuresfund" target="_new">The Futures Fund</a>, </i><i>a STEM non-profit which offers introductory coding and web development classes to
teens and adults.</i></p><p><i></i></p><p></p><p>So, you're considering pursuing a certification exam. Congratulations for taking your career into your own hands! Preparing
for a certification is a commitment but it doesn't require derailing your personal
life. This co-authored blog post is mean to encourage, empower, and enlighten you. </p><p></p>
<p>Does passing a certification exam make you a better
developer, programmer, analyst, or administrator? We would argue the process of
preparing for an exam, the preparation of the materials, and the mindset that
led you to the self-improvement path of the certification exams, are all
productive, causative, and beneficial for your career. </p>
<p>The benefits to your own learning and knowledge are obvious
but <a href="http://download.microsoft.com/download/9/4/B/94B5442E-0494-4B42-A5DC-8742E4254B09/BVW-Microsoft-US40548315.pdf">a
2015 International Data Corporation (IDC) study</a> found that certified
employees resulted in 56% less unplanned downtime, 58% faster time to market
for applications, and 39% less time for new hires to reach full productivity.
These are beneficial to your future employers as well, which is why
certifications are valuable on your resume.</p>
<p>Let's discuss <b>why, what, </b>and <b>when </b>of taking a certification
exam. Then, we'll discuss <b>how</b>: how to prepare, how to have success
test-taking, and how to build confidence in test-taking skills. <a href="https://www.sqltact.com/2023/01/q-on-certification-exams-exam-prep-and.html">In the next blog post</a>, we'll address some frequently asked questions about certifications, exams, test-taking skills, and more.</p><p><br /></p>
<p><b><span>Why pursue a certification exam?</span></b></p>
<p>First, you prepare for the certification exam by asking the
following questions:</p>
<p>“Why do I want to take a certification exam?” </p>
<p>“What are the benefits of taking a certification exam?” and</p>
<p>“How will my career be affected if I do not take the
certification exam?”</p>
<p>Answering these questions will help you prepare for the
certification exam. Additionally, a clear understanding of the reason you need
to take the exam and the potential consequences of not taking the exam will
keep you motivated to finish the process.</p>
<p> - Ajayi</p>
<p><b><span>What exam should you pursue?</span></b></p>
<p>After deciding you are prepared to take a certification
exam, the next step is to decide what exam to take.</p>
<p>Sometimes taking a certification exam is mandated by your
organization or job prospect.<b> </b>Here we will address taking a certification exam for
self-improvement/career advancement purposes. Consider:</p><p></p>
<p></p><ol><li>Deciding on what certification will enhance your
current job performance or career prospects.</li><li>Get an idea from someone who is at the ideal
job/position you are pursuing.</li></ol><p></p>
<p>Next, it's important to understand who the intended audience
of the certification exam is. <b></b></p>
<p>Is it a fundamentals exam covering concepts, or is it (more
commonly) a cert exam looking to test experience? A fundamentals exam (like
Microsoft’s <a href="https://learn.microsoft.com/en-us/certifications/exams/az-900" target="_new">AZ-900</a>)
is intended to get newcomers rolling in a field, whereas exams like <a href="https://learn.microsoft.com/en-us/certifications/exams/DP-300" target="_new">DP-300</a>
are intended to test solutions experience. <b></b></p>
<p>A fundamentals exam will be more like book learning, but a
more advanced exam will ask scenario-based questions, intending to test
experience. For a fundamentals exam, usually
the provider will provide you with a significant amount of
onboarding information, because they want you to pass and start gaining
experience!</p>
<p>For a more advanced exam, you need to be working in the
field already and gaining that experience. Make sure you’re targeting an exam
that is meant for your level of experience.<b></b></p>
<p>- William </p>
<p><b><span>When should you pursue a certification exam?</span></b></p>
<p>Timing, they say, is everything. A friend took a
certification exam a few months before their company went through
reorganization. The reorganization of the company resulted in said friend
having to interview for a new position. During the interview process, one of
the major requirements for this new position was the certification they had
taken months earlier. I had no idea I was friends with Nostradamus.</p><p><span>- Ajayi</span></p>
<p>Taking certification exams before you need them can help you
prepare for a future role. Here are some of the best times to take
certification exams.</p><p>1. You're a student or new to the field (target fundamentals/introductory certs first!)</p><p>2. When you are job-hunting</p><p>3. After you get a new job</p><p>4. Before the promotion cycle</p><p>5. Whenever you have idle time</p><p>6. When you need to shake up your career</p><p>7. When you're afraid of becoming obsolete*</p>
<p>*That last reason for taking a certification exam should be a
bigger concern for folks who work on aging technology and don't get an
opportunity to see new products or features. Preparing for a certification exam
is a great way to make sure you aren't vulnerable to being left behind by
progress or vulnerable after a layoff. <b>Your employer is not motivated to
keep you up to date as you maintain legacy systems, that is up to you!</b></p>
<p>So now that you know how to prepare before taking a certification
exam, when are you taking your next certification exam in 2023?</p><p><a href="https://www.sqltact.com/2023/01/q-on-certification-exams-exam-prep-and.html">In the next blog post</a>, we'll address some frequently asked questions about certifications, exams, test-taking skills, and more.</p><p><br /></p><p><b>Bios:</b></p><p class="MsoNormal"><a href="https://www.linkedin.com/in/ajayi-esohe-a-phd/"><b>Ajayi Anwansedo, PhD</b></a><b> </b>is an Associate Training and Change Consultant for IBM. She has over a decade's experience in training and development. She is passionate about STEM education and is a 2-time National Center for Women in Technology Award (NCWIT) Winner – for playing a pivotal role in promoting gender equity in computing and technology. She works with various organizations to make STEM accessible to all.</p><p class="MsoNormal"><b>William Assaf</b> is a senior content developer for
Microsoft Learn for the Database Docs team, a veteran writer and SME for
Microsoft certification exams, and author of the last three editions of SQL
Server Administration Inside Out by Microsoft Press. William has been writing
and taking certification exams for the past decade and has been authoring
Microsoft Learn content since 2020.<b><span style="color: red;"><o:p></o:p></span></b></p><p>
</p><br /><p></p><p></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2328222207349876984.post-13352528805871237632022-12-03T08:57:00.002-08:002022-12-03T08:57:33.538-08:00Speaking at SQLSaturday MN 2022<p>Thanks all for joining me for two sessions <a href="https://sqlsaturday.com/2022-12-03-sqlsaturday1028/" target="_blank">at SQLSaturday Minnesota 2023</a>, and for great feedback and questions. I'm always a big supporter of SQLSaturday events whenever I can and I was honored to speak virtually to this conference again!</p><p>Slide decks for my two presentations are <a href="https://github.com/williamadba/Public-Presentations/tree/main/SQLSat%20MN%202022" target="_blank">available for download on GitHub</a>.</p><p><br /></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2328222207349876984.post-85885202194341911252022-11-17T13:16:00.001-08:002022-11-17T13:16:34.857-08:00In SQL Server 2022, set your transaction log file autogrowth rate to 64 MB<p>A late-breaking change that arrived in SQL Server 2022 is an important one that could be a new line item in your health checks.</p><h3 style="text-align: left;">The basics:</h3><p>Starting with SQL Server 2022, transaction log file growth events up to 64 MB in size can benefit from instant file initialization (IFI). As usual, the transaction log is otherwise unable to benefit from instant file initialization. </p><p>This should be a big performance improvement if your transaction log files unexpectedly grow. Of course, you should try to avoid autogrowth events altogether. </p><p>There's lots more <a href="https://learn.microsoft.com/sql/sql-server/what-s-new-in-sql-server-2022?view=sql-server-ver16&WT.mc_id=DP-MVP-5003697" target="_blank">cool new stuff in SQL Server 2022</a>, too.</p><h3 style="text-align: left;">Impact to health checks:</h3><p>The default autogrowth rate for transaction log files in new databases is already 64 MB. Unless you have specific needs for your workload, consider keeping this default now, considering the dramatic advantage IFI brings to file space allocation.</p><p>In both your database and log files you should proactively pre-allocate enough space to avoid autogrowth events anyway. Regularly monitor the <a href="https://github.com/SparkhoundSQL/sql-server-toolbox/blob/master/space%20in%20files.sql" target="_blank">space in database files</a> to prevent <a href="https://github.com/SparkhoundSQL/sql-server-toolbox/blob/master/autogrow%20events.sql" target="_blank">autogrowth events</a>. The proactive DBA, <i>outside of </i>busy hours, should grow database data and log files manually, so that they do not autogrow <i>during </i>busy hours. </p><p>And whatever you do, don't shrink your data and log files, only to have them autogrow again the next business cycle.</p><h3 style="text-align: left;">Details:</h3><p></p><ul style="text-align: left;"><li>Applies to both manual file size changes and autogrowth events <=64 MB.</li><li>Transaction log growth events larger than 64 MB are unaffected by this performance improvement. No change.</li><li>Still no IFI for database restores or initial transaction log file initialization for new databases.</li><li>This change to autogrowth events up to 64 MB is new for SQL Server 2022, and arrives Azure SQL Database soon if not already, from what I understand. </li><li>It is not yet available for Azure SQL Managed Instance, but I would guess it will be there soon.</li><li>This feature is available on all editions of SQL Server.</li></ul><h3 style="text-align: left;">Make sure IFI is enabled:</h3><p></p><p>Of course, this only works if your SQL Server instance is capable of instant file initialization. The SQL Server service account must be granted the Perform Volume Maintenance Tasks permission in Local Security Policy on the Windows server. A quick script works for modern versions of SQL Server: </p><div style="background-color: white; color: #00000; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div><span style="color: #569cd6;">SELECT</span> servicename, instant_file_initialization_enabled</div><div><span style="color: #569cd6;">FROM</span> sys.dm_server_services</div><div><span style="color: #569cd6;">WHERE</span> <span style="color: #569cd6;">filename</span> <span style="color: #569cd6;">LIKE</span> <span style="color: #ce9178;">'%sqlservr.exe%'</span>;</div></div><p><br /></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2328222207349876984.post-22244688747833346682022-11-10T22:46:00.001-08:002024-02-22T12:38:53.898-08:00I'm speaking at PASS Data Community Summit 2022 <table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;">
<tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN9XX2r8fXdDuoCvYOfcJLBfSUdkXQIl9YvkvOThpW2bzv4_CvxDvNRyBTOpygRoQhrn2vh4hg-TzEOfGMf5lZiazg0sGlEklKL_KB3MpfzSQmQgXaEF9bPAFo4k7Unx5QCl0ml_w41mMB0UHfJDKnuyQgi9K07W0W-wdPbBfEOyBsRY-f0japITHn4w/s1584/LinkedIn%20banner%202.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="396" data-original-width="1584" height="160" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN9XX2r8fXdDuoCvYOfcJLBfSUdkXQIl9YvkvOThpW2bzv4_CvxDvNRyBTOpygRoQhrn2vh4hg-TzEOfGMf5lZiazg0sGlEklKL_KB3MpfzSQmQgXaEF9bPAFo4k7Unx5QCl0ml_w41mMB0UHfJDKnuyQgi9K07W0W-wdPbBfEOyBsRY-f0japITHn4w/w640-h160/LinkedIn%20banner%202.png" width="640" /></a></td></tr>
</tbody>
</table><br /><p>Looking forward to speaking in Seattle at next week's PASS Data Community Summit by Redgate. I'll be speaking both as a representative of my role on the Microsoft Database Docs team and as a data professional. </p><p>On Wednesday Nov 16, you'll find me in the main exhibit hall in the <a href="https://reg.passdatacommunitysummit.com/flow/redgate/summit2022/attendeeportal/page/microexpo" target="_blank">Microsoft Booth</a> Theater (#217) giving a presentation on contributing to Microsoft Docs, at 530pmPT. Hope to see you there. If prizes are available to give away, you know I'll give em up.</p><p>On Thursday afternoon, <a href="http://hrtact.com" target="_blank">Christine</a> and I are presenting together on a topic that is important to us, <a href="https://reg.passdatacommunitysummit.com/flow/redgate/summit2022/attendeeportal/page/catalog/session/1647885155951001SWQp" target="_blank">Ethics in Modern Data</a>. I bring my years as a data professional and Christine brings her experience and a Masters degree in Organization Psychology, combined with our passion for history, civil rights, and technology. We'll be discussing issues ripped from the news headlines and in history. These will frame a discussion about bias in data collection and analysis, and our responsibilities as data professionals. I hope we spark your interest in these important topics that shape our data industry.</p><p>On Friday morning, I'll be presenting <a href="https://reg.passdatacommunitysummit.com/flow/redgate/summit2022/attendeeportal/page/catalog/session/1647571943199001OfVw" target="_blank">a full hour on Database Docs</a>. We'll discuss how they work behind the scenes and how you can contribute to open-source docs via GitHub. This will also be an interactive feedback panel for the entire Docs platform inside Microsoft Learn. Hope to see you there, inspire you to contribute to the Docs that the entire data community uses daily, and answer any questions.</p><p><br /></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2328222207349876984.post-58228893974797537182022-08-24T19:56:00.004-07:002022-08-24T19:56:31.778-07:00A simple lab to demonstrate the danger of NOLOCKs in INSERT statements<p>The READ UNCOMMITTED isolation level, which the NOLOCK table hint activates, is not to be trusted when it comes to writing data. You are not always protected by error 1065 in cases where writes meet NOLOCK. </p><p>Error 1065 states "The NOLOCK and READUNCOMMITTED lock hints are not allowed for target tables of INSERT, UPDATE, DELETE or MERGE statements." However, NOLOCK can still dangerously be used as the source of the write. (NOLOCK can also fail with error 601 on even basic SELECT statements, but coders just aren't always scared off by that.)</p><p>Here's a very elementary example to share at parties in order to scare developers away from using NOLOCKs adventurously:</p><p><br /></p><blockquote class="tr_bq"> <pre class="brush: sql"><p>--Connection 1</p><p>DROP TABLE IF EXISTS dbo.testnolock1</p><p>GO</p><p>CREATE TABLE dbo.testnolock1</p><p>(id int not null IDENTITY (1,1) PRIMARY KEY,</p><p>text1 varchar(10) not null</p><p>)</p><p>GO</p><p>INSERT INTO dbo.testnolock1 (text1) VALUES (1);</p><p>GO</p><p><br /></p></pre></blockquote><p>Now we have a table with 1 row. Let's begin a transaction to insert another row, but not commit it.</p><p><br /></p><blockquote class="tr_bq"> <pre class="brush: sql"><p>--Connection 1</p><p>BEGIN TRAN</p><p>INSERT INTO dbo.testnolock1 (text1) VALUES (2); </p><p><br /></p></pre></blockquote><p>And in a second table, let's do an INSERT based on a SELECT statement with the NOLOCK table hint.</p><p><br /></p><blockquote class="tr_bq"> <pre class="brush: sql"><p>--Connection 2</p><p>DROP TABLE IF EXISTS dbo.testnolock2</p><p>GO</p><p>CREATE TABLE dbo.testnolock2</p><p>(id int not null IDENTITY (1,1) PRIMARY KEY,</p><p>text1 varchar(10) not null</p><p>)</p><p>GO</p><p>INSERT INTO testnolock2</p><p>SELECT TEXT1 FROM testnolock1 (NOLOCK)</p><p><br /></p></pre></blockquote><p>Without the NOLOCK hint, would be blocked by the INSERT in progress in Connection 1. </p><p>With the NOLOCK hint, the INSERT statement in Connection 2 completes immediately... however, back in Connection 1:</p><p><br /></p><blockquote class="tr_bq"> <pre class="brush: sql"><p>--Connection 1</p><p>ROLLBACK TRAN</p><p><br /></p></pre></blockquote><p>What have we got now? From any connection:</p><p><br /></p><blockquote class="tr_bq"> <pre class="brush: sql"><p>SELECT * FROM testnolock1;</p><p>SELECT * FROM testnolock2;</p><p><br /></p></pre></blockquote><br /><table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUXmq2yEC57ntd0qqsnnWnBB62Sm1WzY6qdhIUPxBF6n5uXbQKeAEnmbSxycynNRtEkpFZKjNSNrDBcO59MiAsTtnUtznZh6oisiEUUEW-s2MdbXKNnxbvv3Xk74emxvZm7xkd-f6NO9AXtBW2dABrl-dSgBmYY418iiLiBYRdc95Qr1YFLj7ZI20lmQ/s171/nolockinsert.png" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" data-original-height="153" data-original-width="171" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUXmq2yEC57ntd0qqsnnWnBB62Sm1WzY6qdhIUPxBF6n5uXbQKeAEnmbSxycynNRtEkpFZKjNSNrDBcO59MiAsTtnUtznZh6oisiEUUEW-s2MdbXKNnxbvv3Xk74emxvZm7xkd-f6NO9AXtBW2dABrl-dSgBmYY418iiLiBYRdc95Qr1YFLj7ZI20lmQ/s16000/nolockinsert.png" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">One row in testnolock1, two rows in testnolock2</td></tr></tbody></table><br /><div><br /></div><p><br /></p><p><br /></p><p><br /></p><p><br /></p><p><br /></p><p>While the INSERT into testnolock1 rolled back (because of one of many different transient errors or failures, not just due to a ROLLBACK), the INSERT with the doomed row where text1=2 succeeded just fine in testnolock2. This is bad! Should Connection 1 retry its INSERT, we could have duplicated data, primary key violations, etc.</p><p>If this seems basic to you, great! You have a healthy understanding and fear of the chaos that NOLOCK can unleash. </p><p><br /></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2328222207349876984.post-70593635319310980882022-08-01T11:12:00.008-07:002022-08-08T12:02:58.852-07:00SQLSaturday Baton Rouge is back!Looking forward to jambalaya at #SQLSatBR in THIS SATURDAY! Also looking forward to speaking and seeing all of you there, I guess... Register today: <a href="https://sqlsaturday.com/2022-08-06-sqlsaturday1026/">https://sqlsaturday.com/2022-08-06-sqlsaturday1026/</a><br /><br />After I <a href="https://www.sqltact.com/2019/08/my-organizers-notes-and-goodbye-after.html" target="_blank">stepped down from the SQLSaturday Baton Rouge organizing committee</a> lead in 2019, I had no idea what was to come. A pandemic, the dissolution of SQL PASS, and two missed Augusts later, SQLSaturday Baton Rouge is back! One thing I did get right in 2019: other volunteers deserved the chance to lead and organize and network and they've been doing a great job, from what I can tell so far. I'm happy to see the assets and resources we'd built together over 11 years of SQLSaturdays at LSU continue to be put to use.<div><div><br /></div><div>I am speaking at:</div><div><div>- 9:45am in the Careers in IT panel</div><div>- 11am for Tabletop Role-playing Games at Work for Fun & Profit with Stacy Vicknair and Christine Assaf - <a href="https://github.com/williamadba/Public-Presentations/tree/main/SQLSaturday%20Baton%20Rouge%202022" target="_blank">Presentation available for download</a></div><div>- 1:30pm for How to Think Like a Certification Exam - <a href="https://github.com/williamadba/Public-Presentations/tree/main/SQLSaturday%20Baton%20Rouge%202022" target="_blank">Presentation available for download</a></div><div><br /></div><div>See you there!</div><div><br /></div><div><br /></div></div></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2328222207349876984.post-32120053986159574162022-06-02T20:41:00.001-07:002022-06-02T20:42:33.730-07:00Speaking on Ethics in Modern Data at Improving Edge 2022<p><a href="https://www.hrtact.com" target="_blank"></a></p><div class="separator" style="clear: both; text-align: center;"><a href="https://static.wixstatic.com/media/5a87bd_2b7c76acc66c4be6aed61c2ebac9be52~mv2.png/v1/fill/w_350,h_198,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/5a87bd_2b7c76acc66c4be6aed61c2ebac9be52~mv2.png" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="198" data-original-width="350" height="113" src="https://static.wixstatic.com/media/5a87bd_2b7c76acc66c4be6aed61c2ebac9be52~mv2.png/v1/fill/w_350,h_198,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/5a87bd_2b7c76acc66c4be6aed61c2ebac9be52~mv2.png" width="200" /></a></div><br />Christine and I are looking forward to speaking at the <a href="https://bit.ly/3aCFGzI" target="_blank">Improving Edge conference</a>, co-presenting our session on Monday, June 6th. Our presentation on “Ethics in Modern Data” features topics relevant to modern developers and data professionals, using historical and current events to discuss ethics in data collection and analysis. <p></p><p>This is an important topic that lives at the crossroads of our careers, Christine's career in organizational psychology and human resources, my career in data, our work and volunteerism in civic non-profits, and our joint passion for history and civil rights. It's important to understand that when dealing with bias: outcomes matter, intentions don't. </p><p>Our slide deck, references, and citations are <a href="https://github.com/williamadba/Public-Presentations/blob/main/Improving%20Edge%202022/William%20and%20Christine%20Assaf%20-%20Ethics%20in%20Modern%20Data.pptx" target="_blank">available for download</a>.</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2328222207349876984.post-70654094215507674772021-11-05T07:00:00.001-07:002021-11-15T13:41:00.674-08:00SQL Server linked server to .xlsx Excel files<p>A question came up recently concerning whether it was still possible to connect to .xlsx Excel files as SQL Server linked servers.</p><p><b>Short answer: </b>Yes, it's possible as recently as SQL 2019 using <a href="https://www.microsoft.com/download/details.aspx?id=54920" target="_blank">ACE.OLEDB.12.0</a> provider. <br /><br /><b>Medium answer: </b>Yes, but linked servers from SQL Server to Access and Excel are <a href="https://docs.microsoft.com/en-us/sql/relational-databases/linked-servers/linked-servers-database-engine&view=sql-server-ver15#:~:text=linked%20servers%20to%20microsoft%20access%20and%20excel%20sources%20are%20only%20supported%20by%20microsoft%20when%20using%20the%2032-bit%20microsoft.jet.oledb.4.0%20ole%20db%20provider." target="_blank">only <i>supported </i>when using the deprecated 32-bit Microsoft.JET.OLEDB.4.0 OLE DB provider</a>. </p><p><b>Long answer: </b>Yes, but this shouldn't be part of any automated ETL process, please please engineer around using Excel file interchange in any automated data ingestion processes. That said... </p><span><a name='more'></a></span><p>There's lots of content on the internet about linked servers dependent on old .xls files, I won't recreate that here. That said, .xlsx files (using the latest Office 365) and the Microsoft Access Database Engine 2016 Redistributable drivers (ACE12) do also work. They just aren't supported by Microsoft. Linked servers with Access and Excel are only supported when using the 32-bit Microsoft.Jet.OLEDB.4.0 provider (even though this is deprecated).</p><p>Here's the proof:</p><div class="separator" style="clear: both; text-align: center;">
<table><tbody><tr><td>
<a href="https://1.bp.blogspot.com/-IIGOjx4w4BE/YVX7c1Aqu-I/AAAAAAACzWQ/Z3UHTqZe5jIDrKwGeC8fhG338YXivVf_QCLcBGAsYHQ/s331/excel.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="266" data-original-width="331" height="212" src="https://1.bp.blogspot.com/-IIGOjx4w4BE/YVX7c1Aqu-I/AAAAAAACzWQ/Z3UHTqZe5jIDrKwGeC8fhG338YXivVf_QCLcBGAsYHQ/w263-h212/excel.png" width="263" /></a>
</td><td>
<a href="https://1.bp.blogspot.com/-xzSndLXavJQ/YVX7c8qmdTI/AAAAAAACzWU/-gK2nkYXfxw7TRu2caOFSYyntExMazNbACLcBGAsYHQ/s289/ssms.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="214" data-original-width="289" height="214" src="https://1.bp.blogspot.com/-xzSndLXavJQ/YVX7c8qmdTI/AAAAAAACzWU/-gK2nkYXfxw7TRu2caOFSYyntExMazNbACLcBGAsYHQ/s0/ssms.png" width="289" /></a>
</td></tr></tbody></table>
</div><div><br /></div>
Sample code:<div><div>
<blockquote class="tr_bq"> <pre class="brush: sql">USE [master]<br />GO<br />EXEC master.dbo.sp_addlinkedserver @server = N'BOOK112', @srvproduct=N'Excel', @provider=N'Microsoft.ACE.OLEDB.12.0', @datasrc=N'C:\Program Files\Microsoft SQL Server\MSSQL15.SQL2K19\MSSQL\DATA\Book1.xlsx', @provstr=N'Excel 12.0;IMEX=1;HDR=YES;'<br />GO<br />EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1;<br />GO<br />EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1; <br />GO
</pre></blockquote> </div></div>
<div>Note a few things in my scenario above:</div><div><ol style="text-align: left;"><li>This requires the two system-wide OLEDB settings above ('DynamicParameters' and 'AllowInProcess') to be enabled.</li><li>I put the Excel file in C:\Program Files\Microsoft SQL Server\MSSQL15.SQL2K19\MSSQL\DATA\ just to rule out local permissions issues. You can place it anywhere. Of course, granting permissions to the SQL Server service account - whatever you have the service it configured to run as - to the Excel file is required.</li><li>This uses the Microsoft Office 12.0 Access Database Engine OLE DB Provider. I couldn't get this to work with the Microsoft Office 16.0 Access Database Engine OLE DB Provider, but I didn't try too hard. </li></ol></div><p>This gets tricky because Excel can easily be locked by other processes. If you have the sheet open in Excel, SQL Server won't be able to query it from the linked server. Kill processes that could be holding a lock on the Excel file, including Microsoft Excel itself. When that fails and the file is still locked, I also used the <a href="https://docs.microsoft.com/sysinternals/downloads/process-explorer" target="_blank">sysinternals Process Explorer</a> to kill a dllhost.exe that still had a handle on the file, as pictured below. Killing that process in Process Explorer cleared up the problem:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-dl1hWMb5Emk/YVX6-Sg23kI/AAAAAAACzWA/WihrKH9DRhwjpD6b0kUWMinAI5h-5Mb6wCLcBGAsYHQ/s693/process%2Bexplorer.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Process explorer showing a dllhost.exe still holding a lock on my Excel file" border="0" data-original-height="215" data-original-width="693" src="https://1.bp.blogspot.com/-dl1hWMb5Emk/YVX6-Sg23kI/AAAAAAACzWA/WihrKH9DRhwjpD6b0kUWMinAI5h-5Mb6wCLcBGAsYHQ/s16000/process%2Bexplorer.png" /></a></div><br /><p>Again, because of these file locking issues - SQL may be blocked by any other user, any process local to the server - using Excel files in an automated ETL/ELT system is just asking for trouble. Super not recommended. There are <i>myriad </i>better ways to ingest data rather than using Excel, including bypassing file locking and driver issues by exporting Excel files to .csv, or preferably going to data source directly and bypassing Excel as a medium. Getting data directly from the source system via direct database connection is highly preferable. If the data is hand-edited or hand-entered, consider SharePoint Online or PowerApps for the data entry instead of offline Excel files. Also, before you rule out some old/legacy database provider, consider <a href="https://docs.microsoft.com/sql/relational-databases/polybase/polybase-guide?view=sql-server-ver15" target="_blank">PolyBase</a> using <a href="https://docs.microsoft.com/sql/relational-databases/polybase/polybase-configure-odbc-generic" target="_blank">generic ODBC</a> for specific platform drivers or even generic ODBC drivers to pull data from a wide variety of data sources. </p><p><b>All that said, </b>the ACE driver is "not intended... to be used by a system service or server-side program where the code will run under a system account, or will deal with multiple users identities concurrently, or is highly reentrant and expects stateless behavior." This includes linked servers from SQL Server, meaning that this is <a href="https://www.microsoft.com/en-us/download/details.aspx?id=13255" target="_blank">not the <i>intended</i> use</a> of the Access Database Engine. So again, the solution stated in this blog post is <i>not supported by Microsoft. </i>I'll update if that changes.</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2328222207349876984.post-40094122730899305312021-09-16T13:58:00.005-07:002021-09-16T13:58:37.911-07:00Ethics in Modern Data at Music City Tech 2021<p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-D8flCkSpAKk/YUOvfMPPqXI/AAAAAAACy5E/0W9pL1IL2iw-lLEwmyWS7MeNZt5_0d4CgCLcBGAsYHQ/s1920/William-Assaf-Christine-Assaf.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="1080" data-original-width="1920" height="180" src="https://1.bp.blogspot.com/-D8flCkSpAKk/YUOvfMPPqXI/AAAAAAACy5E/0W9pL1IL2iw-lLEwmyWS7MeNZt5_0d4CgCLcBGAsYHQ/s320/William-Assaf-Christine-Assaf.jpg" width="320" /></a></div>On Sept 16, <a href="https://www.hrtact.com" target="_blank">Christine</a> and I presented our joint presentation on Ethics in Modern Data at the <a href="https://musiccitytech.com/" target="_blank">Music City Tech 2021 Virtual Conference</a>. Thanks for joining our presentation!<p></p><p>This session explores a variety of considerations that modern data scientists and data practitioners must account for when gathering and presenting data, including topics on bias, construct analysis, and machine learning. We'll discuss examples from history and current headlines.</p><p>This is an important topic that lives at the crossroads of our careers, my wife's career in organizational psychology and human resources, my career in data, our work in civic non-profits, and our joint passion for history and civil rights. It's important to understand that when dealing with bias: outcomes matter, intentions don't. </p><p>Our slidedeck and all citations and references will be made available for download <a href="https://github.com/williamadba/Public-Presentations/blob/master/Music%20City%20Tech%202021/William%20and%20Christine%20Assaf%20-%20Ethics%20in%20Modern%20Data.pptx" target="_blank">here</a>.</p><p><br /></p><p><br /></p><br /><p><br /></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2328222207349876984.post-67304444083834011482021-08-02T20:21:00.004-07:002021-08-03T09:11:02.809-07:00Ethics in Modern Data this Saturday with the South Florida Data Geeks<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-lBPpbVsFa7g/YQlqjrHDWcI/AAAAAAACwcc/s4NOSDRmVLI2BgQABLuy6LsgEE56Zd2zgCLcBGAsYHQ/s402/datageeks.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="226" data-original-width="402" height="180" src="https://1.bp.blogspot.com/-lBPpbVsFa7g/YQlqjrHDWcI/AAAAAAACwcc/s4NOSDRmVLI2BgQABLuy6LsgEE56Zd2zgCLcBGAsYHQ/s320/datageeks.jpg" width="320" /></a></div>This Saturday Aug 7, <a href="https://www.hrtact.com" target="_blank">Christine</a> and I will present our joint presentation on Ethics in Modern Data. <p></p><p>This session will explore a variety of considerations that modern data scientists and data practitioners must account for when gathering and presenting data, including topics on bias, construct analysis, and machine learning. We'll discuss examples from history and headlines.</p><p>This is an important topic that lives at the crossroads of our careers, my wife's career in organizational psychology and human resources, my career in data, our work in civic non-profits, and our joint passion for history and civil rights. It's important to understand that when dealing with bias: outcomes matter, intentions don't. While many of our examples come from the historical context of the United States, not all, and we have added additional context for international audiences. </p><p>Our slidedeck and all citations and references will be made available for download <a href="https://github.com/williamadba/Public-Presentations" target="_blank">here</a>.</p><p>Register for <a href="https://data-geeks.org/data-geeks-saturday/" target="_blank">the virtual event here</a>, and we'll see you Saturday afternoon at 2pmET.</p><p><br /></p><br /><p><br /></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2328222207349876984.post-69259479035694412702021-07-27T10:40:00.001-07:002021-08-02T20:29:33.729-07:00Ethics in Modern Data at the Baton Rouge Analytics and Intelligence Network (BRAIN)<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://alliancesafetycouncil.zoom.us/w_p/96674337782/434b3bf0-3b24-4338-8b3d-ec5ebc241dfa.jpg" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><br /></a></div>On July 27, <a href="https://www.hrtact.com" target="_blank">Christine</a> and I will present our joint presentation on Ethics in Modern Data. Looking forward to speaking at yet another technical user community looking to jumpstart after a COVID-induced hiatus. <div><br /></div><div>This session will explore a variety of considerations that modern data scientists and data practitioners must account for when gathering and presenting data, including topics on bias, construct analysis, and machine learning. We'll discuss examples from history and headlines.<br /><p></p><p>This is an important topic that lives at the crossroads of our careers, my wife's career in organizational psychology and human resources, my career in data, our work in civic non-profits, and our joint passion for history and civil rights. It's important to understand that when dealing with bias: outcomes matter, intentions don't. While many of our examples come from the historical context of the United States, not all, and we have added additional context for international audiences. </p><p>Our slidedeck and all citations and references will be made <a href="https://github.com/williamadba/Public-Presentations/tree/master/BRAIN" target="_blank">available for download here</a>.</p><p>Register for the virtual event at 5pmCT <a href="https://alliancesafetycouncil.zoom.us/meeting/register/tJIrcO2rrTwtEtbVxhGQ64UHXW9dvJ0QgjZm" target="_blank">here</a>.</p></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2328222207349876984.post-84894609848353063352021-06-24T16:25:00.006-07:002021-06-25T13:16:43.527-07:00Speaking at Data ANZ 2021<p>Looking forward to speaking at <a href="https://datasaturdays.com/2021-06-25-datasaturday0012/" target="_blank">Data ANZ 2021</a> this weekend. Data ANZ "is the data community event for the whole of Australia and New Zealand (and the world)"! </p><p>I'll be presenting both my "How to Think Like a Certification Exam" and co-presenting "Ethics in Modern Data" <a href="https://www.hrtact.com" target="_blank">along with Christine</a>. Their schedule is <a href="https://datasaturdays.com/2021-06-25-datasaturday0012/" target="_blank">published here</a>. </p><p>Both slidedecks are available for download <a href="https://github.com/williamadba/Public-Presentations/tree/master/Data%20ANZ%202021" target="_blank">here on Github</a>.</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2328222207349876984.post-86681794156287813702021-05-23T21:01:00.008-07:002021-05-25T09:28:05.641-07:00SQL Server Admin Best Practices with DMVs at GroupBy Americas 2021<div class="separator" style="clear: both; text-align: center;"><a href="https://groupby.org/wp-content/uploads/2021/05/Group-5-min.png" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="759" data-original-width="800" height="190" src="https://groupby.org/wp-content/uploads/2021/05/Group-5-min.png" width="200" /></a></div>On Tuesday I'm looking forward to presenting again at GroupBy Americas on a topic that was voted on by the attending public. This presentation "SQL Server Admin Best Practices with DMVs" is a talk that I've been giving for more than a decade and been tweaking and tuning ever since. <div><p>This talk covers basic roll-your-own maintenance strategies using data inside SQL Server including wait stats, query stats and the Query Store, fragmentation and index maint, index DMVs for new/existing indexes, and a ton more helpful DMVs introduced in SQL 2017 and 2019. </p><p>You can register for this talk here: <a href="https://www.groupby.org">groupby.org</a>.</p><p>You can <a href="https://github.com/williamadba/Public-Presentations/blob/master/GroupBy%20Conference%202021/SQL%20Admin%20Best%20Practices%20with%20DMVs.pptx" target="_blank">download my presentation here</a>, and the toolbox of sample scripts referenced throughout <a href="https://github.com/SparkhoundSQL/sql-server-toolbox" target="_blank">can be found in here</a>.</p><p><br /></p></div>
<blockquote class="twitter-tweet"><p lang="en" dir="ltr"><a href="https://twitter.com/hashtag/GroupBy?src=hash&ref_src=twsrc%5Etfw">#GroupBy</a> Americas: <a href="https://twitter.com/hashtag/DBA?src=hash&ref_src=twsrc%5Etfw">#DBA</a> Track starts soon!<br>Here's our lineup of speakers:<a href="https://twitter.com/GFritchey?ref_src=twsrc%5Etfw">@gfritchey</a><a href="https://twitter.com/hellosqlkitty?ref_src=twsrc%5Etfw">@hellosqlkitty</a><a href="https://twitter.com/solarwinds?ref_src=twsrc%5Etfw">@solarwinds</a> with <a href="https://twitter.com/SQLBek?ref_src=twsrc%5Etfw">@SQLBek</a> and Devon Wilson<a href="https://twitter.com/PureStorage?ref_src=twsrc%5Etfw">@PureStorage</a> with <a href="https://twitter.com/DBArgenis?ref_src=twsrc%5Etfw">@DBArgenis</a><a href="https://twitter.com/Aschenbrenner?ref_src=twsrc%5Etfw">@Aschenbrenner</a><a href="https://twitter.com/william_a_dba?ref_src=twsrc%5Etfw">@william_a_dba</a><a href="https://twitter.com/Dallas_DBAs?ref_src=twsrc%5Etfw">@Dallas_DBAs</a> with Jeff Moden<a href="https://twitter.com/dbanuggets?ref_src=twsrc%5Etfw">@dbanuggets</a><br><br>Register: <a href="https://t.co/1ss3ldVAwQ">https://t.co/1ss3ldVAwQ</a> <a href="https://t.co/3LjrMDzDye">pic.twitter.com/3LjrMDzDye</a></p>— GroupBy (@GroupByConf) <a href="https://twitter.com/GroupByConf/status/1397176177723428876?ref_src=twsrc%5Etfw">May 25, 2021</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2328222207349876984.post-88343666512616932812021-05-14T07:00:00.001-07:002021-05-14T22:18:15.198-07:00This Saturday: #DataWeekender, DataSaturday Southwest<p>Geeked to be speaking 2x on Saturday May 14, my second time speaking at <a href="https://www.meetup.com/DataWeekender/events/272258429/" target="_blank">#DataWeekender</a> and at the very first <a href="https://www.eventbrite.com/e/data-saturday-southwest-us-tickets-142251707687" target="_blank">Data Saturday Southwest 2021</a>.</p><p>My <b>Certification Exams Inside Out</b> is one of my favorite presentations to give. Its fun, its positive and career-oriented, it's useful for folks at any point in their career. Between my guided walkthrough based on actual experience and fun sample test questions, I hope help you understand both how a question gets written, and how best to go about answering.</p><p>Slides for my presentations are available for download on Github: <a href="https://github.com/williamadba/Public-Presentations/tree/master/DataWeekender%202021" target="_blank">#DataWeekender</a> and <a href="https://github.com/williamadba/Public-Presentations/tree/master/Data%20Saturday%20SW%202021" target="_blank">Data Saturday Southwest 2021</a>.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-xkHaiRIzoKo/YJ9ZW6k-q9I/AAAAAAACtgk/GVhg_qbRcS0iHJ_dZGRCY3Er7BvRpzWNACLcBGAsYHQ/image.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1093" data-original-width="2048" height="171" src="https://lh3.googleusercontent.com/-xkHaiRIzoKo/YJ9ZW6k-q9I/AAAAAAACtgk/GVhg_qbRcS0iHJ_dZGRCY3Er7BvRpzWNACLcBGAsYHQ/image.png" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-5UgURq_GzfA/YJ9ZYOH0NMI/AAAAAAACtgo/RbKRQUoSAPIITRjM37XpkhzttKtugg00gCLcBGAsYHQ/image.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="383" data-original-width="680" height="180" src="https://lh3.googleusercontent.com/-5UgURq_GzfA/YJ9ZYOH0NMI/AAAAAAACtgo/RbKRQUoSAPIITRjM37XpkhzttKtugg00gCLcBGAsYHQ/image.png" width="320" /></a></div><br /><br /></div><br /><br /><p></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2328222207349876984.post-24199170668267345342021-05-03T23:28:00.003-07:002021-05-04T14:19:00.433-07:00"Ethics in Modern Data" at Minnesota Developers Conference 2021<p>Looking forward to speaking to a brand new conference for us, the <a href="https://mdc.ilmservice.com/" target="_blank">Minnesota Developers Conference 2021</a> on May 4 at 2pmCT. Christine and I will be presenting a talk that we're both passionate about. We bring both our career focuses to the topic of modern data analytics, construct analysis, historical and current bias, and modern machine learning algorithms. We'll talk about ethics of bias in data both historical and issues ripped from the headlines. </p><p>See <a href="https://mdc.ilmservice.com/sessions/" target="_blank">you at 2pmCT virtually</a> from Minnesota!</p><p>Our slidedeck for the presentation is <a href="https://github.com/williamadba/Public-Presentations/blob/master/Minnesota%20Developers%20Conference/Ethics%20in%20Modern%20Data%20-%20William%20and%20Christine%20Assaf.pptx" target="_blank">available here</a>.</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2328222207349876984.post-23622779322832522692021-04-08T15:00:00.004-07:002021-04-11T09:52:59.162-07:00"Think Like a Certification Exam" at Certification Saturday 2021<p>I'll be presenting at <a href="https://events.powercommunity.com/microsoft-certification-saturday-2021/" target="_blank">Certification Saturday 2021</a> this weekend! I'll be contributing my talk on How to "<b>Think Like a Certification Exam" </b>at 3pmGMT/8amPT.</p><p></p><p>Microsoft is <a href="https://docs.microsoft.com/learn/certifications/skillingoffer" target="_blank">offering any one certification exam for USD15 to anyone</a> who has become unemployed or furloughed due to the pandemic this year. Schedule an exam before December 30, 2021. If you're interested in learning more about how to prep cert exams, how they're written, and how the test questions are constructed, I'm presenting on this topic.</p><p>Slidedeck <a href="https://github.com/williamadba/Public-Presentations/blob/master/Certification%20Saturday%202021/Think%20Like%20a%20Certification%20Exam.pptx" target="_blank">available for download here</a>. Video recording <a href="https://youtu.be/nUn4AboZ5-M" target="_blank">available on YouTube here</a>.</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2328222207349876984.post-37580371655400068682021-04-07T20:48:00.003-07:002021-04-07T20:48:46.184-07:00"Ethics in Modern Data" at the Inland Northwest Data Professionals Association<p>Looking forward to speaking to one of our new home turf's data organizations, the <a href=" https://www.meetup.com/inland-northwest-data-professionals-association/" target="_blank">Inland Northwest Data Professionals Association</a>. My spouse <a href="https://www.hrtact.com" target="_blank">Christine</a> and I will be presenting a talk we're both passionate about and bring our career focuses to the topic of data, construct analysis, historical and current bias, and modern machine learning algorithms. We'll talk about ethics of bias in data both historic and ripped from the headlines.</p><p>Join us at NOON PT on April 8 here: <a href="https://www.meetup.com/inland-northwest-data-professionals-association/events/277102053/">https://www.meetup.com/inland-northwest-data-professionals-association/events/277102053/</a></p><p>Slidedeck <a href="https://github.com/williamadba/Public-Presentations/blob/master/INWDPA/Ethics%20in%20Modern%20Data.pptx" target="_blank">available for download here</a>.</p><p><br /></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2328222207349876984.post-23820516482490788162021-04-07T20:41:00.001-07:002021-04-07T20:41:14.281-07:00Become a Contributor to Microsoft Docs<p>Starting this month, I'm leading a talk series with my teammates from the SQL Docs team at Microsoft. In this presentation we lay out just how easy it is, an how exactly, to contribute to Microsoft's <i>Docs as Code </i>in Github. We're looking forward to increasing visibility and ease of access to community contributions to the <b>open source Docs </b>that millions of professionals use every day.</p><p>If you'd like the SQL Docs team to deliver this talk to your local user group or community conference, reach out to us on <a href="https://twitter.com/sqldocs" target="_blank">Twitter</a> or <a href="https://www.linkedin.com/in/williamdassaf/" target="_blank">message me on LinkedIn</a> or comment on this blog post, we'd be happy to get on your schedule. I've list upcoming engagements for this talk my <a href="https://www.sqltact.com/p/speaking.html" target="_blank">Speaking Engagements</a> page on this blog. </p><p><b>Abstract</b>: Join the SQL-Docs content team for a discussion on modern Microsoft documentation (regardless of technology). Learn about the content publishing engines behind Docs, and the best ways to add your content and fixes to Docs that are read by the entire customer community. There are hundreds of thousands of GitHub issues and PR’s submitted to Docs every month, how can you be an effective part of that process and get your face on the top of an article?</p><p><b>Presenter</b>: MSFT SQL-Docs team (panelist headcount TBD)</p><p><b>Bio</b>: Members of the Microsoft SQL-Docs team will present this thorough walkthrough on how you can contribute and be recognized as a SQL Docs contributor. </p>Unknownnoreply@blogger.com0