Practical SQL Server http://sqlmag.com/blog/10109/feed Practical advice, insight, and help for core SQL Server considerations. en Data Breaches and Insider Threats http://sqlmag.com/blog/data-breaches-and-insider-threats <div class="node-body blog-body"><p>I&rsquo;ll sound a bit like Captain Obvious for bringing this up, but it&rsquo;s important to remember that security encompasses a lot more than protecting sensitive data from the specter of outsider threats like hackers. Properly implemented security policies also account for threat-models that include insiders &ndash; or people within your organization.</p></div> <div class="og_rss_groups"><ul class="links"><li class="og_links first last"><a href="/blog/practical-sql-server">Practical SQL Server</a></li> </ul></div><p><a href="http://sqlmag.com/blog/data-breaches-and-insider-threats" target="_blank">read more</a></p> http://sqlmag.com/blog/data-breaches-and-insider-threats#comments Security SQL Server data breaches data breaches security security Threat Modeling Threat Modeling Practical SQL Server Tue, 29 Sep 2015 19:02:00 +0000 26121 at http://sqlmag.com Setting Up Additional Checks to Ensure Regular Transaction Log Backups http://sqlmag.com/blog/setting-additional-checks-ensure-regular-transaction-log-backups <div class="node-body blog-body"><p>There&rsquo;s simply no way to overstate the importance of regular Transaction Log Backups. Not only do they help protect from disaster, but regular execution of T-Log backups on Full (and Bulk-Logged) Recovery databases helps keep thing &ldquo;fit and trim&rdquo;. Most of the time, setting up a Notification for when T-Log Backup Jobs fail is enough to let you know when something goes wrong.</p> <p><img alt="" src="/site-files/sqlmag.com/files/uploads/2015/03/TLogNotifications.gif" style="width: 600px; height: 286px;" /></p></div> <div class="og_rss_groups"><ul class="links"><li class="og_links first last"><a href="/blog/practical-sql-server">Practical SQL Server</a></li> </ul></div><p><a href="http://sqlmag.com/blog/setting-additional-checks-ensure-regular-transaction-log-backups" target="_blank">read more</a></p> http://sqlmag.com/blog/setting-additional-checks-ensure-regular-transaction-log-backups#comments SQL Server backups backups SQL Server SQL Server sql server agent sql server agent transaction log transaction log Practical SQL Server Tue, 15 Sep 2015 16:33:00 +0000 26011 at http://sqlmag.com Stop Using INFORMATION_SCHEMA and SysObjects for Exists Checks http://sqlmag.com/blog/stop-using-informationschema-and-sysobjects-exists-checks <div class="node-body blog-body"><p>Code like this isn&rsquo;t optimal:</p> <pre> <div class="geshifilter" style="white-space: nowrap;"><div class="text geshifilter-text" style="font-family:monospace;">IF EXISTS(SELECT * FROM sys.objects WHERE name = N'TableToDrop' AND type = 'U')<br /> &nbsp; &nbsp; &nbsp; &nbsp; DROP TABLE TableToDrop;<br /> GO</div></div></pre> <p>Neither is this:</p> <pre> <div class="geshifilter" style="white-space: nowrap;"><div class="text geshifilter-text" style="font-family:monospace;">IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'TableToDrop')<br /> &nbsp; &nbsp; &nbsp; &nbsp; DROP TABLE TableToDrop;<br /> GO</div></div></pre> <p>Yet, I see both of those used all of the time &ndash; over and over again. Even though it&rsquo;s 2015. &nbsp;</p></div> <div class="og_rss_groups"><ul class="links"><li class="og_links first last"><a href="/blog/practical-sql-server">Practical SQL Server</a></li> </ul></div><p><a href="http://sqlmag.com/blog/stop-using-informationschema-and-sysobjects-exists-checks" target="_blank">read more</a></p> http://sqlmag.com/blog/stop-using-informationschema-and-sysobjects-exists-checks#comments SQL Server ALTER ALTER CREATE CREATE DROP DROP EXISTS EXISTS INFORMATION_SCHEMA INFORMATION_SCHEMA sys.objects sys.objects Practical SQL Server Tue, 01 Sep 2015 18:50:00 +0000 25811 at http://sqlmag.com A Replacement for Maintenance Plan Backups http://sqlmag.com/blog/replacement-maintenance-plan-backups <div class="node-body blog-body"><p>This blog post is a bit of a &lsquo;repeat&rsquo; &ndash; since I already covered much of the rationale behind this post in <a href="http://sqlmag.com/blog/alwayson-availability-groups-and-sql-server-jobs-part-23-maintenance-plan-backups-and-ssis-pack">Part 23 of my multi-part series on AlwaysOn Availability Groups and SQL Server Agent Jobs</a>. But, I also figured that this is enough of an important topic to merit its own blog post.</p></div> <div class="og_rss_groups"><ul class="links"><li class="og_links first last"><a href="/blog/practical-sql-server">Practical SQL Server</a></li> </ul></div><p><a href="http://sqlmag.com/blog/replacement-maintenance-plan-backups" target="_blank">read more</a></p> http://sqlmag.com/blog/replacement-maintenance-plan-backups#comments SQL Server Maintenance Plans Maintenance Plans SQL Express Backups SQL Express Backups SQL Server Backups SQL Server Backups Practical SQL Server Thu, 27 Aug 2015 17:45:00 +0000 25781 at http://sqlmag.com Looking forward to Containers http://sqlmag.com/blog/looking-forward-containers <div class="node-body blog-body"><p>Virtualization has long been a staple when it comes to computing. In essence, virtualization is really just the use of abstraction to make things either easier to manage or more fault-tolerant. Disks, for example, have long been virtualized in the sense that a single, physical, can easily be divided up into multiple logical (or virtual) volumes (or drives) just as easily as a number of discreet physical disks can also be virtualized into a single drive (via RAID) &ndash; which can further be partitioned into volumes, LUNs, and so.</p></div> <div class="og_rss_groups"><ul class="links"><li class="og_links first last"><a href="/blog/practical-sql-server">Practical SQL Server</a></li> </ul></div><p><a href="http://sqlmag.com/blog/looking-forward-containers" target="_blank">read more</a></p> http://sqlmag.com/blog/looking-forward-containers#comments Systems Management SQL Server containers Containers deployment deployment docker docker future future SQL Server SQL Server virtualization virtualization Windows Windows Practical SQL Server Wed, 19 Aug 2015 19:54:00 +0000 25731 at http://sqlmag.com AlwaysOn Availability Groups and SQL Server Jobs, Part 29: Practical Implementation Tips http://sqlmag.com/blog/alwayson-availability-groups-and-sql-server-jobs-part-29-practical-implementation-tips <div class="node-body blog-body"><p>My initial goal in writing this series of posts was to outline some of the concerns surrounding Availability Groups (AGs) and SQL Server Agent Jobs &ndash; and call out how there is virtually no guidance from Microsoft on this front and then detail some of the pitfalls and options available for tackling this problem domain. I initially expected this series of posts to have between 25 and 30 posts &ndash; according to some of the early outlines I created &lsquo;way back when&rsquo;.</p></div> <div class="og_rss_groups"><ul class="links"><li class="og_links first last"><a href="/blog/practical-sql-server">Practical SQL Server</a></li> </ul></div><p><a href="http://sqlmag.com/blog/alwayson-availability-groups-and-sql-server-jobs-part-29-practical-implementation-tips" target="_blank">read more</a></p> http://sqlmag.com/blog/alwayson-availability-groups-and-sql-server-jobs-part-29-practical-implementation-tips#comments SQL Server backups backups ETL etl jobs jobs SQL Server Availability Groups SQL Server Availability Groups SSIS SSIS Practical SQL Server Tue, 28 Jul 2015 18:03:00 +0000 25391 at http://sqlmag.com AlwaysOn Availability Groups and SQL Server Jobs, Part 28: Additional Options for Tackling Jobs Failover http://sqlmag.com/blog/alwayson-availability-groups-and-sql-server-jobs-part-28-additional-options-tackling-jobs-failo <div class="node-body blog-body"><p>Throughout this series of posts I&rsquo;ve taken a somewhat pessimistic view of how SQL Server Agent jobs are managed within most organizations &ndash; meaning that most of the code and examples I&rsquo;ve provided up until this point were based on assumptions about how CHANGE to jobs is managed. That pessimism, to date, has come in two forms:</p></div> <div class="og_rss_groups"><ul class="links"><li class="og_links first last"><a href="/blog/practical-sql-server">Practical SQL Server</a></li> </ul></div><p><a href="http://sqlmag.com/blog/alwayson-availability-groups-and-sql-server-jobs-part-28-additional-options-tackling-jobs-failo" target="_blank">read more</a></p> http://sqlmag.com/blog/alwayson-availability-groups-and-sql-server-jobs-part-28-additional-options-tackling-jobs-failo#comments SQL Server availability group Change Management Change Management Failover jobs SQL Agent job sql server agent Practical SQL Server Mon, 06 Jul 2015 18:06:00 +0000 25211 at http://sqlmag.com AlwaysOn Availability Groups and SQL Server Jobs, Part 27: Options and Concerns for More Advanced Deployments http://sqlmag.com/blog/alwayson-availability-groups-and-sql-server-jobs-part-27-options-and-concerns-more-advanced-dep <div class="node-body blog-body"><p>In this series of posts I&rsquo;ve called out some of the concerns related to SQL Server AlwaysOn Availability Groups and their interaction with SQL Server Agent jobs &ndash; both in the form of Batch Jobs (see <a href="http://sqlmag.com/blog/alwayson-availability-groups-and-sql-server-jobs-part-3-defining-batch-jobs">post #3</a>) and backups.</p></div> <div class="og_rss_groups"><ul class="links"><li class="og_links first last"><a href="/blog/practical-sql-server">Practical SQL Server</a></li> </ul></div><p><a href="http://sqlmag.com/blog/alwayson-availability-groups-and-sql-server-jobs-part-27-options-and-concerns-more-advanced-dep" target="_blank">read more</a></p> http://sqlmag.com/blog/alwayson-availability-groups-and-sql-server-jobs-part-27-options-and-concerns-more-advanced-dep#comments SQL Server AlwaysOn Availability Groups AlwaysOn Availability Groups backups backups licensing licensing Preferences Preferences SQL Server Agent Jobs SQL Server Agent Jobs Practical SQL Server Wed, 01 Jul 2015 17:26:00 +0000 25191 at http://sqlmag.com AlwaysOn Availability Groups and SQL Server Jobs, Part 26: Using Master Servers for Job Administration http://sqlmag.com/blog/alwayson-availability-groups-and-sql-server-jobs-part-26-using-master-servers-job-administratio <div class="node-body blog-body"><p>When I initially decided to write about AlwaysOn Availability Groups and SQL Server Jobs, I knew I&rsquo;d have a bunch of different posts on a variety of different topics. To that end, I initially planned on this series of posts being comprised of 3 main parts:</p></div> <div class="og_rss_groups"><ul class="links"><li class="og_links first last"><a href="/blog/practical-sql-server">Practical SQL Server</a></li> </ul></div><p><a href="http://sqlmag.com/blog/alwayson-availability-groups-and-sql-server-jobs-part-26-using-master-servers-job-administratio" target="_blank">read more</a></p> http://sqlmag.com/blog/alwayson-availability-groups-and-sql-server-jobs-part-26-using-master-servers-job-administratio#comments SQL Server AlwaysOn AlwaysOn Master Servers Master Servers MSX MSX sql server agent sql server agent TSX TSX Practical SQL Server Wed, 10 Jun 2015 16:36:00 +0000 24781 at http://sqlmag.com AlwaysOn Availability Groups and SQL Server Jobs, Part 25: Final Remarks on Backups http://sqlmag.com/blog/alwayson-availability-groups-and-sql-server-jobs-part-25-final-remarks-backups <div class="node-body blog-body"><p>In the last few posts (posts 19 &ndash; 24) I&rsquo;ve covered some high-level concerns and reviewed some details about how to implement and manage database backups against AlwaysOn Availability Group databases. Most of the information I&rsquo;ve provided was pretty basic or elementary &ndash; along with some additional guidelines for things to watch out for when managing backups. Which is to say that backups are never something you can simply take for granted and they&rsquo;re never something you just take lightly.</p></div> <div class="og_rss_groups"><ul class="links"><li class="og_links first last"><a href="/blog/practical-sql-server">Practical SQL Server</a></li> </ul></div><p><a href="http://sqlmag.com/blog/alwayson-availability-groups-and-sql-server-jobs-part-25-final-remarks-backups" target="_blank">read more</a></p> http://sqlmag.com/blog/alwayson-availability-groups-and-sql-server-jobs-part-25-final-remarks-backups#comments SQL Server AlwaysOn Availability Groups AlwaysOn Availability Groups best practices best practices SQL Server Backups SQL Server Backups Practical SQL Server Thu, 28 May 2015 19:47:00 +0000 24641 at http://sqlmag.com