PASS summit 2017

The PASS summit brings you three days of inspiring, jam-packed educational opportunities focused on the Microsoft Platform, professional connections, and new skills and know-how you can put to use immediately. Don’t forget to stop by the IDERA booth for your chance to win one of 3 apple watches!

What to expect this year at the summit:

  • More than 5,000 registrants from more than 2,000 companies
  • Representatives from 52 different countries
  • Over 200 technical sessions presented by industry experts from around the world including more advanced sessions than years before
  • 70+ hours networking with MVPs, experts and peers
  • Inspiring keynote speakers that include Rohan Kumar, Rimma Nehma, and Heather Ritchie,
  • An opportunity to connect, share and learn

Pass

How to purge Microsoft SQL email Items

Purge

There are times that housecleaning older mail in your database needs to be done.  A simple scheduled task can be done every month to purge what is no longer necessary.  SQL Server stores all mails and attachments in msdb database. To avoid unnecessary growth of msdb database you should remove these mail history unless it is required for auditing or other purposes.

As always make sure you have your backups done prior to running any sort of removal in the event you did something incorrectly.  By purging you are reducing the amount of wasted space in the msdb database that could be used for other things activities.

Simply running the following statement using T-SQL you can check the amount of database mails that have been processed from the catalog msdb.dbo.sysmail_allitems.   There are 3 additional  views which shows mails in their different statuses:  sysmail_faileditemssysmail_unsentitems and sysmail_sentitems.

 

SELECT  COUNT(*)  FROM  msdb.dbo.sysmail_allitems

You should get back the count of how many mail items are stored in the msdb.

How to delete mail

To delete mail items you can use system stored procedure sysmail_delete_mailitems_sp, it has below syntax:

sysmail_delete_mailitems_sp [@sent_before] [@sent_status]

You can delete mail using either of the parameters, @sent_before deletes all mail that were sent before specified date, and @sent_status deletes all mails with specified status.

For example, to delete all mails which are sent and are older than current month we can use:

EXEC  msdb.dbo.sysmail_delete_mailitems_sp

@sent_before = ‘2017-05-10 00:00:00’,

@sent_status = ‘sent’

You can modify the @sent_before to do the following:

DECLARE @PurgeDate datetime = dateadd(dd,-30,getdate());  

@PurgeDate will be the date from 30 days or older which is a good idea to remove that or you can change it to
-10 for anything older than 10 days.

So the statement would be

EXEC  msdb.dbo.sysmail_delete_mailitems_sp @sent_before=@PurgeDate;

You may choose to only delete mail items that have been successfully sent.  If that is the case then you can run the following code to delete your database mail based on the sent­_status of “sent”.

If you are not periodically deleting your mail then you might want to consider cleaning up old database mail that no longer has value.  Determine what retention period you should use for your database mail.  With your established retention period then just set up a SQL Agent job to purge your database mail based on your retention period.

Idera – Free Tool – PowerShell Scripts for SQL Server

Idera

Idera is offering a free tool of Powershell scripts for Microsoft SQL server.  You can simply your SQL Server Administration with 89 free Powershell scripts by simply providing some information and it is an amazing assortment of scripts.  The scripts will allow you to work on your server providing you with some outstanding quick pieces that will enhance what you do on a daily basis.

  • 89 example scripts for managing SQL Server objects
  • Initialize PowerShell SQLPS module and work with databases
  • Scripts for Analysis, Integration, and Reporting services
  • Experimental support for SQL Server 2016
  • New scripts for exploring In-Memory databases and query store features

Powershell script break down

Database Engine

  • Connect to a server instance, manage databases and publish scripts
  • Work with policies and SQL Server logs
  • Manage security and backups
  • Create and manage SQL Server jobs
  • Get extended event information

Analysis Services

  • Connect to an Analysis Services instance
  • Get connection information
  • Get a list of databases
  • Backup databases and remove old backups
  • Restore a database

Integration Services

  • Start and stop services
  • Get package information
  • Provision a catalog
  • Publish a project
  • Modify catalog settings

Reporting Services

  • Start or stop services
  • Get instance information
  • Backup and restore encryption keys
  • Get configuration information
  • Get event log information

***NEW Scripts***
In-Memory Databases (SQL2014 and SQL2016)

  • Get overall utilization
  • Get size on disk
  • Get detailed utilization by table
  • Get checkpoint size

Query Plan (SQL2016)

  • Set Query Plan desired state
  • Set Query Plan data retention maximum size
  • Get Query Plan information
  • Get Query Store status

 

New Build 4 Now Available for Version 2.26 of ElevateDB from Elevate Software

ElevateDB

Elevate Software is  pleased to announce that build 4 for version 2.26 of ElevateDB is now available. The software release provides the following:

  1. Altering a Table in a Database with Dependent Views Can Result in a Table Checksum Mismatch
  2. COMPARE DATABASE Generating Incorrect Statement Terminators for ALTER Statements

If you own the subscription model or are looking for a database manager that works with Delphi this is the package to go with.

ElevateDB is licensed per-developer, and includes royalty-free distribution. License management isn’t required at all, and the money that you used to pay to the database engine vendor is now your profit to keep.

What does ElevateDB do ?

You don’t need to use a feature-crippled “free” product in order to avoid licensing fees anymore. With Elevate Software, you are backed by a company that has over a decade of experience in highly-distributed and pre-packaged database application software.

ElevateDB is designed to be included in a pre-packaged database application and can be installed very quickly and easily. The ElevateDB Server is a single EXE (~2MB), only requires a single INI text file for configuration, and can be run as an application or Windows service. Source code to the ElevateDB Server is included with every purchase, so it can be customized and re-branded, if necessary. The ElevateDB client-side code can be compiled directly into Delphi, C++Builder, and Lazarus applications, and consists of a single assembly (~2MB) for .Net applications. ElevateDB client code can also transparently switch between local, single-user and client/server, multi-user usage.

ElevateDB automatically creates all necessary files when they are needed. For example, you can distribute a single database catalog file with your application, and ElevateDB will automatically create the the table files as they are opened by sessions. In addition, ElevateDB provides reverse-engineering facilities that allow you to easily create creation and upgrade SQL scripts that can be run during installation to transparently create any necessary system or database objects.

Once installed, ElevateDB is not fragile and cannot be made inoperable by another application’s installation process. Many database engines are extremely sensitive to configuration changes and require constant attention by an administrator.

Coding Boot Camps should they go or be used ?

Boot Camp

Within the past week, two well-known and well-established coding bootcamps have announced they’ll be closing their doors: Dev Bootcamp, owned by Kaplan Inc., and The Iron Yard, owned by the Apollo Education Group (parent company of the University of Phoenix).  Not the most strongest places to learn how to code but some industry observers have suggested that the market may be merging in the coming months.

It appears that there are simply more coding bootcamps – almost 100 across the US and Canada – than there are students looking to learn to code.   Remember these courses are geared for a quick turnaround in studying and learning how to program.  I never mentioned that these were gifted academic schools since on average they are charging $11,000 for a 12 weeks of intensive training in a programming language or framework.

College or Bust ?

Does a person who goes thru this actually know the basics, sure but can they develop software that could possibly be used by millions, most likely not.  They stand a chance of getting a low entry level position at a software house.  They could have simply saved the money, learn the piece they needed from the vast amount of knowledge on the internet, or webinars.  Writing software is an art form as well as a love fest.  There are times a software developer will stay up long hours going over code to make it better.

In December of last year, Bloomberg published a warning to prospective students: “Want a Job in Silicon Valley? Keep Away From Coding Schools.”

The article contended that many companies have found coding bootcamp grads unprepared for technical work.   A tech recruiter told the publication. “My clients are looking for a solid CS degree from a reputable university or relevant work experience.” Google’s director of education echoed this sentiment: “Our experience has found that most graduates from these programs are not quite prepared for software engineering roles at Google without additional training or previous programming roles in the industry.”

A simple approach to software development

Development

Setting up your software development for a new application there are quite a few set of software developers that tend to jump on their machine and begin coding.  I would strongly suggest that an application which could be successful needs to start from thought to paper (even electronic) before any new code is typed.

Now as some suggest creating designs or layouts are the best method for them and sometimes that does make sense.  Creating a sketch board  or laying out the screen design is a simple way to visually see what you want to achieve.

Here are the steps that you can use when you are preparing to create a new application.

Sitting at a table or desk
Using white boards do help when you plan to get your thought on to the board for the initial start of the project.  You can quickly put down what your clients (consumers) wish to have or to fulfill their needs.  Simple step is to list all of the pieces in bullet point what you think the client is expecting from your application.

Always remember that developers can write a great application that nobody wants.

Flowcharts
Yes this is one of computer 101 concepts that no software developer wishes to use any longer but if you set up a general flowchart it will show you things you did not think of.

Screen Design
Screen layouts are extremely important, it gives the visual aspect on what the application will look like.  The best thing is that it could be done on paper without using a computer.  Sure it looks like stick men but it does show the layout that you think clients will be happy with.

Data Model
This is essential if you plan on having some sort of database manager that will capture the information entered with your application.  A proper data model will show exactly what you think each table and record size will be.  The database manager is another piece where you must either sell to the client on a robust database or a small foot print.

Know your customer
Sitting with your clients or consumers or customers, you need to understand the business.  You may not be a retail sales guru but you have to understand what the client wants and possibly increase business.  This does not mean as a software developer you need to allow the client overrun the project where your team gets the blame for it falling apart but you have to understand how the client starts and ends the day.

Team work
The biggest and one of the most difficult piece is to have the presentation in front of the software team.  You must be prepared to accept criticism from your peers.  They may see something you did not see or whether there is a market for your application.

Starting a new application for a market can be either a hard task or you can set up a plan that will get you to the end line quickly and successfully.

IDERA, Inc. Acquires Sencha to Strengthen Developer Tools Business

Idera

IDERA, Inc., the leading provider of database, development, and test management tools, today announced an agreement to acquire Sencha, a leading web application development platform. Sencha will be integrated with Embarcadero, IDERA, Inc.’s developer tools division.

The press release can be view at BusinessWire about this purchase in detail.  Now the question is what will happen with moving this product into the Embarcadero Developer product line ?   How does this affect the Rad Studio products that deal with the enterprise ?

Sencha provides software tools to build web applications across desktops, tablets and smartphones.  How will this work with FireMonkey is the real question.  The pricing structure for Sencha is extremely high for up to 5 developers.

Atanas Popov has been quoted “Sencha matches our mission to deliver agile development tools to our growing global community of developers,” said Atanas Popov, General Manager of Embarcadero. “It broadens the languages we support by adding JavaScript, and delivers broad synergies with our existing product portfolio. For example, Sencha Ext JS will provide a powerful Web Framework for Embarcadero’s RAD Studio to complement our native frameworks, including VCL for Windows and FMX for Mobile.”

Embarcadero has recently added CData support tools to allow access for VCL and FMX applications to use. So the idea of allowing Ext JS to have a IDE plug-in is not far off since it does have Visual Studio support.  What does this mean for other software products such as Elevate Software Web Development, no one knows.  This is a pretty major step so now let’s see what happens in the near future.  Based on Idera’s track record this will be a long term project to get all members on the same page.

 

SNES Classic Pre-Orders Sell-Out Overnight, More Expected Today

Amazon, Walmart Sold-Out, GameStop, Target, Toys R Us, Best Buy soon

SNES

Nintendo’s official page for its upcoming Super NES Classic Edition retro console now lists a half-dozen stores where customers can pre-order the console. But at least two of those stores appear to have already sold out of their initial stock.  The pre-orders went live with Amazon and Best Buy’s selling out in less than 30 minutes.

The remaining stores  – GameStop, Walmart, Target and Toys R Us – have yet to list their pre-orders. So if you’re looking to grab one of these likely hard-to-find consoles, it’s probably a good idea to start camping those online stores right now. We’ll update this post when we see the pre-orders go live on the sites, so feel free to camp out here as well.

The SNES Classic Edition ships Sept. 29. The system is pre-loaded with 21 games and will cost $79.99. It ships with two wired controllers, an HDMI cable, USB charging cable and AC adapter. Among the many classic titles included is one that has never been released before: Star Fox 2.

SNES Classic Edition

The SNES Classic Edition retro console that goes on sale later this year will include a rewind feature. The rewind feature will allow players to rewind their gameplay to retry sections, pick up missed items or just run through an area again to see if they missed anything, according to the company.

The rewind time depends on the kind of game: Players can go back a few minutes in role-playing games such as Super Mario RPG: Legend of the Seven Stars, while action titles such as Super Mario World offer around 40 seconds, ideal for re-trying short segments of gameplay. The system also comes with optional frames that can be wrapped around the on-screen display for each game.

Major issue at the moment is the wait time to September 29th.  Pre-orders haven’t gone live yet so there may be the similar type of lines to purchase the console.

The official Nintendo page for the Super NES Classic Edition no longer lists stores where the console is available for pre-order. It looks like that may have gone live a bit too early today. Stay-tuned for more updates.

How to handle Open Source Software and Security.

Open source has always left so many questions unanswered on whether your comfort level for software security is high or you have sleepless nights.

The keys for open source have the following open questions, can someone else view the source and modify it  or do you rely on internal software developers fix the security flaws.   Open source is mostly freely written software by developers who love to write software code and do not mind submitting their projects for all to use.

When using open source, the internal developers need to test the piece out and whether it can be used in the production systems.  It is up to the developer to test the code on a machine that can be safely removed from production.  After the testing / QA phase the software can then be released into production.

The one key piece of the above paragraph is that the word testing is involved.  There are quite a few developers that tend to think they can incorporate their code as well as open source into a production system without even testing it.  Those are the companies that tend to write terrible, buggy nonsense and could open up lawsuits due to the damages incurred by their clients.

 

 

How do I secure the Open Source code that i download ?

Download only from a trusted source.  You should be able to grab code from GitHub or a download center that you can trust but if you think you can download a piece of code from any FTP or WEB server, you open up the door for anything to happen.  As described in the terminator, you are the virus.

You have the option to insert or update the open source when a patch / upgrade is released.  That is one way but if you think about it, you have the internal developer who should be able to update the code themselves otherwise what is the point you might as well hire the open source developer.

 

Maintain security on your software by simply locking down the production release and update only when you have QA/test the application in a test environment.  You need to make sure that your internal developer understands the legal aspect as well when using the open source in a commercial product.

So using open source is not bad but you need to make sure you read the code and any document associated whether you have the legal right to use it in a major distribution.

 

Creating a Disaster Recovery Plan for your database (SQL)

Idera

 

Idera recently had a fantastic webinar that went over the creation of a disaster recovery plan concerning your databases.  This should be a high critical piece of work usually done by DBAs within a company.  Let’s go over a simple set of plans that depending on the type of company you are dealing with, can be done either large or small.

  1. Backups.  All backups should be done with incremental or full backups of your database.  There should be a protected network folder that contains the incremental in one and the full backups (usually done once a week) in a separate folder.  An incremental is a backup that contains only a snapshot of transactions that are done during a day while a full backup contains the entire database.
  2. Data model.  A data model provides a visual as well as a detailed layout of each database / table that provides a method for someone to read and understand how the data is stored.  It can be noted as a roadmap that contains the relationships between the tables within the database as well as the keys / indexes that work with the tables.
  3. User security profiles.  Each DBA should have a listing of the usernames / passwords in a safe area.  In the event a fellow member leaves but they had the password on a specific database you now possibly have the way in.  There are numerous companies that tend to not have that and during the exit interviews it becomes lost.
  4. Contact listing of people.  The contact list contains the individuals that have to be notified if a database is corrupted and has to be repaired or restored from the backups.  You can set the priority of each person as well.
  5. Checklist. By having a checklist of what to do in the event of a DRP it will keep you focus on getting everything back up and running.  One missed step could push you back thus delaying the recovery.
  6. Backup life cycles.  Each company is different and whether the backups are taken off site for now long and when are they removed / erased.  You have to plan this out and the usually lifecycle is between 3 months to a year.

These are only minor steps but at least they do enforce a DRP that any DBA needs to have in place prior to the disaster happening.