41554 blogs · [ { "id": "01a0d1d7-006c-71c6-88a7-9490321b18cc", "title": "Dynamic Data Masking in SQL Server 2016", "url": "https://sqlblog.org/2015/07/09/tip3679-use-dynamic-data-masking-in-sql-server-2016-ctp-21", "published_at": "2015-07-09T00:00:00+00:00" }, { "id": "01a0d1d7-006c-71c6-88a7-949032fbfe6f", "title": "Making SSMS pretty: My dark theme", "url": "https://sqlblog.org/2015/06/30/s1-making-ssms-pretty-my-dark-theme", "published_at": "2015-06-30T00:00:00+00:00" }, { "id": "01a0d1d7-006d-73b4-8cd6-4ac7b3ee69ea", "title": "FORMAT is nice and all, but…", "url": "https://sqlblog.org/2015/06/29/sqlperf-format-is-nice-and-all-but", "published_at": "2015-06-29T00:00:00+00:00" }, { "id": "01a0d1d7-006d-73b4-8cd6-4ac7b4e4bed8", "title": "A new feature for function statistics", "url": "https://sqlblog.org/2015/06/24/sqlperf-sys-dm-exec-function-stats", "published_at": "2015-06-24T00:00:00+00:00" }, { "id": "01a0d1d7-006d-73b4-8cd6-4ac7b4ffe8cf", "title": "T-SQL Tuesday #67: New backup and restore Extended Events", "url": "https://sqlblog.org/2015/06/09/sqlperf-t-sql-tuesday-67-backup-restore", "published_at": "2015-06-09T00:00:00+00:00" }, { "id": "01a0d1d7-006d-73b4-8cd6-4ac7b54f5faf", "title": "How not to call in-memory stored procedures", "url": "https://sqlblog.org/2015/06/05/sqlperf-how-not-to-call-hekaton-procedures", "published_at": "2015-06-05T00:00:00+00:00" }, { "id": "01a0d1d7-006d-73b4-8cd6-4ac7b55234be", "title": "Protect yourself from SQL Injection – Part 2", "url": "https://sqlblog.org/2015/06/01/tip3638-protecting-yourself-from-sql-injection-in-sql-server-part-2", "published_at": "2015-06-01T00:00:00+00:00" }, { "id": "01a0d1d7-006d-73b4-8cd6-4ac7b62825e0", "title": "Protect yourself from SQL Injection – Part 1", "url": "https://sqlblog.org/2015/05/27/tip3637-protecting-yourself-from-sql-injection-in-sql-server-part-1", "published_at": "2015-05-27T00:00:00+00:00" }, { "id": "01a0d1d7-006d-73b4-8cd6-4ac7b653552d", "title": "Tracing usage of trace flags", "url": "https://sqlblog.org/2015/05/21/s1-tracing-usage-of-trace-flags", "published_at": "2015-05-21T00:00:00+00:00" }, { "id": "01a0d1d7-006d-73b4-8cd6-4ac7b66ca0ef", "title": "Query Extended Events data", "url": "https://sqlblog.org/2015/05/21/tip3636-query-data-from-extended-events-in-sql-server", "published_at": "2015-05-21T00:00:00+00:00" }, { "id": "01a0d1d7-006d-73b4-8cd6-4ac7b7649411", "title": "T-SQL Tuesday #66: Babysitting a slow backup or restore", "url": "https://sqlblog.org/2015/05/12/s1-t-sql-tuesday-66-babysitting-a-slow-backup-or-restore", "published_at": "2015-05-12T00:00:00+00:00" }, { "id": "01a0d1d7-006d-73b4-8cd6-4ac7b7cfbe9f", "title": "SQL Server 2016: JSON support", "url": "https://sqlblog.org/2015/05/11/s1-sql-server-2016-json-support", "published_at": "2015-05-11T00:00:00+00:00" }, { "id": "01a0d1d7-006d-73b4-8cd6-4ac7b84ee803", "title": "Convert traces to Extended Events", "url": "https://sqlblog.org/2015/04/21/tip3590-convert-existing-sql-server-traces-to-extended-events-sessions", "published_at": "2015-04-21T00:00:00+00:00" }, { "id": "01a0d1d7-006d-73b4-8cd6-4ac7b92361cd", "title": "T-SQL Tuesday #65: Teach something new", "url": "https://sqlblog.org/2015/04/14/sqlperf-teach-something-new", "published_at": "2015-04-14T00:00:00+00:00" }, { "id": "01a0d1d7-006d-73b4-8cd6-4ac7b96490d1", "title": "Bad Habits to Kick: MDF/LDF files as \"backups\"", "url": "https://sqlblog.org/2015/04/07/s1-bad-habits-file-backups", "published_at": "2015-04-07T00:00:00+00:00" }, { "id": "01a0d1d7-006d-73b4-8cd6-4ac7b9f63815", "title": "Prevent and log certain login attempts", "url": "https://sqlblog.org/2015/04/03/tip3582-prevent-and-log-certain-sql-server-login-attempts", "published_at": "2015-04-03T00:00:00+00:00" }, { "id": "01a0d1d7-006d-73b4-8cd6-4ac7bab3fbfc", "title": "Best Practices: Properly referencing columns", "url": "https://sqlblog.org/2015/03/12/s1-best-practices-referencing-columns", "published_at": "2015-03-12T00:00:00+00:00" }, { "id": "01a0d1d7-006d-73b4-8cd6-4ac7bb1a9c1f", "title": "T-SQL Tuesday #64: One trigger or many?", "url": "https://sqlblog.org/2015/03/10/sqlperf-one-trigger-or-many", "published_at": "2015-03-10T00:00:00+00:00" }, { "id": "01a0d1d7-006d-73b4-8cd6-4ac7bbbe4f80", "title": "More online operations available now – or soon", "url": "https://sqlblog.org/2015/02/26/sqlperf-more-online-operations", "published_at": "2015-02-26T00:01:00+00:00" }, { "id": "01a0d1d7-006d-73b4-8cd6-4ac7bbda6fc4", "title": "Should I use NOLOCK against #temp tables?", "url": "https://sqlblog.org/2015/02/26/s1-nolock-temp-tables", "published_at": "2015-02-26T00:00:00+00:00" }, { "id": "01a0d1d7-006d-73b4-8cd6-4ac7bc4238c4", "title": "Give users access to Extended Events", "url": "https://sqlblog.org/2015/02/26/tip3532-give-sql-server-users-access-to-extended-events", "published_at": "2015-02-26T00:00:00+00:00" }, { "id": "01a0d1d7-006d-73b4-8cd6-4ac7bd1945eb", "title": "Fun with THROW: Use semi-colons (and avoid %)", "url": "https://sqlblog.org/2015/02/13/fun-with-throw", "published_at": "2015-02-13T00:00:00+00:00" }, { "id": "01a0d1d7-006d-73b4-8cd6-4ac7bd9efc4f", "title": "High LCK_M_SCH_M waits", "url": "https://sqlblog.org/2015/01/26/s1-high-lck_m_sch_m-waits", "published_at": "2015-01-26T00:00:00+00:00" }, { "id": "01a0d1d7-006d-73b4-8cd6-4ac7be9ed00a", "title": "Making metadata queries easier with these new views", "url": "https://sqlblog.org/2015/01/15/tip3449-making-sql-server-metadata-queries-easier-with-these-new-views", "published_at": "2015-01-15T00:00:00+00:00" }, { "id": "01a0d1d7-006d-73b4-8cd6-4ac7bef529cf", "title": "Pagination with OFFSET / FETCH: A better way", "url": "https://sqlblog.org/2015/01/12/sqlperf-pagination-with-offset-fetch", "published_at": "2015-01-12T00:00:00+00:00" }, { "id": "01a0d1d7-2a79-7327-ab86-afdad4293d8d", "title": "Bad Habits to Kick: Focusing only on disk space for keys", "url": "https://sqlblog.org/2015/01/06/sqlperf-bad-habits-disk-space", "published_at": "2015-01-06T00:00:00+00:00" }, { "id": "01a0d1d7-2a79-7327-ab86-afdad5074a50", "title": "Different plans for \"identical\" servers", "url": "https://sqlblog.org/2014/12/02/sqlperf-different-plans-identical-servers", "published_at": "2014-12-02T00:00:00+00:00" }, { "id": "01a0d1d7-2a79-7327-ab86-afdad5c62764", "title": "Finding views with (or without) a certain property", "url": "https://sqlblog.org/2014/12/02/tip3405-finding-sql-server-views-with-or-without-a-certain-property", "published_at": "2014-12-02T00:00:00+00:00" }, { "id": "01a0d1d7-2a79-7327-ab86-afdad6541544", "title": "Different plans for an \"identical\" query", "url": "https://sqlblog.org/2014/11/20/sqlperf-multiple-plans-identical-query", "published_at": "2014-11-20T00:00:00+00:00" }, { "id": "01a0d1d7-2a79-7327-ab86-afdad734a798", "title": "Finding tables with (or without) a certain property", "url": "https://sqlblog.org/2014/11/19/tip3402-over-40-queries-to-find-sql-server-tables-with-or-without-a-certain-property", "published_at": "2014-11-19T00:00:00+00:00" }, { "id": "01a0d1d7-2a79-7327-ab86-afdad789f1f2", "title": "Verify the databases a login can see – and why", "url": "https://sqlblog.org/2014/11/06/tip3399-verify-the-databases-a-sql-server-login-can-see-and-why", "published_at": "2014-11-06T00:00:00+00:00" }, { "id": "01a0d1d7-2a79-7327-ab86-afdad8606b6c", "title": "Bad Habits to Kick: Counting rows the hard way", "url": "https://sqlblog.org/2014/10/30/sqlperf-bad-habits-count-the-hard-way", "published_at": "2014-10-30T00:00:00+00:00" }, { "id": "01a0d1d7-2a79-7327-ab86-afdad92d3036", "title": "Another case for semi-colons and the schema prefix", "url": "https://sqlblog.org/2014/10/22/s1-bad-habits-semi-colons-schema-prefix", "published_at": "2014-10-22T00:00:00+00:00" }, { "id": "01a0d1d7-2a79-7327-ab86-afdad9f71cd8", "title": "Readable secondaries on a budget", "url": "https://sqlblog.org/2014/10/15/sqlperf-readable-secondaries-on-a-budget", "published_at": "2014-10-15T00:00:00+00:00" }, { "id": "01a0d1d7-2a79-7327-ab86-afdada4d3bfe", "title": "Map between SQL Server SIDs and Windows SIDs", "url": "https://sqlblog.org/2014/10/13/tip3362-map-between-sql-server-sids-and-windows-sids", "published_at": "2014-10-13T00:00:00+00:00" }, { "id": "01a0d1d7-2a79-7327-ab86-afdadaae9cb7", "title": "Bad Habits to Kick: AttachDBFileName", "url": "https://sqlblog.org/2014/10/08/s1-bad-habits-attachdbfilename", "published_at": "2014-10-08T00:00:00+00:00" }, { "id": "01a0d1d7-2a79-7327-ab86-afdadbaa4b09", "title": "Drop and re-create all foreign keys", "url": "https://sqlblog.org/2014/10/06/tip3347-drop-and-recreate-all-foreign-key-constraints-in-sql-server", "published_at": "2014-10-06T00:00:00+00:00" }, { "id": "01a0d1d7-2a79-7327-ab86-afdadc9584bd", "title": "Bad Habits to Kick: Clinging to old compatibility levels", "url": "https://sqlblog.org/2014/09/30/s1-bad-habits-old-compatibility-levels", "published_at": "2014-09-30T00:00:00+00:00" }, { "id": "01a0d1d7-2a79-7327-ab86-afdadd69a4ec", "title": "What effect does persisting a computed column have?", "url": "https://sqlblog.org/2014/09/30/tip3346-what-effect-does-persisting-a-computed-column-have-in-sql-server", "published_at": "2014-09-30T00:00:00+00:00" }, { "id": "01a0d1d7-2a79-7327-ab86-afdade42c9ac", "title": "Bad Habits to Kick: NOLOCK everywhere", "url": "https://sqlblog.org/2014/09/24/s1-bad-habits-nolock-everywhere", "published_at": "2014-09-24T00:00:00+00:00" }, { "id": "01a0d1d7-2a79-7327-ab86-afdadf1276b9", "title": "What happens when a computed column is persisted?", "url": "https://sqlblog.org/2014/09/24/tip3344-what-happens-when-a-computed-column-is-persisted-in-sql-server", "published_at": "2014-09-24T00:00:00+00:00" }, { "id": "01a0d1d7-2a79-7327-ab86-afdadf633fc2", "title": "Stop making SQL Server do your dirty work", "url": "https://sqlblog.org/2014/09/22/sqlperf-stop-making-sql-server-dirty-work", "published_at": "2014-09-22T00:00:00+00:00" }, { "id": "01a0d1d7-2a79-7327-ab86-afdae045f4d6", "title": "Change all computed columns to persisted", "url": "https://sqlblog.org/2014/09/19/tip3338-change-all-computed-columns-to-persisted-in-sql-server", "published_at": "2014-09-19T00:00:00+00:00" }, { "id": "01a0d1d7-2a79-7327-ab86-afdae0ad6ec9", "title": "Bad Habits to Kick: Optimizing all the wrong places", "url": "https://sqlblog.org/2014/09/16/s1-bad-habits-wrong-optimizations", "published_at": "2014-09-16T00:00:00+00:00" }, { "id": "01a0d1d7-2a79-7327-ab86-afdae10e363f", "title": "SQL Server Video – Tricks to play on your DBA – 2", "url": "https://sqlblog.org/2014/09/10/tip3354-sql-server-video-tricks-to-play-on-your-dba-2", "published_at": "2014-09-10T00:00:00+00:00" }, { "id": "01a0d1d7-2a79-7327-ab86-afdae2007490", "title": "Bad Habits to Kick: (Some) metadata \"helper\" functions", "url": "https://sqlblog.org/2014/09/04/s1-bad-habits-metadata-helper-functions", "published_at": "2014-09-04T00:00:00+00:00" }, { "id": "01a0d1d7-2a79-7327-ab86-afdae2bc6eeb", "title": "Four practical uses for grouped concatenation", "url": "https://sqlblog.org/2014/08/29/s1-grouped-concatenation-use-cases", "published_at": "2014-08-29T00:00:00+00:00" }, { "id": "01a0d1d7-2a79-7327-ab86-afdae36143b9", "title": "Grouped concatenation: Ordering and removing duplicates", "url": "https://sqlblog.org/2014/08/20/sqlperf-sql-server-grouped-concatenation-2", "published_at": "2014-08-20T00:00:00+00:00" }, { "id": "01a0d1d7-2a79-7327-ab86-afdae3ed9a1f", "title": "SQL Server Video – Tricks to play on your DBA – 1", "url": "https://sqlblog.org/2014/08/20/tip3322-sql-server-video-tricks-to-play-on-your-dba-1", "published_at": "2014-08-20T00:00:00+00:00" }, { "id": "01a0d1d7-2a79-7327-ab86-afdae4c33e8d", "title": "T-SQL Tuesday #57: A SQL_VARIANT use case (no pun intended)", "url": "https://sqlblog.org/2014/08/12/s1-sql-variant-use-case", "published_at": "2014-08-12T00:00:00+00:00" }, { "id": "01a0d1d7-5eef-7337-abe9-c6d93e2615bc", "title": "Grouped concatenation", "url": "https://sqlblog.org/2014/08/06/sqlperf-sql-server-grouped-concatenation", "published_at": "2014-08-06T00:00:00+00:00" }, { "id": "01a0d1d7-5eef-7337-abe9-c6d93e55baf6", "title": "Why does the FORCESCAN hint even exist?", "url": "https://sqlblog.org/2014/07/31/tip3296-why-the-sql-server-forcescan-hint-exists", "published_at": "2014-07-31T00:00:00+00:00" }, { "id": "01a0d1d7-5ef0-70b0-b626-b00686db835a", "title": "T-SQL Tuesday #56: Assumptions", "url": "https://sqlblog.org/2014/07/08/t-sql-tuesday-56-assumptions", "published_at": "2014-07-08T09:30:00+00:00" }, { "id": "01a0d1d7-5ef0-70b0-b626-b0068755cf82", "title": "New trace flag to fix table variable performance", "url": "https://sqlblog.org/2014/06/16/sqlperf-table-variable-perf-fix", "published_at": "2014-06-16T00:00:00+00:00" }, { "id": "01a0d1d7-5ef0-70b0-b626-b00687a45f96", "title": "Dirty secrets of the CASE expression", "url": "https://sqlblog.org/2014/06/12/sqlperf-dirty-secrets-of-the-case-expression", "published_at": "2014-06-12T00:00:00+00:00" }, { "id": "01a0d1d7-5ef0-70b0-b626-b00687df80f3", "title": "Connect to SQL Server in another domain using Windows Authentication", "url": "https://sqlblog.org/2014/06/10/tip3250-connect-to-sql-servers-in-another-domain-using-windows-authentication", "published_at": "2014-06-10T00:00:00+00:00" }, { "id": "01a0d1d7-5ef0-70b0-b626-b00688a0513c", "title": "Choosing between SQL Server 2012 and SQL Server 2014", "url": "https://sqlblog.org/2014/06/05/tip3248-choosing-between-sql-server-2012-and-sql-server-2014", "published_at": "2014-06-05T00:00:00+00:00" }, { "id": "01a0d1d7-5ef0-70b0-b626-b00689741bd0", "title": "Overhead of tracking #temp table creation", "url": "https://sqlblog.org/2014/05/23/sqlperf-overhead-temp-table-tracking", "published_at": "2014-05-23T00:00:00+00:00" }, { "id": "01a0d1d7-5ef0-70b0-b626-b0068a27b902", "title": "Dude, who owns that #temp table?", "url": "https://sqlblog.org/2014/05/21/sqlperf-dude-who-owns-that-temp-table", "published_at": "2014-05-21T00:00:00+00:00" }, { "id": "01a0d1d7-5ef0-70b0-b626-b0068a537079", "title": "Delayed Durability in SQL Server 2014", "url": "https://sqlblog.org/2014/04/28/sqlperf-delayed-durability-in-sql-server-2014", "published_at": "2014-04-28T00:00:00+00:00" }, { "id": "01a0d1d7-5ef0-70b0-b626-b0068a821407", "title": "Get more info about failed logins using Extended Events", "url": "https://sqlblog.org/2014/04/17/tip3214-use-extended-events-to-get-more-information-about-failed-sql-server-login-attempts", "published_at": "2014-04-17T00:00:00+00:00" }, { "id": "01a0d1d7-5ef0-70b0-b626-b0068ad16095", "title": "Enforce naming conventions using DDL Triggers", "url": "https://sqlblog.org/2014/04/08/tip3200-enforce-sql-server-database-naming-conventions-using-ddl-triggers", "published_at": "2014-04-08T00:00:00+00:00" }, { "id": "01a0d1d7-5ef0-70b0-b626-b0068b77afe6", "title": "Handle conversion between time zones – Part 3", "url": "https://sqlblog.org/2014/04/01/tip3175-handle-conversion-between-time-zones-in-sql-server-part-3", "published_at": "2014-04-01T00:00:00+00:00" }, { "id": "01a0d1d7-5ef0-70b0-b626-b0068bbb1cb2", "title": "Making the case for INSTEAD OF triggers – Part 1", "url": "https://sqlblog.org/2014/03/25/sqlperf-instead-of-triggers-1", "published_at": "2014-03-25T00:00:00+00:00" }, { "id": "01a0d1d7-5ef0-70b0-b626-b0068c8bea71", "title": "Validate the contents of large dynamic SQL strings", "url": "https://sqlblog.org/2014/03/24/tip3185-validate-the-contents-of-large-dynamic-sql-strings-in-sql-server", "published_at": "2014-03-24T00:00:00+00:00" }, { "id": "01a0d1d7-5ef0-70b0-b626-b0068c9307a2", "title": "Some great news for Standard Edition customers", "url": "https://sqlblog.org/2014/03/14/sqlperf-great-news-for-standard-edition", "published_at": "2014-03-14T00:00:00+00:00" }, { "id": "01a0d1d7-5ef0-70b0-b626-b0068d585f75", "title": "Handle conversion between time zones in SQL Server – Part 2", "url": "https://sqlblog.org/2014/03/10/tip3174-handle-conversion-between-time-zones-in-sql-server-part-2", "published_at": "2014-03-10T00:00:00+00:00" }, { "id": "01a0d1d7-5ef0-70b0-b626-b0068dae4f05", "title": "Handle conversion between time zones in SQL Server – Part 1", "url": "https://sqlblog.org/2014/03/04/tip3173-handle-conversion-between-time-zones-in-sql-server-part-1", "published_at": "2014-03-04T00:00:00+00:00" }, { "id": "01a0d1d7-5ef0-70b0-b626-b0068e2bb8a5", "title": "Avoid using NOLOCK on UPDATE and DELETE statements", "url": "https://sqlblog.org/2014/02/24/tip3172-avoid-using-nolock-on-sql-server-update-and-delete-statements", "published_at": "2014-02-24T00:00:00+00:00" }, { "id": "01a0d1d7-5ef0-70b0-b626-b0068eb94479", "title": "Best approaches for grouped median", "url": "https://sqlblog.org/2014/02/11/sqlperf-grouped-median", "published_at": "2014-02-11T00:00:00+00:00" }, { "id": "01a0d1d7-5ef0-70b0-b626-b0068fac27b7", "title": "Best approaches for grouped running totals", "url": "https://sqlblog.org/2014/01/29/sqlperf-grouped-running-totals", "published_at": "2014-01-29T00:00:00+00:00" }, { "id": "01a0d1d7-5ef0-70b0-b626-b0068fffdc95", "title": "No, you can't trust IDENT_CURRENT", "url": "https://sqlblog.org/2014/01/23/sqlperf-ident-current", "published_at": "2014-01-23T00:00:00+00:00" }, { "id": "01a0d1d7-5ef0-70b0-b626-b0069009c09a", "title": "Hekaton with a twist: In-memory TVPs – Part 3", "url": "https://sqlblog.org/2014/01/17/sqlperf-hekaton-twist-3", "published_at": "2014-01-17T00:00:00+00:00" }, { "id": "01a0d1d7-5ef0-70b0-b626-b00690ff05f5", "title": "Justifying the new Mac Pro", "url": "https://sqlblog.org/2014/01/13/sqlperf-justifying-the-new-mac-pro", "published_at": "2014-01-13T00:00:00+00:00" }, { "id": "01a0d1d7-5ef0-70b0-b626-b006910c4a07", "title": "Consider INSTEAD OF triggers", "url": "https://sqlblog.org/2013/12/19/tip3139-improve-sql-server-efficiency-by-switching-to-instead-of-triggers", "published_at": "2013-12-19T00:00:00+00:00" }, { "id": "01a0d1d7-8c4a-70fd-90d1-329e87de2ec5", "title": "A couple of small issues with Hekaton samples", "url": "https://sqlblog.org/2013/12/17/sqlperf-hekaton-sample-issues", "published_at": "2013-12-17T00:00:00+00:00" }, { "id": "01a0d1d7-8c4a-70fd-90d1-329e88b53a8b", "title": "Hekaton with a twist: In-memory TVPs – Part 2", "url": "https://sqlblog.org/2013/12/11/sqlperf-hekaton-twist-2", "published_at": "2013-12-11T00:00:00+00:00" }, { "id": "01a0d1d7-8c4a-70fd-90d1-329e88c35af7", "title": "Hekaton with a twist: In-memory TVPs – Part 1", "url": "https://sqlblog.org/2013/11/25/sqlperf-hekaton-twist", "published_at": "2013-11-25T00:00:00+00:00" }, { "id": "01a0d1d7-8c4a-70fd-90d1-329e88f55334", "title": "Following a single-transaction deadlock across SQL Server versions", "url": "https://sqlblog.org/2013/11/13/sqlperf-single-tx-deadlock", "published_at": "2013-11-13T00:00:00+00:00" }, { "id": "01a0d1d7-8c4a-70fd-90d1-329e893d7b18", "title": "Set the default schema for all users", "url": "https://sqlblog.org/2013/11/08/tip3098-script-to-set-the-sql-server-database-default-schema-for-all-users", "published_at": "2013-11-08T00:00:00+00:00" }, { "id": "01a0d1d7-8c4a-70fd-90d1-329e89e8c8b6", "title": "Generate random integers without collisions – More details", "url": "https://sqlblog.org/2013/09/26/sqlperf-random-collisions", "published_at": "2013-09-26T00:00:00+00:00" }, { "id": "01a0d1d7-8c4a-70fd-90d1-329e8a37305b", "title": "Generate random integers without collisions", "url": "https://sqlblog.org/2013/09/17/tip3055-generating-random-numbers-in-sql-server-without-collisions", "published_at": "2013-09-17T00:00:00+00:00" }, { "id": "01a0d1d7-8c4a-70fd-90d1-329e8aaede12", "title": "Performance surprises: DATEDIFF", "url": "https://sqlblog.org/2013/09/05/sqlperf-datediff-bug", "published_at": "2013-09-05T00:00:00+00:00" }, { "id": "01a0d1d7-8c4a-70fd-90d1-329e8ab3ba43", "title": "Performance surprises: Arbitrary TOP 1", "url": "https://sqlblog.org/2013/08/14/sqlperf-arbitrary-top-1", "published_at": "2013-08-14T00:00:00+00:00" }, { "id": "01a0d1d7-8c4a-70fd-90d1-329e8b3488e6", "title": "Follow-up on Summer Performance Palooza 2013", "url": "https://sqlblog.org/2013/07/26/sqlperf-performance-palooza", "published_at": "2013-07-26T00:00:00+00:00" }, { "id": "01a0d1d7-8c4a-70fd-90d1-329e8bfacd9f", "title": "Use UNPIVOT to dynamically normalize output", "url": "https://sqlblog.org/2013/07/24/tip3002-use-sql-servers-unpivot-operator-to-dynamically-normalize-output", "published_at": "2013-07-24T00:00:00+00:00" }, { "id": "01a0d1d7-8c4a-70fd-90d1-329e8c766162", "title": "Use UNPIVOT operator to help normalize output", "url": "https://sqlblog.org/2013/07/12/tip3000-use-sql-servers-unpivot-operator-to-help-normalize-output", "published_at": "2013-07-12T00:00:00+00:00" }, { "id": "01a0d1d7-8c4a-70fd-90d1-329e8d4a6551", "title": "Don’t just blindly create those \"missing\" indexes!", "url": "https://sqlblog.org/2013/06/06/sqlperf-missing-index", "published_at": "2013-06-06T00:00:00+00:00" }, { "id": "01a0d1d7-8c4a-70fd-90d1-329e8de90c7d", "title": "Extend DDL Triggers for more functionality: Part 2", "url": "https://sqlblog.org/2013/05/21/tip2952-extend-sql-server-ddl-triggers-for-more-functionality-part-2", "published_at": "2013-05-21T00:00:00+00:00" }, { "id": "01a0d1d7-8c4a-70fd-90d1-329e8e5d0b0b", "title": "Another argument for stored procedures", "url": "https://sqlblog.org/2013/05/17/sqlperf-another-argument-for-stored-procedures", "published_at": "2013-05-17T00:00:00+00:00" }, { "id": "01a0d1d7-8c4a-70fd-90d1-329e8ed2e462", "title": "Extending DDL Triggers for more functionality: Part 1", "url": "https://sqlblog.org/2013/05/08/tip2951-extending-sql-server-ddl-triggers-for-more-functionality-part-1", "published_at": "2013-05-08T00:00:00+00:00" }, { "id": "01a0d1d7-8c4a-70fd-90d1-329e8f9c215d", "title": "Schema Switch-A-Roo: Part 2", "url": "https://sqlblog.org/2013/04/30/sqlperf-schema-switch-a-roo-part-2", "published_at": "2013-04-30T00:00:00+00:00" }, { "id": "01a0d1d7-8c4a-70fd-90d1-329e9085745b", "title": "Troubleshoot availability groups: Sometimes it takes many sets of eyes", "url": "https://sqlblog.org/2013/04/25/sqlperf-troubleshooting-alwayson", "published_at": "2013-04-25T00:00:00+00:00" }, { "id": "01a0d1d7-8c4a-70fd-90d1-329e90d27b11", "title": "How filtered indexes could be a more powerful feature", "url": "https://sqlblog.org/2013/04/24/sqlperf-filtered-indexes", "published_at": "2013-04-24T00:00:00+00:00" }, { "id": "01a0d1d7-8c4a-70fd-90d1-329e90e7c625", "title": "Announcing SQL Server 2012 R2 and R3!", "url": "https://sqlblog.org/2013/04/01/sqlperf-next-ver-announcement", "published_at": "2013-04-01T00:00:00+00:00" }, { "id": "01a0d1d7-8c4a-70fd-90d1-329e90ed4dbc", "title": "Break large delete operations into chunks", "url": "https://sqlblog.org/2013/03/13/sqlperf-chunk-deletes", "published_at": "2013-03-13T00:00:00+00:00" }, { "id": "01a0d1d7-8c4a-70fd-90d1-329e91d9a6a2", "title": "Obfuscate sensitive data in your execution plans", "url": "https://sqlblog.org/2013/03/01/sqlperf-obfuscate-execution-plans", "published_at": "2013-03-01T00:00:00+00:00" }, { "id": "01a0d1d7-8c4a-70fd-90d1-329e9276233a", "title": "2013 MVP Summit: A quick review and a peek forward", "url": "https://sqlblog.org/2013/02/25/sqlperf-2013-mvp-summit", "published_at": "2013-02-25T00:00:00+00:00" }, { "id": "01a0d1d7-8c4a-70fd-90d1-329e9278d7d9", "title": "If you are using indexed views and MERGE, please read this!", "url": "https://sqlblog.org/2013/02/06/sqlperf-another-merge-bug", "published_at": "2013-02-06T00:00:00+00:00" }, { "id": "01a0d1d7-8c4a-70fd-90d1-329e92d4d498", "title": "Move all indexed views to a new filegroup", "url": "https://sqlblog.org/2013/02/06/tip2882-move-all-sql-server-indexed-views-to-a-new-filegroup", "published_at": "2013-02-06T00:00:00+00:00" } ] posts Claim your blog
Back to sqlblog.org
Blog · corpus.blog/blogs/sqlblog.org/posts

sqlblog.org

sqlblog.org

2015

2014

2013