Wednesday, April 25, 2018

Introduction to DataCamp Projects

Introduction to DataCamp Projects is the first project given by DataCamp.  The intro goes on to explain the projects are a place to apply concepts learned in the courses.  The main focus is on Jupyter notebook.  Jupyter notebook allows code anywhere.  This is a web based app which is built to handle large amounts of data to create visualizations such as plotting points.  This project was part of the free course.  There wasn't much substance the project narrative didn't seem to flow very well.  I hope this is a low point of the career track.


project information:
Rasmus Bååth
Instructor at DataCamp
6 tasks
1,500 XP

Wednesday, April 11, 2018

Intro to Python for Data Science

I have recently decided to expand my knowledge of data science.  To accomplish this goal, I have enlisted myself in the career track- Data Scientist with Python by DataCamp.  I have just finished the first course, Intro to python for data science.  Data Camp's method for teaching combines videos, light reading and interactive exercises to move through the course.  The course had and estimated time of 4 hours to complete.  The intro course was just that, an introduction that did not need a coding background.  We began with the very basics of coding, including types, variables and functions.  We covered how to import the numpy package, and worked through some examples on how to use numpy with given data sets. I really enjoyed the delivery method of the course and will continue taking other courses from DataCamp. Each course gives you a Statement of accomplishment  which can be downloaded or shared directly to LinkedInAnyone can try the introduction course for free.

Course Information:
Filip Schouwenaars
Data Science Instructor at DataCamp
Intro to Python for Data Science
https://www.datacamp.com/courses/intro-to-python-for-data-science
4 hours
11 Videos
57 Exercises
4,700 XP

You can find my profile here: https://www.datacamp.com/profile/joelcottage


Wednesday, March 28, 2018

Reporting - Default dates

When writing SSRS reports, we always have the need to set default dates for reports.  Usually prior week, or prior month.  Sometimes they are current week to date, or current week to month.  Whatever your default reporting needs are, here is a list that should get you started.



DECLARE @Date datetime = GETDATE()

-- Start of Month
SELECT DATEADD(m, DATEDIFF(m, 0, @Date), 0) [Start of Month]
-- End of Month
SELECT DATEADD(d,-1,DATEADD(m,1,DATEADD(m, DATEDIFF(m, 0, @Date), 0))) [End of Month]
-- Start of Week
SELECT DATEADD(d,-1,DATEADD(WEEK, DATEDIFF(WEEK, 0, @Date), 0)) [Start of Week]
-- End of Week
SELECT DATEADD(d,-1,DATEADD(WEEK,1,DATEADD(d,-1,DATEADD(WEEK, DATEDIFF(WEEK, 0, @Date), 0)))) [End of Week]

-- Start of Prior Month
SELECT DATEADD(m,-1,DATEADD(m, DATEDIFF(m, 0, @Date), 0)) [Start of Prior Month]
-- End of Prior Month
SELECT DATEADD(d,-1,DATEADD(m,-1,DATEADD(m,1,DATEADD(m, DATEDIFF(m, 0, @Date), 0)))) [End of Prior Month]
-- Start of Prior Week
SELECT DATEADD(WEEK,-1, DATEADD(d,-1,DATEADD(WEEK, DATEDIFF(WEEK, 0, @Date), 0))) [Start of Prior Week]
-- End of Prior Week
SELECT DATEADD(d,-1, DATEADD(d,-1,DATEADD(WEEK, DATEDIFF(WEEK, 0, @Date), 0))) [End of Prior Week]

Thursday, March 15, 2018

SQL Agent Jobs without notifications

All of our SQL Agent Jobs should notify someone if a failure occurs.  Below is a query to find all SQL Agent Jobs that are enabled, and do NOT have an email notification.  Quickly dissecting the script below, we are looking for [notify_level_email] NOT IN (1, 2, 3).

1 = When the job succeeds
2 = When the job fails
3 = When the job completes

Wednesday, February 28, 2018

List of all failed SQL Agent Jobs

Some SQL Agent Jobs run multiple time a day (I have see a job running every 10 seconds in Production).  SQL Agent only gives the the current state of all the jobs.  Here is how you can find all failures with their date and time.  From here, tracking down the root cause should just be a bit of investigative work.
SELECT  sysjobs.name
,sysjobhistory.run_date
,sysjobhistory.run_time
FROM msdb.dbo.sysjobs
INNER JOIN msdb.dbo.sysjobhistory
ON sysjobhistory.job_id = sysjobs.job_id
WHERE sysjobhistory.run_status = 0
AND sysjobhistory.step_id <> 0
ORDER BY sysjobhistory.run_date DESC, sysjobhistory.run_time  DESC

Wednesday, February 14, 2018

Where to find Deadlocks

All deadlock information is logged under the system_health extended event by default.  simply open system_health, right click package0.event_file > View Target Data...  At this point we can right click the grid, and select filter by this value.

Wednesday, January 31, 2018

Redgate's SQL Search

I have been reluctant to use Redgate's SQL search.  Instead I have been scripting out the database and running a search.  I have used many clunky add-ins with little to no value add, which has put me off to trying many others.  Encouraged to give SQL Search a try by a friend, I quickly realized I had been missing out.

With a simple menu, I can quickly decide what I would like to search for.  Check a few boxes and start typing my search, right from SSMS.



Results are generated quickly, it didn't take long for me to see a time saving.  Gaining results quickly also kept me focused on the task at hand without loosing my concentration.  I highly recommend Redgate's SQL Search to ANYONE using SQL Server.

Wednesday, January 17, 2018

Custom Color for Production Connection

Have elevated permissions in production and want a visual aid to help quickly identify your production environments?

Wednesday, January 3, 2018

Backup Solution

New Year, Same old story.  SQL Server backups are a necessity for every SQL Server Instance.  While there are many ways to accomplish this task, my favorite by far is Ola Hallengren's SQL Server Maintenance Solution.  The script comes complete with Database backups, rebuild indexes, integrity checks and even log cleanup.

Wednesday, December 20, 2017

Show Desktop in Windows 10

I am always flooding my desktop with open windows while developing.  Showing the desktop is a must have in a situation where you need to switch gears for a few minutes.  Windows 10 has the show desktop built in right out of the box.  Simply click the small button in the lower right hand corner.