GroupBy
GroupBy
  • 208
  • 383 369
Introduction to Execution Plans | Thomas LeBlanc
Using Execution Plans to performance tune SQL Server queries can be a great starting point to help a database application run optimally. Execution Plans have been around for some time now and Microsoft has improved the interface and extra tools with every release.
Join Thomas as he walks through the history of execution plans. The session will progress to Scans and Seeks while dipping into Loops and Lookups. These are the basic skills needed to start using execution plans. We will conclude the session with the new features released with SQL Server 2019.
zhlédnutí: 655

Video

A Database DevOps Pipeline | Rob Richardson
zhlédnutí 528Před rokem
Are your automation practices accounting for the database? How do you verify database software quality? Most importantly, how do you care for customer data as the schema evolves? Let’s dig into building a CI/CD pipeline for databases. We’ll leverage Red Gate tools and containers for automation, testing, and push-button deployment. You can bring DevOps to the database.
Feature Phobia - SQL Server Features Everyone Should be Using but Most Aren't | Randy Knight
zhlédnutí 933Před rokem
In this session, we’ll take a tour of some of the most neglected SQL Server features that can be game changers if used correctly. Whether it’s lack of knowledge, fear of the unknown, or confusion on what versions and editions of SQL Server support it, there are many features that just don’t get used as much as they should. We’ll look at things like Query Store, Table/Index Partitioning, ColumnS...
Finding and Fixing T-SQL Anti-Patterns with ScriptDOM | Mala Mahadevan
zhlédnutí 592Před rokem
Quality code is free of things we call ‘anti-patterns’ - nolock hints, using SELECT *, queries without table aliases and so on. We may also need to enforce certains standards: naming conventions, ending statements with semicolons, indenting code the right way etc. Furthermore, we may need to apply specific configurations on database objects, such as to create tables on certain filegroups or use...
Introducing PowerShell for DBAs | Greg Moore
zhlédnutí 433Před rokem
In today’s world, Powershell has become the go-to cross-platform tool for DBAs who have to maintain multiple servers. This session will introduce experienced DBAs to using PowerShell for automating some tasks and gathering data about their servers. This session will provide scripts that DBAs can adapt to their own needs.
ETL Without Permission: Bulk-Loading Data Quickly and Easily | Courtney White
zhlédnutí 389Před rokem
In an ideal world, we have the permissions we need to load data or work with data sets across servers, whether it’s through linked servers, dedicated staging tables, OPENROWSET, BULK INSERT, or any number of other features designed to make ETL/ELT easy in SQL Server. Not in my world. This presentation explores ways to manipulate and load data from any arbitrary data source into one or more SQL ...
dbaTools PowerShell Module Deep-Dive | Ben Miller
zhlédnutí 1,3KPřed rokem
DBAs now have PowerShell as a tool in their toolbox. Dbatools is a module that was written for the SQL Server DBA. This session will go deep in what you can do with this module. You will learn how to leverage this module to get more done in less time and effort. We will go through the commands in the module (not all of them, there are over 600) and do many demos of how to use them. The most imp...
Every Millisecond Counts - Jared Poche
zhlédnutí 431Před rokem
Query optimization is relatively easy when you look at a plan and find table scans, hash match joins, and missing indexes. But how do you find opportunities when all the low hanging fruit has been picked? This session is a case study on improving a procedure that runs 350 million times per day, so any improvement is greatly magnified. We will discuss where we found opportunities to improve a pr...
Parameter Sniffing: Everything you Know is Wrong - Edward Pollack
zhlédnutí 917Před 2 lety
Execution plan reuse is one of the most misunderstood aspects of SQL Server. While it serves us well 99.99% of the time, it is very easy to trip up when parameter sniffing results in performance problems. In this session, we will thoroughly dissect how plan reuse works, and discuss parameter sniffing, and the many potential solutions available to resolve it. We will examine the many poor soluti...
MinionWare Presents: The truth about SQL Security | Sean McCown
zhlédnutí 546Před 2 lety
In this session, we’ll look at how to REALLY lock down your SQL Server instances. There’s a conspiracy against xp_cmdshell, and it’s time we demystify it. In this session we’ll walk step-by-step through permissions and proxies. We’ll demonstrate how easy it is for anyone with lower-level rights to grant themselves admin permissions, and go on to do anything they want with the data, the database...
You Might Not Need a Data Warehouse Anymore | Dave Wentzel
zhlédnutí 750Před 2 lety
Want to learn more about GroupBy’s Sponsors? Check them out below! SolarWinds: loom.ly/ljHr3eg Redgate: loom.ly/Q65t2z0 Data Masterminds: loom.ly/JgisLIw SSG: loom.ly/MotcEjE More and more companies are deploying data lakes, but not everyone knows how to quickly query a data lake to add business value. We’ll start by discussing the 3 reasons data analytics projects fail. We’ll then show you why...
Men from Mars, Women from Venus: both can code .NET in Jupyter | Ron Dagdag
zhlédnutí 112Před 2 lety
Want to learn more about GroupBy’s Sponsors? Check them out below! SolarWinds: loom.ly/ljHr3eg Redgate: loom.ly/Q65t2z0 Data Masterminds: loom.ly/JgisLIw SSG: loom.ly/MotcEjE Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text. Attend this session and learn how you can write .NET co...
T-SQL Window Functions in SQL Server 2019 | Itzik David
zhlédnutí 667Před 2 lety
Want to learn more about GroupBy’s Sponsors? Check them out below! SolarWinds: loom.ly/ljHr3eg Redgate: loom.ly/Q65t2z0 Data Masterminds: loom.ly/JgisLIw SSG: loom.ly/MotcEjE I am also Oracle DBA so when SQL Server 2012 supported window functions I publish before everyone first article about SQL Server and windows function in SQL Server magazine . In this session you will become an expert who c...
Parallelism in Microsoft SQL Server | Torsten Strauß
zhlédnutí 449Před 2 lety
Parallelism in Microsoft SQL Server | Torsten Strauß
Missing Indexes: Do's and Don'ts | Andy Yun
zhlédnutí 741Před 2 lety
Missing Indexes: Do's and Don'ts | Andy Yun
Getting Your Ducks in a Row: Understanding Ordered Data Flows | Daniel Hutmacher
zhlédnutí 138Před 2 lety
Getting Your Ducks in a Row: Understanding Ordered Data Flows | Daniel Hutmacher
What I Learned from Almost Fumbling a $1m SQL Upgrade Project | Adrian Sullivan
zhlédnutí 260Před 2 lety
What I Learned from Almost Fumbling a $1m SQL Upgrade Project | Adrian Sullivan
Black Arts Index Maintenance 1.2 - Guids vs. Fragmentation | Jeff Moden
zhlédnutí 5KPřed 2 lety
Black Arts Index Maintenance 1.2 - Guids vs. Fragmentation | Jeff Moden
More Performance? It's on the Tip of Your Fingers! | Etienne Lopes
zhlédnutí 351Před 2 lety
More Performance? It's on the Tip of Your Fingers! | Etienne Lopes
SQL Assessment - Microsoft's Best Practices Checker | Taiob Ali
zhlédnutí 333Před 2 lety
SQL Assessment - Microsoft's Best Practices Checker | Taiob Ali
Delta Lake with Azure Databricks - Let's build a reliable Data Lake! | Mohit Batra
zhlédnutí 423Před 2 lety
Delta Lake with Azure Databricks - Let's build a reliable Data Lake! | Mohit Batra
T-SQL Window Function Performance | Kathi Kellenberger
zhlédnutí 197Před 2 lety
T-SQL Window Function Performance | Kathi Kellenberger
Cross Database Queries In Azure SQL | Eric Rouach
zhlédnutí 4KPřed 2 lety
Cross Database Queries In Azure SQL | Eric Rouach
Indexes vs. Histograms to Speed Up Database Searches | Dave Stokes
zhlédnutí 134Před 2 lety
Indexes vs. Histograms to Speed Up Database Searches | Dave Stokes
Auditing Sql Server: Extended Events vs. SQL Server Audit | Josephine Bush
zhlédnutí 896Před 2 lety
Auditing Sql Server: Extended Events vs. SQL Server Audit | Josephine Bush
Inclusive Leadership 101: “better People, Better People" | Rodney Burris
zhlédnutí 85Před 2 lety
Inclusive Leadership 101: “better People, Better People" | Rodney Burris
How to Improve the Performance of Data Warehouses? | Adnan Rahic
zhlédnutí 293Před 2 lety
How to Improve the Performance of Data Warehouses? | Adnan Rahic
SQL Server Environment Setup Using Automation Tools Like Docker and Powershell | Adam Anderson
zhlédnutí 571Před 2 lety
SQL Server Environment Setup Using Automation Tools Like Docker and Powershell | Adam Anderson
Packaging Permissions in Stored Procedures | Erland Sommarskog
zhlédnutí 184Před 2 lety
Packaging Permissions in Stored Procedures | Erland Sommarskog
SSDT Methodologies for SQL Server DevOps | Eitan Blumin
zhlédnutí 579Před 2 lety
SSDT Methodologies for SQL Server DevOps | Eitan Blumin

Komentáře

  • @DevendraParmar-k2k
    @DevendraParmar-k2k Před 3 dny

    can we use Service principal(SPN) credentials instead of sql user to create database scoped credentials?

  • @DevendraParmar-k2k
    @DevendraParmar-k2k Před 5 dny

    Hi, I am trying to create Database Scoped Credentials for Service principal where I have given the IDENTITY = "CLIENT_ID_OF_SERVICE_PRINCIPAL" and SECRET = "SECRET_KEY_IN_SERVICE_PRINCIPAL" but when I am trying to access the database by the help of this Database Scoped Credentials, I got error message : Msg 46832, An error occurred while establishing connection to remote data source: [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Login failed for user '1CLIENT_ID_OF_SERVICE_PRINCIPAL'.[Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Login failed for user 'CLIENT_ID_OF_SERVICE_PRINCIPAL'. i have check the credentials, can you please provide me help on what can I do next, thanks

  • @LCaaroe
    @LCaaroe Před 26 dny

    Super interesting video. Advice on indexing on the internet is riddled with "common sense" and "rules of thumb", so it's very useful to see a presentation where you're not only demonstrating the claims with data; the data is also presented in such an understandable format. The premise of the video is GUID fragmentation but this video also serves as a really nice visual demonstration of the concepts of fragmentation, pages, and indexes. I've worked with SQL for a long time, but mainly on surface level. My company is not really at a point where our indexing strategy (or lack of) affects us but we have a huge blind spot on the actual workings of SQL Server and indexing and I worry that lack of knowledge is going to cause my CTO to push us to a NoSQL solution as soon as performance becomes an actual issue. I only wish the mic quality was better and that the ads were placed at natural pauses (and normalized audio levels) but I know this is an old video so maybe those things improved. Thank you!

  • @disepheke2427
    @disepheke2427 Před 4 měsíci

    Awesome, we'll explained.

  • @user-zk1qk9es3l
    @user-zk1qk9es3l Před 4 měsíci

    Hi sir, You might have wrong regarding the change of colation. This will let you change the colation : (to execute in the right folder 😄) sqlservr -m -T4022 -T3659 -q"Latin1_General_CI_AS"

  • @NeumsFor9
    @NeumsFor9 Před 5 měsíci

    SQLKOVER delivers again

  • @ravilobo7977
    @ravilobo7977 Před 6 měsíci

    The challenge with dbatools, is it has so many commands, it becomes little hard to find them. This presentation gives a good overview on the module. This is an awesome presentation! Thank you so much Daniel!

  • @VineetL-qc4yf
    @VineetL-qc4yf Před 7 měsíci

    Thankyou❤

  • @thomasfranz8722
    @thomasfranz8722 Před 9 měsíci

    You are basically right (not that I had expected anything else from you), but I still disagree with the (indirect) recommentation to use GUIDs over ID columns or natural keys. In the most databases (regardless, if it are orders, customers, products, StackOverFlow posts/comments ...) only a very small percentage of your data are hot, the rest are cold data that will almost never be touched (written) again. When you are using GUIDs as (clustered) index key, you would spread all your data over the whole table. Yes, it allows you to do a way more inserts per second as with the hotspot in the last page caused by an Identity column, but there are only a few special cases (as DWH like loadings or saving tons of sensor data of a high speed experiment) where this speed really matters. Remember, that a day has 86400 seconds, so even 100k inserts are just slightly more than 1 insert per second with a new page inserted every maybe 200 records or ~ 3 min. The reduction of fragmentation is paid with 20 or more unused space on the whole table and big / expensive rebuilds every x days / weeks (depending on the table size, but simply forward your experiment by 5 to 10 years). When you would use an ID column you may could use partition too (on some tables as orders / posts, but it would not make much sense on customer / products), which would allow you to do index rebuilds only on the last few partitions (which had a few bad page splits) and allows to use a much higher fill factor (even 100%) for the whole table. Example: you have 100k orders per day, that are usually fulfilled in a few days and will rarely be modified (by expansive) updates after a month. So you could set the fillfactor for the order table to e.g. 98 % and partition the table by the order_id creating a new partition at the first day of a month at 00:00. The orders will all go into new pages at the very end (1.15 inserts per second are no problem with todays storage 🙂). When you update the orders and add comments there may occur bad page splits (that takes a small fraction of a second), but since they are made usually by an "analog" user / delivery system etc., it will be spread over the whole day too, so still no real performance problem. Yes, you may end with a ton (50%) of fragmentation in the last partition of the table, but since this is considered as hot and contains only 1 of 60 months (=5 years) of data, it is just a small fragment of your whole table and not a real problem. Once per month you could do a rebuild on the partition of the previous month, which removes those fragmentation, without permanently wasting 20% of storage / memory with a fillfactor of 80 and without the need to rebuild the whole table every month.

    • @jeffmoden4332
      @jeffmoden4332 Před 8 měsíci

      To be sure, I'm not actually recommending that you shift to GUIDs. I'm using them to demonstrate a major problem with REORGANIZE. I also agree with the idea of partitioning an ever-increasing index and the related non-clustered index to help decrease the need to defragment. You also talk about the extra space that a Fill Factor uses... Yep... I agree. But if you have an index that is constantly fragmenting and you rebuild it or even reorganize it, the page splits become a killer on the proverbial "morning after", not to mention the low page density that occurs as a result of the page splits. And, to be sure, THERE IS NO PANACEA... you have to understand and take into consideration what the fragmentation pattern is for EVERY index. You also say that page splits take a small fraction of a second. That might be true for one page but if the page splits occur even in just the next level up in the B-TREE, you could be blocking HUNDREDS of pages for a fair bit more than a fraction of a second. The bottom line on the things that fragment due to page splits is and the index is not just fragmenting at the append-only hotspot, if you leave the headroom by using a lower fill factor, yes... you're "wasting" some space but you ARE preventing page splits. If you DON'T use the FILL Factor, you're going to end up wasting space AND suffering sometime massive page splits. As I also say in the 'tube, it's better to do NO index maintenance than it is to do it wrong.

  • @babban2020
    @babban2020 Před 9 měsíci

    The demo is superb..can we have the scripts used in the Demo please..

  • @TheBirdChannelOriginal

    Thank you Eric for this great session, appreciate!

  • @andywawa7227
    @andywawa7227 Před rokem

    hi Ben, thanks for the great lecture. A word about the help and the function: Add-DbaAgReplica -SqlInstance sql2017b. How do I know this function works - as you stated in the minute 00:46:00 only when getting an input from the pipe like that: Get-DbaAvailabilityGroup -SqlInstance sql2017a -AvailabilityGroup SharePoint | Add-DbaAgReplica -SqlInstance sql2017b. Sure, I can look through the help of this function and see some examples, but there is no word: only with pipe input from Get-DbaAvailabilityGroup?

  • @srinubathina7191
    @srinubathina7191 Před rokem

    wow great content Thank You

  • @a.useronly2266
    @a.useronly2266 Před rokem

    Very nice and informative

  • @AquariusQuak
    @AquariusQuak Před rokem

    I totally disagree. At 1st: Below 5 million normal-sized records, I wouldn't even think about indexing, let alone index maintenance. (Performance) Problems with GUID based indexes arise at larger tables. So those tests are as meaningless as the "best practice recommendations". At 2nd: What might be the idea behind the sorted storage of random letter-number combinations without any information? Or behind sorting by more or less meaningless numbers? Such indexes are (mostly) useless, and thus their maintenance, and thus they are a burden for the system. But you have not even begun to get to the heart of the problem. At 3rd: The last-page-hammering performance problem was solved since 2019 (OPTIMIZE_FOR_SEQUENTIAL_KEY). At 4th: You've only looked at the leaf level (otherwise you couldn't talk about the fill factor). Meaningless index fields become a problem especially in multi-level tree structures because no reasonable density and distribution can be determined without additional computational effort.

    • @jeffmoden4332
      @jeffmoden4332 Před rokem

      Opinion noted. I'd love to see the actual tests that you've done to support your position. And, yes... the OPTIMIZE_FOR_SEQUENTIAL_KEY setting does solve for the end of index hammering. But, as I stated, it does not solve for the massive page splits that occur for those that do "ExpAnsive Updates" in the "hot spot".

    • @dbberater
      @dbberater Před rokem

      Hi Aquarius. Your strategy will lead to massive use of resources (e.g. Memory). 5 Mio rows without an index does mean 5 Mio rows in Memory! No index for JOIN operatins means HASH JOIN operators / sort operators / TABLE SPOOL operators All these operators require space in TEMPDB (even if they don't use it to sort/hashI in TEMPDB A assume you a Troll who wants to play "advocatus diabolus". Enjoy your strategy and always bet for a bigger resource pool for your database(s) :)

    • @AquariusQuak
      @AquariusQuak Před rokem

      @@dbberater Assuming an average rowsize of 200B (OK, works not if using GUIDs) results in a table size of ... not even 1GB - huh!! How many tables will reach 5 Mio rows at the same time? How about proactive checking of execution plans incl. costs of certain operators and monitoring of index costs as well? I see more problems with incorrectly set indexes on wrongly designed structures (GUIDs...) due to dangerous half-knowledge than with missing indexes. Only counting the advantages of indexes is a very naive fallacy not to say "milkmaid's tally". I suggest, next time you should focus on the central idea of a discussion, otherwise the question is: who is the troll?

    • @jeffmoden4332
      @jeffmoden4332 Před rokem

      ​@@AquariusQuak "Dangerous half-knowledge"? What specifically are you referring to?

  • @scootersays7216
    @scootersays7216 Před rokem

    Repetitive, rudimentary, and overly wordy. In the hands of a skilled presenter, this is a 30 min. Presentation.

  • @badatgaems
    @badatgaems Před rokem

    Thank you for this, I came to this from your answer on SO, and while your answer there was enough to make me realise the problem the information here definitely helps fill in the gaps. I'm a developer, not a DBA so maintenance is usually out of my wheelhouse but it is super useful information to have when designing new systems. I never really paid much attention to fill factor and what the true effects of reorganise. I having been going back and forth on how I should configure a DB for something that will likely eventually become a distributed system and it's amazing to think that not only will using GUIDs not impact performance negatively as the bedtime stories say, but it will likely improve the performance of the application even before horizontal scaling by performing the out of order inserts and updates! I also think that the best practice method may actually be costing one of my clients significant amounts in failover replication (full server imaging, not DB) on azure. I'm yet to confirm this but my thoughts are that these page splits are modifying the file system so many times a day unessecarily that the constant updating is causing significant unnecessary extra costs in replication bandwidth. Thank you for putting this old myth to bed!

    • @jeffmoden4332
      @jeffmoden4332 Před rokem

      @badatgaems Thank YOU for taking the time to provide such detail in your feedback. I really appreciate it. If you have any additional questions about indexes, contact me at the email address I have in the 'tube. It may take me a couple of days to reply but I always reply.

  • @bobocc2007
    @bobocc2007 Před rokem

    It is not quite so. All these features have heavy limitations, or were not implemented as we might expect, or suffer from al sort of misleading declarations. I have tested or learned the majority of them and what I can say about them is pay attention to the crocodiles that are hidden behind the surface!

  • @Khaled-ux6bv
    @Khaled-ux6bv Před rokem

    It is an amazing explanation , thank you so much.

    • @ericrouach
      @ericrouach Před rokem

      Thanks Khaled! I'm glad you found it helpful.

    • @ericrouach
      @ericrouach Před rokem

      Thanks a lot for your feedback!

  • @bluehelion
    @bluehelion Před rokem

    Thank you very much the presentation has helped me a lot and great work!

  • @gavinray9493
    @gavinray9493 Před rokem

    Fantastic stuff, thanks for sharing!

  • @oresteszoupanos
    @oresteszoupanos Před rokem

    Do the ads really need to be 3 times as loud as the speaker? Every time I watch a Group By video I get multiple heart attacks. Just keep the ads in, but mute the music please.

  • @deepakraut8958
    @deepakraut8958 Před rokem

    why cant we see data in tacpac file once we extract dacpac and execute it will not display any data why ?

  • @George-iz2ce
    @George-iz2ce Před rokem

    this deserves thousands. Erland's 10-ish articles are the holy grail of tsql.

  • @RedShiftGalaxy
    @RedShiftGalaxy Před rokem

    Thanks.

  • @darta1094
    @darta1094 Před rokem

    Fantastic session. Sort of one stop shop for multiple features explanation.

    • @bobocc2007
      @bobocc2007 Před rokem

      czcams.com/video/OLKDV-_SCBs/video.html

  • @vadimbondaruk8133
    @vadimbondaruk8133 Před rokem

    Could you please share code sources?

  • @margiemarvin8762
    @margiemarvin8762 Před rokem

    p͓̽r͓̽o͓̽m͓̽o͓̽s͓̽m͓̽ 😃

  • @riyask5693
    @riyask5693 Před rokem

    Interesting

  • @MethodOverRide
    @MethodOverRide Před rokem

    Anyone wanting the code Google his name and tsql bad habits to bring up recent code repos for him and updated presentation for SQL 2019.

  • @riyask5693
    @riyask5693 Před rokem

    great topics

  • @MethodOverRide
    @MethodOverRide Před rokem

    Great video! I definitely came away with a couple of useful tips.

  • @cadrin16
    @cadrin16 Před rokem

    The site link do not work

  • @a.useronly2266
    @a.useronly2266 Před rokem

    Thanks, this is so nice, can we use logic on dbatools commands, for example I m starting job using start-dbaAgentjob , and job got failed, so based on failed flag I want to run other command, how to achieve this

  • @varadcr8271
    @varadcr8271 Před 2 lety

    Excellent discussion... Lots of good information. Thank you

  • @jeffmoden4332
    @jeffmoden4332 Před 2 lety

    Perhaps I should have named this "Here's how you're destroying performance with the Best Practices of Index Maintenance". 😁

  • @HomelessOnline
    @HomelessOnline Před 2 lety

    Thanks Gavin, I needed this! The other videos on tSQLt aren't nearly as explanatory and in-depth.

  • @jeffmoden4332
    @jeffmoden4332 Před 2 lety

    BWAAA-HAAAA-HAAAA! Everyone picks on GUIDs... As I say in my presentation... "They're not the problem... WE ARE!" Here's the link if you're interested. As you watch, also remember that a whole of our non-GUID based non-clustered indexes are just as random as GUIDs or, worse yet, they create "Random Silos". czcams.com/video/rvZwMNJxqVo/video.html I'm also working on a write-up on the subject for BOL. It's just taking a bit of time because it needs to be short, to the point, and yet entirely accurate so I'm still doing a whole lot more testing and not just for GUIDs. Shift gears back to your presentation... VERY NICELY DONE, William. Thank you for taking the time to put this together.

  • @user-qf2xk1fg6e
    @user-qf2xk1fg6e Před 2 lety

    This is very useful video! Thank you very much!

  • @phaneendrasubnivis607

    Does this mean, there is no point in subscribing to services like Azure Synapse Analytics (Dedicated SQL Pool)/SQL Server on Azure etc., which are the services for hosting data warehouses?

  • @ztech4634
    @ztech4634 Před 2 lety

    Can SQL Server Audit and Extended Events Audit co - exist ( I mean having the two on the same server but for different purposes)

  • @bigfarmerUK
    @bigfarmerUK Před 2 lety

    Whoever said ‘size doesn’t matter... was not a DBA! 👍

  • @sivakumarreddygunipati4015

    Can we create on-prem SQL server as external data source in Azure SQL?

    • @ericrouach
      @ericrouach Před rokem

      No we can't. An external data source must be on cloud.

  • @himanish2006
    @himanish2006 Před 2 lety

    If a transaction table is continuously growing very large how to manage?

  • @bharatpatel1978
    @bharatpatel1978 Před 2 lety

    Thanks for sharing the valuable info. Plus one for presenting it in easy to understand manner

  • @RaymondPorrata
    @RaymondPorrata Před 2 lety

    This was an amazing session. Thank you for posting this. Time to dive into my servers. :)

  • @obulay213
    @obulay213 Před 2 lety

    czcams.com/video/uzTdmEQiGAk/video.html

  • @obulay213
    @obulay213 Před 2 lety

    even firewall rules, czcams.com/video/sVCivarAHqE/video.html

  • @abaig7689
    @abaig7689 Před 2 lety

    Slide content are partially appearing on screen, your recording screen width is too wide creating cut-off on both sides.

  • @jeffmoden4332
    @jeffmoden4332 Před 2 lety

    ERRATA NOTES: It was way too early in the morning for me when I gave this presentation (it was on the European track) and I was still a bit caffeine depraved. There are a couple of places where I misspoke and I'll list them and their corrections here as I find them. Make sure that you click on the "Read more" near the bottom of this particular post to see them all. There's not a lot but there is more than this paragraph unless you click on "Read more". TimeStamp 18:20. I say that it has to create PAGES between those two old pages and the new one. I left out the word "links". It should have been that is hast to create PAGE LINKS between those two old pages and the new one. TimeStamp 24:51. I say that it will not clear the space above the fill factor like a REORGANIZE will. I meant to say the word REBUILD instead of REORGANIZE. TimeStamp 37:49. I say that we start out at "37" (thousand implied by the graphic) and I meant "30". TimeStamp 39:49. The formula for the rows per page has an error in it. I forgot to add 2 bytes for the "Slot Array" entry to the 123 to make it 125. In other words, the 123 came from sys.dm_db_index_physical_stats but that does NOT include the 2 bytes per row for the "Slot Array" and you need to add "2" to the number returned by sys.dm_db_index_physical_stats. For this example, the formula should have been 64 (8096/(123+2) = 64.768 = |64|) where the +2 is for the 2 bytes in the slot array for each row. TimeStamp 1:03:35. I misspoke on a couple of spots on slide 66. To summarize, use BULK LOGGED OFFLINE if you can no matter the Edition of SQL Server. If your database is 24/7 and you can't do OFFLINE rebuilds AND you have the Enterprise edition, use BULK LOGGED ONLINE. If you have the Standard Edition and so can't use ONLINE, then do BULK LOGGED OFFLINE rebuilds when you do have some downtime. If you have something that prevents the use of BULK LOGGED (like AG, etc), then use the FULL RECOVERY model either offline when you have time or ONLINE if you have the Enterprise edition. Just DON'T EVER USE REORGANIZE because it'll put the screws to you in the form of pages splits all day every day. It's better to do no index maintenance than it is to do it wrong and also won't matter amyway if you're doing single row OLTP.

    • @Notion615
      @Notion615 Před 2 lety

      you sir, are a genius! this video deserves much more attention then its gotten so far! seriously thank you for sharing the results of your testing and your insights!

    • @jeffmoden4332
      @jeffmoden4332 Před 2 lety

      @@Notion615 - Oh my... I'm humbled. Thank you the very kind and thoughtful words. That presentation was 5 years in the making... and there's still more to come. Thank you again. I really appreciate it.