Interview Questions: SQL Server DBA

 Questions

  1. Explain SQL Server Failover Clustering?
  2. How do we check index Fragmentation?
  3. TSQL syntax for Index rebuild and reorg. Difference between the two. How users are effected?
  4. How do we rebuild large indexes? Continue reading “Interview Questions: SQL Server DBA”

Automatically Rebuild or Reorg index based on fragmentation

The Attached SQL Query can be safely used for rebuilding or reorganizing all indexes in a particular database based on the fragmentation level.

Note: The script is currently set to perform offline index rebuild since online index rebuild is supported only in Enterprise edition SQL Server. Inorder to change it into online mode, add , ONLINE = ON statement along with

in line 100 in the attached script.

3203_AutoIndexRebuild2005andAbove (Click to download the script)

Continue reading “Automatically Rebuild or Reorg index based on fragmentation”

Executing CHECKDB on all user databases via TSQL

Run below Query. And once the query executes completely, go through the SQL Server Error log to see the results.

Read and filter SQL server error logs using TSQL

Command:

Parameter 1: To specify the errorlog number. Starts from 0. 0 = current, 1 = Archive #1, 2 = Archive #2

Parameter 2: Log file type. 1 or NULL for Error log and 2 for SQL Agent Log

Parameter 3: Search string

Parameter 4: Second search string further refine your search. Continue reading “Read and filter SQL server error logs using TSQL”

Check SQL Authentication Login Account Password

Did you come across any situation where you wanted to make sure that the password you set for a SQL account is what you really wanted? Below is how you can validate the password for a particular account. With this methord, you can find out the forgotten password for a SQL account without causing any audit failures and by not changing any security settings.

SELECT name FROM sys.syslogins WHERE pwdcompare ('SomePasswordWhichYouKnow',password) =1

When you run the above query, you will get the list of accounts which has password set as SomePasswordWhichYouKnow.

This way, you can figure out what password was set while creating an account (SQL authentication account)

Error while executing a sql job “The EXECUTE permission was denied on the object ‘sp_start_job’,database ‘msdb’,schema’dbo’.

SOLUTION:

1) Go to MSDB– Security –Users — UserName — User Name Properties — Assigned the ‘TargetServerRole’ in msdb

2)     Run the query

select pr.name, dp.permission_name, dp.state_desc

 from   msdb.sys.database_permissions dp

 join   msdb.sys.objects o on dp.major_id = o.object_id

 join   msdb.sys.database_principals pr

 on dp.grantee_principal_id = pr.principal_id

 where  o.name = ‘sp_start_job’

 

3)     Grant  Execute permission to concern user to SP_Start_Job and SP_Stop_Job and it resolved the issue.

Unable to install Windows Installer MSP fileExit Code Returned: 11032

SYMPTOM

Service Pack 4 for SQL Server Database Services 2005 ENU (KB2463332)’ could not be installed.

ERROR

  • ————————————————————————————————

Product                   : Database Services (MSSQLSERVER)
Product Version (Previous): 2221
Product Version (Final)   :
Status                    : Failure
Log File                  : C:\Program Files\Microsoft SQL Server\90\Setup Bootstrap\LOG\Hotfix\SQL9_Hotfix_KB955706_sqlrun_sql.msp.log
Error Number              : 11032
Error Description         : Unable to install Windows Installer MSP file. fileExit Code Returned: 11032.
————————————————————————————————

SOLUTION:

1)     Go to the location.


Continue reading “Unable to install Windows Installer MSP fileExit Code Returned: 11032”

Question: Green arrow missing in Object Explorer Window in SSMS

Question

After connecting to SQL Server using SQL Server Management Studio, I am not able to see the green play arrow on the SQL Server DB icon before the instance name. It just shows white circle.

Resolution

Make sure that the Windows account with which you opened SQL Server Management studio have got admin privilege on the operating system and can retrieve service running status.

In Windows 2008, Even if your account has admin privilege on the OS, you need to run SSMS (for SQL Server 2008) and sqlwb (SQL Server 2005) from command prompt opened with “Run as Administrator”.

Tip: Adding Shared Disk to build a Failover Cluster inside VMware

If you wanna add a shared disk to the two nodes of a cluster to be built inside a VMware, Follow below steps.

  1. If your VMware is pretty Old, Then shutdown both the virtual machines to be configured as cluster.
  2. Then from inside VMware virtual center, right click one of the virtual machine and select ‘edit settings’.
  3. Create one SCSI control with sharing allowed among multiple virtual machines.
  4. Now click on Add and select Hard Disk.
  5. Select to create new virtual disk, provide required size, thin provisioning unchecked and to store with the virtual machine. And in advanced section, select the value for Virtual node (1:x, where 1:0 was selected as virtual node in step 3 and the x can have any value which is unoccupied. Since this SCSI control was newly created, all the nodes will be vacant. So here x can have any value between 0 and 15). Complete the wizard and now you have disk created and mapped to one virtual machine.
  6. Right click the same virtual machine once again and choose ‘edit settings’. And then click on the Hard Disk we just added. Now in a box at the right top corner, you will get the disk file location and name.
  7. Next use the tool putty (Let me know if you would like to know what putty is) and connect with the ESX host where the two virtual machines are located and also the disk we created in step 5 will be located.
  8. Using basic linux commands, navigate and find the Disk file and run below command to make the Disk file Zeroed (All bits on that disk are reset in this process).
    • vmkfstools -w /filepath/filename.vmdk

    , Continue reading…

Tip: SQL Server Single user mode in Windows 2008 Cluster

At first I thought starting SQL Server in Single user mode is easy in Windows 2008 fail-over cluster. But I was wrong, If I just add ‘;-m’ in start-up parameter and starts it, the SQL server will start in single user mode via cluster. But we wont be able to log in. The cluster service logs in before us. And so we might see an error like below.

Login failed for user ‘Domain\user’. Reason: Server is in single user mode. Only one administrator can connect at this time. [CLIENT: xx.xx.xx.xx]

Now what do we do? Below is how I overcame this problem.


Continue reading…