Home » Posts tagged 'SQL Server'

Tag Archives: SQL Server

Step By Step Installation of SQL Server 2019 with all features

[MSSQLFUN & Decode ITeS becomes a family of 1500 individuals across the globe. Please join us on
Facebook 
& YouTube.]

Today, I will take you to step by step installation of SQL Server 2019 with all features.

You can go through my previous post for downloading Download SQL Server Developer / Evaluation / Express Editions, YouTube Link.

Step 1: Locate Setup.exe and run it as Administrator.

Step 2: Setup will open SQL Server 2019 installation Center

Step 3: Go to Installation option and click “New SQL Server stand-alone installation or add features to an existing installation”

Step 4: Select free edition you like to install. The single setup gives you the option of Evaluation \ Developer \ Express edition to install. As discussed in my previous blog Understand SQL Server Editions and Components (YouTube), SQL Server Developer / Evaluation / Express is free to use editions with fewer limitations and restrictions.

Step 5: Accept EULA (End User License Agreement)

Step 6: Setup will perform some rule check before proceeding. In case of any issues, It will stop and ask you to rectify it.

Step 7: Microsoft gives you the option of automatic update of SQL Server with the latest security and other important updates along with windows. I suggest skipping it because it’s not recommended for Production systems and requires the internet which is very rare for servers due to security concerns.

Step 8: In case you accept for Microsoft Update in the previous step and system has internet connectivity, Setup will check available SQL Server upgrades. Setup will download those upgrades (SP, CU) and install them with SQL Setup installation. This will save you the time of separate installation. You try this on the local system and again as mentioned above, not recommended for production systems.

Step 9: Setup will install some installation files before to begin the actual installation

Step 10: Setup will run installation rules \ checks. In case of any issues, it will stop and ask you to rectify it.

Step 11: Feature Selection. In the current window, You can select the features you like to install. For the demo, We will install all versions. These windows will also show the space requirement for setup installation based on features selected. Also, you can change the installation and shared feature directory as per your requirements.

Step 12: Based on the selected features, Setup will run a rule checker.

Step 13: SQL instance name. SQL gives you the option of default or named SQL Server instance. Once the system can have only one default instance and multiple names instance. We will install the named instance today. This window will also review your system and display any previously installed SQL Server instances on your system.

Step 14: PolyBase Configuration, You can leave it as it is and move to next.

Step 15: Select features need JAVA, You can allow setup to install JAVA or mentioned Java path in the case already installed.

Step 16: Server Configuration – Service Account Window.

  1. You can change the service account of any services and start-up type
  2. As per your requirement, Select “Grant Perform Volume Maintenance Task to SQL Service Account”. In Case of service, the account is part of the local admin group this will by default assigned else recommended to provide it.

Step 17: Server Configuration – Collation Window. SQL Server selects collation based on default language and location of the system, you can change it as per your requirements. I suggest not to change it without testing and confirmation. This will decide how SQL Server will deal with tests. Case sensitive or case insensitive means upper caps & small caps will be treated equally or differently OR Data will be sorted in ascending order or descending order.

Step 18: Database Engine Configuration – Server Configuration.

  1. Select authentication mode for your SQL Server instance. SQL Server support 2 authentication modes Windows Authentication and Mixed Mode Authentication. Understand SQL Server Authentication Types and Modes on Decode ITeS.
  2. Enter the SA account password. Choose a strong password.
  3. Select windows account that you want to have sysadmin right

Step 19: Database Engine Configuration – Data Directories You Change system \ user \ backup directory as per disk configured on the server

Step 20: Database Engine Configuration – TempDB. TempDB is crucial for database performance. Microsoft adds the option to configure TempDB as per best practices or as per your requirements with the installation. This will ease up the DBA task after server installation.

Step 21: Database Engine Configuration – MaxDOP. I will suggest to leave it on default value and change it after proper DBA recommendation and application testing.

Step 22: Database Engine Configuration – Memory Configuration. Enter min and max server memory and accept ti use recommended values instead of default one. Same as above, Please configure it after DBA review and recommendation.

Step 23: Database Engine Configuration – Filestream. You can enable filestream in case required else leave it as it is.

Step 24: Analysis Services Configuration. Do not forget to add the user for admin privileges on SSAS.

Step 25: Integration Services – Master Mode, Leve on default no changes. Change only after proper testing and DBA review.

Step 26: Integration Services – Worker Mode, Leve on default no changes. Change only after proper testing and DBA review.

Step 27: Distributed Replay Controller – Add admin account

Step 28: Distributed Replay Controller – Mention Controller Name

Step 29: Accept R Services.

Step 30: Accept Python installation

Step 31: Rule checker based on feature configuration

Step 32: Setup is ready to install, You can review configuration in the current window. Click next to start the installation.

Step 33: Installation is completed.

Step 34: You can review setup installation logs and services installed.

SQL Server 2019 setup comes up with a long list of options. These are very helpful and tries to install setup with the most recommended and best practices configuration.

Reference: Rohit Garg (http://mssqlfun.com/)

You can find and follow MSSQLFUN:-

Subscribe YouTube Channel Decode ITES

http://www.facebook.com/mssqlfun

http://mssqlfun.com/feed

https://twitter.com/Rgarg86

Other Linked Profiles:-

http://social.msdn.microsoft.com/Profile/rohitgarg

https://www.linkedin.com/in/rohitgarg1986/

SQL Server Cluster LooksAlive and IsAlive Check

Windows Cluster Service use the “heartbeat” process to check whether each node is alive at both the OS level and SQL Server level. Heartbeat signals works on UDP.

Microsoft Windows Cluster service perform 2 health checks to perform node & resource availability check.

LooksAlive Health Check

1) LooksAlive is a quick lightweight health check

2) Run at interval of 5 Seconds

3) Does not impact performance but does not perform a thorough check

4) The check will succeed if the service appears to be running even though it might not be operational

5) If Fails calls “IsAlive” health check

6) Polling interval can be changed by adjusting LooksAlivePollInterval property of Cluster service

IsAlive Health Check

1) Run at interval of each 60 Second

2) Perform more detail check then LooksAlive

3) Run @@SERVERNAME to ensure that SQL Server is responding to queries

4) Does not ensure that all user databases are operational

5) Retired 5 times & then try to reconnect SQL Server

6) If all 5 retry fails, the SQL Server resource fails & Windows Cluster service will try to bring it online on other node as per configuration

7) Polling interval can be changed by adjusting IsAlivePollInterval property of Cluster service

Reference : Rohit Garg (http://mssqlfun.com/)

You can find and follow MSSQLFUN :-

http://www.facebook.com/mssqlfun

http://mssqlfun.com/feed

https://twitter.com/Rgarg86

Other Linked Profiles :-

http://www.sqlservercentral.com/blogs/mssqlfun/

http://social.msdn.microsoft.com/Profile/rohitgarg

http://www.toadworld.com/members/rohit-garg/blogs/default.aspx

http://beyondrelational.com/members/RohitGarg/default.aspx

Creation & Deletion of Database Snapshot by SQL Agent Job

Some days back, I received one query on my facebook page that user want to create Database Snapshot frequently & want to delete the oldest with same frequency. Quite interesting scenario. I did not go in deep why he has such requirement but I am clear that It can be done very easily.

So let’s do it. I have setup 2 scripts one for creation of snapshot & another is for deletion of snapshot. We can schedule a SQL agent jobs with 2 steps using these scripts.

Step 1 :-

DECLARE @CREATE_SS VARCHAR(MAX)

DECLARE @DT VARCHAR(100)

SET @DT = REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR,GETDATE(),120),’-‘,’_’),’ ‘,’_’),’:’,’_’)

SET @CREATE_SS =

‘CREATE DATABASE TEST_’+@DT+’ ON

( NAME = TEST, FILENAME =

”C:\TEST_’+@DT+’.SS” )

AS SNAPSHOT OF TEST’

EXEC (@CREATE_SS)

Step 2 :-

IF(SELECT COUNT(*) FROM SYS.DATABASES WHERE SOURCE_DATABASE_ID = DB_ID(‘TEST’))>1

BEGIN

DECLARE @DROP_SS VARCHAR(MAX)

DECLARE @SS_NAME VARCHAR(100)

SELECT TOP 1 @SS_NAME = NAME FROM SYS.DATABASES WHERE SOURCE_DATABASE_ID = DB_ID(‘TEST’)

ORDER BY CREATE_DATE ASC

SET @DROP_SS = ‘DROP DATABASE ‘+ @SS_NAME

EXEC (@DROP_SS)

END

Reference : Rohit Garg (http://mssqlfun.com/)

You can find and follow MSSQLFUN :-

http://www.facebook.com/mssqlfun

http://mssqlfun.com/feed

https://twitter.com/Rgarg86

Other Linked Profiles :-

http://www.sqlservercentral.com/blogs/mssqlfun/

http://social.msdn.microsoft.com/Profile/rohitgarg

http://www.toadworld.com/members/rohit-garg/blogs/default.aspx

http://beyondrelational.com/members/RohitGarg/default.aspx

ERROR || The query processor is unable to produce a plan because the index ‘IND_TABLE’ on table or view ‘Table’ is disabled.

Table with clustered index is totally depended on index accessibility.

ERROR : The query processor is unable to produce a plan because the index ‘IND_TABLE’ on table or view ‘Table’ is disabled.

REASON : We find that some disable the cluster index due to which issue occur. Clustered index physically sort & save data in pages. When clustered index is disable, DB engine is not able to access data although data is available with table.

SCREENSHOT :

Note :

· There is no option to ENABLE the Index. You have to REBUILD or DROP & RECREATE it.

· This is not the case with non-clustered index.

If you liked this post, do like on Facebook at http://www.facebook.com/mssqlfun

Reference : Rohit Garg(http://mssqlfun.com/)

DMV-15 : Pending I/O requests……..sys.dm_io_pending_io_requests

sys.dm_io_pending_io_requests DMV (Dynamic Management View), described by BOL as follows: http://msdn.microsoft.com/en-us/library/ms188762.aspx

Returns a row for each pending I/O request in SQL Server.

It’s a very simple DMV used to see all pending I/O requests & there description.

You can combine this DMV with DMF – sys.dm_io_virtual_file_stats to see I/O pending requests with database files. You should run this query multiple times to check if the same files or drive letters consistently coming up on the top. If this is the case that means you facing I/O bottlenecks for that file or drive letter.

Query 1 : Details of I/O pending requests against each DB file

SELECT

DB_NAME(MF.DATABASE_ID) AS [DATABASE],

MF.PHYSICAL_NAME,

IPIR.IO_TYPE,

SUM(IPIR.IO_PENDING) TOTAL_PENDING_IO,

SUM(IPIR.IO_PENDING_MS_TICKS) TOTAL_PENDING_MS_TICKS,

SUM(VFS.NUM_OF_READS) TOTAL_READS,

SUM(VFS.NUM_OF_WRITES) TOTAL_WRITES

FROM

SYS.DM_IO_PENDING_IO_REQUESTS AS IPIR

INNER JOIN

SYS.DM_IO_VIRTUAL_FILE_STATS(NULL,NULL) AS VFS

ON IPIR.IO_HANDLE = VFS.FILE_HANDLE

INNER JOIN

SYS.MASTER_FILES AS MF

ON VFS.DATABASE_ID = MF.DATABASE_ID

AND VFS.FILE_ID = MF.FILE_ID

GROUP BY MF.DATABASE_ID, MF.PHYSICAL_NAME, IPIR.IO_TYPE

ORDER BY SUM(IPIR.IO_PENDING)

Remarks

1. To use this DMV, User required VIEW SERVER STATE permission on the server.

If you liked this post, do like on Facebook at http://www.facebook.com/mssqlfun

Reference : Rohit Garg (http://mssqlfun.com/)

%d bloggers like this: