Surendra Sharma

Surendra Sharma

Search This Blog

Friday, November 4, 2016

Run SQL scripts from DOS batch file



This post is regarding executing SQL scripts from DOS batch file by using sqlcmd.

sqlcmd with batch script
sqlcmd with batch script


When you want to setup new environment, you might need to run lots of database scripts manually. But fortunately we can avoid this manual step by using sqlcmd command line utility with the help of DOS batch file. 

Create folders and keep SQL scripts inside those folders and sub folders as

Scripts in Folder
Scripts in Folder


Tip: - You should keep your script name start with number so that they will run in same order.

Below is a sample script which execute all scripts inside folders and its sub folders

@ECHO OFF
SET SQLLOG=%~dp0sql_log.txt
SET SQLSERVER=.\SQLEXPRESS
ECHO. Starting Script, Server: %SQLSERVER%, logging to : %SQLLOG%
ECHO.

CALL:runsql "1 Create Databases"
CALL:runsql "2 Create Schema"
CALL:runsql "3 Data\1 Insert"
CALL:runsql "3 Data\2 Insert"

EXIT /B %ERRORLEVEL%

::Function to run SQL script files in a Directory
:runsql
echo.
echo. Executing Scripts in Directory:
echo. %~1
echo.
PUSHD %~1
for %%G in (*.sql) do echo. sqlcmd -S"%SQLSERVER%" -E -e -i"%%G"
for %%G in (*.sql) do echo. sqlcmd -S"%SQLSERVER%" -E -e -i"%%G"
"%SQLLOG%"
for %%G in (*.sql) do sqlcmd -S"%SQLSERVER%" -E -e -i"%%G" >> "%SQLLOG%"
POPD


In current script, I am using below options
-S [protocol:]server[instance_name][,port]
-e (echo input)
-E (use trusted connection)
-i input_file

Pushd command and popd command in a batch program is used to change the current directory from the one in which the batch program was run and then change it back.

Note: - Your SQL server should be in mixed mode.

You can refer link to know more about sqlcmd command and its various available options at https://msdn.microsoft.com/en-us/library/ms162773.aspx

This batch file also log all SQL command that it run in “sql_log.txt” file.

After running this script, I am able create database, tables and insert some records in those tables as

Final DB
Final DB


I hope you like this SQL batch trick. Stay tuned for more articles.

Please leave your comments or share this article if it’s useful for you.

Tuesday, November 1, 2016

How to audit Sitecore project quickly



It’s always a challenge for Architects to audit the Sitecore based projects.

Sitecore Audit
Sitecore Audit


One should always follow best practices described by Sitecore. But still there are many occasion where development team itself can self-audit their project especillay on CM, CD and production environment.

Team can use great tool Sitecore Diagnostic Toolset for this audit purpose.

You can download this tool from Sitecore Marketplace.

Steps to run this tool

Double click on downloaded tool

Welcome screen
Welcome screen


Select your Sitecore instance

Select Sitecore instance
Select Sitecore instance


Run against Environment like CM, CD etc.

Select environment
Select environment


Click on generated link to view the report

Report Link
Report Link


Check generated HTML Report for errors.

Generated report
Generated report



One should focus on errors and warnings in this reports.

That’s it. Simple and straight forward solution. 

I hope you like this Sitecore lesson. Stay tuned for more Sitecore related articles.

Till that happy sitecoring :)

Please leave your comments or share this article if it’s useful for you.