SQL SERVER – Installation Failure Database engine services failed.

Sometimes when we install SQL Server or Add any new SQL Server Instance on Windows Machine, we can see the database errors listed below.
To resolve these errors we are trying to repair existing installation or do something else.
If nothing happens then we are trying to install it completely from control panel, but it is not 100% sure that the fresh new installation will works. Some of the SQL Server links existing at system registry so we are not able to get it success.

Installation error list
Installation error
Installation error list
Installation error list

To resolve these registry things we can un-install all SQL server related things by theirs ID.

The ID we can get using “WMIC” command. So run this command on console:

WMIC PRODUCT Where "Caption like '%SQL%'" GET Caption, IdentifyingNumber
WMIC Result
WMIC Result

You will get a list of objects with their identifier.

Now un-install these all things one by one using below command:

msiexec /x {GUID}

i.e..

msiexec /x {ABB6AC00-F1D8-4EBF-8128-830D090B76C0}

 

I think after that restart the machine and try fresh installation, will works.

Missing Windows Authentication Feature IIS and Windows 10

If you have windows 10 Home or SL version when might be you are unable to see Windows Authentication under IIS options when installing.

To enable “Windows Authentication” either you need to upgrade the OS to Pro version or you can run this command to enable it.

C:\WINDOWS\system32>dism /online /norestart /add-package:%SystemRoot%\servicing\Packages\Microsoft-Windows-IIS-WebServer-AddOn-2-Package~31bf3856ad364e35~amd64~~10.0.17134.1.mum

The file name will be different based on windows updates. So please update if requires.

How to Backup MYSQL Databases

REM Export all databases names to file
mysql -h your-server-ip -u user-name -ppassword information_schema --skip-column-names --execute="SHOW DATABASES;" > databases.tmp
echo "Start!"
REM Look over database names

REM Outter loop to get table names

for /F %%A in (databases.tmp) do (
   echo "Exporting table Names for %%A"
   mysql -h your-server-ip -u user-name -ppassword %%A --skip-column-names --execute="SHOW TABLES;" >"%%A_tables.tmp"

   mkdir %%A


#### nested loop to create table name files per table
   for /F %%B in (%%A_tables.tmp) do (
   echo "Exporting data for %%B of %%A"
   mysqldump -h your-server-ip -u user-name -ppassword %%A %%B> "%%A\%%A_%%B.sql"
   )
)

del *.tmp

 

How to install Koha – A Library Software on Ubuntu

Step 1:
Execute the script by giving the following command:

#!/bin/bash

#export HTTP_PROXY_HOST=10.3.100.207
#export HTTP_PROXY_PORT=8080

wget -O- http://debian.koha-community.org/koha/gpg.asc | sudo apt-key add –
echo deb http://debian.koha-community.org/koha stable main | sudo tee /etc/apt/sources.list.d/koha.list

sudo apt-get update
sudo apt-get install libgd-perl
sudo apt-get upgrade
sudo apt-get install koha-common

Koha installation gives error related with apache2-mpm-itk issue.
The initial configuration makes necessary enable / disable of the modules and does the initial configurations.

Step 2:
Execute the script by giving the following command:
############### Initial Configuration ####################

sudo a2dismod mpm_event
sudo a2enmod mpm_prefork
sudo service apache2 restart
sudo apt-get install -f

Step 3:
Koha Server configuration
In this step, we need to edit network information like domain name and port numbers.

sudo gedit /etc/koha/koha-sites.conf

Here we have to change port number of Koha staff client to 8080.
Find following line in the file and make changes.

INTRAPORT=”8080″

Step 4:
Adding ports

We have assigned 8080 port for Koha staff client and 80 for OPAC.
Open following file and add new port.

sudo gedit /etc/apache2/ports.conf

Copy paste following line below Listen 80

Listen 8080

Restart Apache,

sudo service apache2 restart

Step 5:
Apache module enable is done her executing the script

sudo a2enmod rewrite
sudo a2enmod cgi
sudo service apache2 restart

Step 6:
Install MySQL server and create the koha database. Here we have named the database as Koha2018.
Keep the default settings for MySQL server and when it asks for password give it as Koha2018. When the process asks to change the root password press ‘n’ then keep on pressing ‘enter’ for default values.

sudo apt-get install mysql-server
sudo koha-create –create-db Koha2018
sudo mysql_secure_installation

Step 7:
Most of the versions of Koha (3.x, 16.05 to 17.11) are not compatible with this default MYSQL configuration.
To bypasss the problem you can edit the configuration file (certainly /etc/mysql/my.cnf or /etc/mysql/mysql.conf.d/mysqld.cnf) and force the SQL modes Koha supports:

[mysqld]
sql_mode=IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

After save the changes and restart mysql.

Step 8:
Finally enable the koha site by executing the script
sudo a2dissite 000-default
sudo a2enmod deflate
sudo a2ensite Koha2018
sudo service apache2 restart

Step 9:
KOHA Web Installation URL – Open the Koha staff using the link:
http://localhost:8080
This will show the login user name and the pass word

For credentials execute the script:

echo “Admin user name : koha_osslm”;
sudo xmlstarlet sel -t -v ‘yazgfs/config/pass’ /etc/koha/sites/Koha2018/koha-conf.xml
echo ” “;

Enjoy:
Browse to http://localhost:8080 – for admin login
Browse to http://localhost:80 – for OPAC login

Get last and current quarter in javascript

function getQuarter(id) {
var d = new Date();
var quarter = Math.floor((d.getMonth() / 3));

switch (id) {
case "Current":
var firstDate = new Date(d.getFullYear(), quarter * 3, 1);
var endDate = new Date(firstDate.getFullYear(), firstDate.getMonth() + 3, 0);
break;
case "Previous":
var firstDate = new Date(d.getFullYear(), quarter * 3 - 3, 1);
var endDate = new Date(firstDate.getFullYear(), firstDate.getMonth() + 3, 0);
break;
}
}

 

SQL Server 2016 Always Encrypted Timeout at IIS

Always Encrypted is a feature designed by the Microsoft in SQL Server 2016 to protect sensitive data, such as credit card numbers or national identification numbers (SSN). It allows clients to encrypt sensitive data inside client applications.

When you work with Always Encrypted in development environment, it will be works fine because it requires certificate keys, which will be already installed on Dev machine. But when you moved to production environment it will not work. The Certificate needs to install on that server to run the web application. Without it encryption will not work. You will get database timed out error or encryption error while run the application.

For example:
Execution Timeout Expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.

To resolve this error, you need to install the certificate on the server for specific user. After that you have to defined, selected user in application pool advanced properties. Which user you need to enabled the “Load user profile” property too under “Process Model”.

iis-load-user-profile

The provided anti-forgery token was meant for user “”, but the current user is “user@example.com”

While working with Asp.net MVC, I got HttpAntiForgeryException exception (The provided anti-forgery token was meant for user “”, but the current user is “user@example.com”) at login page. It happens when user login with valid credentials and re-directed to inner page ofr the application. At inner pages he press the browser back button and will show login page again. He entered the valid credentials again that time, this exception will generate and display on the browser.

To fix this exception: Need to add [OutputCache(NoStore=true, Duration = 0, VaryByParam= “None”)] line to your login get method.

[AllowAnonymous]
[HttpGet]
[OutputCache(NoStore=true, Duration = 0, VaryByParam= "None")]
public ActionResult Login(string returnUrl)
{
ViewBag.ReturnUrl = returnUrl;
return View();
}

How to fix apache drill startup error on windows-10

Apache Drill can be downloaded from here. It will works fine on windows 7 but it is giving error when you install it as embedded mode on Windows-10. Error is something like that after running the command:

sqlline.bat -u “jdbc:drill:zk=local”

Error during udf area creation [/C:/Users/<user>/drill/udf/registry] on file system [file:///] (state=,code=0)

After googling I found this is related to ownership and missing folder on users directory. To resolve it we need to manually create the folders and update the ownership of them. Below are the commands which we need to run before start.

mkdir “%userprofile%\drill”
mkdir “%userprofile%\drill\udf”
mkdir “%userprofile%\drill\udf\registry”
mkdir “%userprofile%\drill\udf\tmp”
mkdir “%userprofile%\drill\udf\staging”

takeown /R /F “%userprofile%\drill