Monday, July 28, 2014

T-SQL Set Recovery Mode to Simple and Truncate Log Files

I used this script to change the current recovery mode on a SQL server to simple from full recovery.

For new databases, update the system database named 'model' as this is the database template used for all new databases. Setting the recovery mode to simple on this database wi


USE master
GO
set ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
DECLARE @DbNames TABLE (
rowNum int identity (1,1),
dbname sysname NOT NULL )
INSERT INTO @DbNames
SELECT name
FROM sys.databases
WHERE state=0 AND user_access=0 and has_dbaccess(name) = 1
ORDER BY [name]
DECLARE @EndCount int;
SELECT @EndCount = count(*) FROM @DbNames
DECLARE @RowCounter int;
SELECT @RowCounter = 1;
DECLARE @DbName varchar(155);
DECLARE @sql varchar(2000);
WHILE (@RowCounter <= @EndCount)
BEGIN
SELECT @DbName = dbname FROM @DbNames WHERE @RowCounter = rowNum;
SELECT @sql1 = 'ALTER DATABASE ['+@DbName+'] SET RECOVERY SIMPLE'
SELECT @sql2 = 'USE ['+@DbName+']; DBCC SHRINKFILE(N'''+@DbName+'_log'', 1)'
EXEC (@sql1)
EXEC (@sql2)
SELECT @RowCounter = @RowCounter + 1
END

Saturday, May 10, 2014

One of the hottest issues in web developer circles this year is accessibility of websites on various devices other than the standard desktop or laptop screens. While the subject is not new, it has taken on a relatively new approach with respect to how to deal with the opportunities ahead.
With mobile devices, tablets, and similar gadgets gaining ground faster than most can keep up, it behooves organizational stakeholders to address the issues encompassing user interactions and acceptance of their websites on the latest diminutive gizmos. Oh, and don't forget other devices acquiring web-enabled screens such as refrigerators, washing machines and other everyday appliances.

Users who access your websites through their mobile devices or other display screens really do not care what method you use, just as long as that they can effectively navigate your website on whatever device they happen to be using. For that reason, the two methods described in this article have been devised for web developers to meet the challenge, and while responsive (RWD) and adaptive (AWD) design methods are both addressing the issue for rendering websites on mobile devices, there are subtle differences between them that I will attempt to explain.

RWD


The distilled definition of a responsive web design is that it will fluidly change and respond to fit any screen or device size.

AWD

The phrase Adaptive Web Design was coined by Aaron Gustafson, who wrote the book of the same title. It essentially utilizes many of the components of progressive enhancement (PE) as a way to define the set of design methods that focus on the user and not the browser. Using a predefined set of layout sizes based on device screen size along with CSS and JavaScript, the AWD approach adapts to the detected device. A recent post, "Understanding progressive enhancement techniques in web design" described the layers that make up the adaptive approach.
The three layers of Progressive Enhancement:
  • Content layer = rich semantic HTML markup
  • Presentation layer = CSS and styling
  • Client-side scripting layer = JavaScript or jQuery behaviors
In a recent podcast interview, Aaron describes how the term was selected; he wanted to disambiguate his book from the Filament Group's book, "Designing with Progressive Enhancement". Aaron goes on to mention in the podcast:
"So, we were trying to think of, you know, what exactly does all of this stuff really mean, and it was about creating rich, adaptable experiences that tailor themselves to the particular device that you were working with. So, the way that I view progressive enhancement is very much analogous to adaptive web design. It's essentially the same concept."
The condensed definition of an adaptive design is that it will change to fit a predetermined set of screen and device sizes.

Comparisons and distinctions

The biggest similarity between the two methods is that they both allow websites to be viewed in mobile devices and various screen sizes, ultimately providing visitors with a better mobile user experience. Where the two methods differ is in their delivery of the responsive/adaptive structures: RWD relying on flexible and fluid grids, and AWD relying on predefined screen sizes. One of the main distinctions between the two is that RWD might take more code and implementation strategies with the fluid grids, CSS, and flexible foundations, while AWD has a streamlined, layered approach, which utilizes scripting to assist with adapting to various devices and screen sizes.
Some would argue that the terms used invite confusion, in particular, responsive, and might not accurately reflect what is actually occurring when a website changes its design according to the particular mobile device being used. Paul Gordon argues this point in his blog post, "Adaptive or Responsive Design."
If you are interested in reviewing live examples of known web sites that utilize the methods described in this piece, check out this list of 70 Examples of Modern Responsive Web Design from Splashnology Web Design and Development (both AWD and RWD are represented).
One of the websites on the list includes Abberdein, which utilizes RWD in its WordPress Whiteboard framework, and includes several  features in the code such as div column widths set as a percentage (%). It also utilizes the Less Framework CSS grid system, which  contains four layouts and three sets of typography presets, all based on a single grid.
An example of a website that utilizes AWD would be the Screaming Frog, a search engine marketing agency, which utilizes @media query  and @media screen properties in its CSS to set breakpoints at set pixel widths depending on the device recognized in the browser window.

Wednesday, March 19, 2014

Review Timer Job Definition - "Object Reference not set to an instance of an object"

Hi All,

Recently had a problem in SharePoint 2013 after rebuilding the Search service application. The timer job for 'CreateStoreRebalancerJobDefinition' had broken and was causing the Review Timer Job page to error with "Object Reference not set to an instance of an object" error.

The resolution was from:

  • Get-SPTimerJob | out-file –filepath “c:\timerjobs.txt”
  • http://myserver:55555/_admin/ServiceJobDefinitions.aspx – Does not display
  • Get-SPTimerJob | where {$_.displayname -like “”} | fl | out-file –filepath “c:\timerjobs.txt”
    (Creates the txt file with the jobs that do not work)
  • Get-SPTimerJob | where { $_.name -like “*job name” } |ft id,name
    (Not really needed, as text file above will display thiws, simply copy/paste into line below the job id number.)
  • $job = Get-SPTimerJob -id putidenumberhere
  • $job.Delete()
  • Pretty swift, fixed the issue.

  • Source: http://social.technet.microsoft.com/Forums/en-US/266b6e78-4d4d-4f40-8db2-f42f5da4d3ed/review-timer-job-definition-page-errror-object-reference-not-set-to-an-instance-of-an-object?forum=sharepointadminprevious