SQL Server Interview Questions and Answers
SQL Server Interview Questions and Answers
Supported platforms Windows and Linux Windows, Solaris, Linux, and Unix
in
To hide a SQL Server instance, we need to make a change in SQL Server Configuration Manager. To do this, we have to follow
s.
the below steps:
se
First, in SQL Server Configuration Manager, we have to expand ‘SQL Server Network Configuration’
Right-click on Protocols for <server instance> and select ‘Properties’
as
Once we do that, we will find a ‘HideInstance’ box in which, on the ‘Flags’ tab, we have to select ‘Yes’
After that, click on ‘OK’
cl
Note: While hiding a named instance, we need to provide the port number in the connection string so that even if the browser is
jit
Yes. we can add CPUs physically by adding new hardware, either logically by online hardware partitioning or virtually through a
.s
virtualization layer. Starting with its 2008 version, SQL Server supports CPU Hot Add. There are a few requirements to use CPU
w
Hot Add:
w
Once the CPU is added, we need to run RECONFIGURE, and then SQL Server recognizes the newly added CPU.
4. How can we check whether the port number is connecting or not on a Server DBA?
TELNET PORTNUMBER
TELNET PAXT3DEVSQL24 1433
TELNET PAXT3DEVSQL24 1434
Common Ports:
DAC (-A):
Emergency:
in
Slow operation: All pointers, being moved to/from the page/rows, have to be fixed and the SHRINKFILE operation is single-
threaded, so it can be really slow (the single-threaded nature of SHRINKFILE is not going to change any time soon)
s.
Recommendations:
se
First, use TRUNCATEONLY to shrink the file. It removes the inactive part of the log and then performs the shrink operation.
as
Rebuild/reorganize indexes once the shrink is done so that the fragmentation level is decreased.
cl
jit
7. What different steps will a SQL Server Developer take to secure SQL Server?
ya
Preferring NT authentication
at
9. Which are the third-party tools used in SQL Server and why would you use them?
Some of the third-party tools used in SQL Server are:
SQL Check (Idera): For monitoring server activities and memory levels
SQL Doc 2 (Redgate): For documenting databases
SQL Backup 5 (Redgate): For automating the backup process
SQL Prompt (Redgate): For providing IntelliSense for SQL Server 2005/2000
LiteSpeed 5.0 (Quest): For backup and restore processes
in
s.
se
as
cl
jit
ya
at
Hotfixes are software patches applied to live systems (the ones still running). A hotfix is a single, cumulative package that
w
includes one or more files used to address a problem in a software product (i.e., a software bug).
w
In the Microsoft SQL SERVER context, hotfixes are small patches designed to address specific issues, most commonly to
w
freshly-discovered security holes. For example, if a select query returns duplicate rows with aggregations, the result may be
wrong. This can be fixed by a hotfix.
11. Suppose, there is a trigger defined for INSERT operations on a table in an OLTP system. The trigger is
written to instantiate a COM object and passes the newly inserted rows to it for some custom processing.
What do you think of this implementation? Can this be implemented better?
Instantiating COM objects is a time-consuming process and since it is done within a trigger, it impedes the data insertion
process. The same is the case with sending emails from triggers. This rundown can be better implemented by logging all the
necessary data into a separate table and having a job that checks this table and does the needful.
12. Which key provides the strongest encryption in SQL Server DBA?
AES (256-bit).
If we choose a longer key, then encryption will be better. Hence, we need to choose longer keys for more encryption. However,
there is a larger performance penalty for longer keys. DES (Data Encryption Standard) is a relatively old and weaker algorithm
than AES (Advanced Encryption Standard).
13. Which port do you need to open on your server firewall to enable named pipe connections?
To enable named pipe connections, we need to open Port 445. Named pipes communicate across TCP Port 445.
14. Suppose, we have 300 SSIS packages to be deployed to production. How can we make it easier? What
are the easy and short ways to deploy all SSIS packages at once?
We have to store this data as XML-based files, not in the MSDB database.
With the configuration files, we can point the packages from prod to dev (and vice versa) in just a few seconds.
The packages and the config files are stored in a directory of our choice.
Resources permit to create a standalone SSIS server away from the primary SQL Server
in
Cluster Administrator checks the SQL Server group where we can see the current owner. The current owner is the active node
s.
and the other nodes are passive nodes.
se
16. What are the common trace flags used with SQL Server?
Deadlock Information: 1204, 1205, and 1222
Network Database Files: 1807
as
cl
Log Record for Connections: 4013
jit
Forces uniform extent allocations instead of mixed page allocations 1118 (SQL Server 2005 and 2008) to reduce TempDB
contention
at
.s
w
No. The only way if we want to get a backup is by using Windows backup for option resource MDF and IDF files.
w
Run the Upgrade Analysis tool from Microsoft. Address any issues raised there, first
Identify DTS packages. These must be migrated manually unless we buy Pragmatic Works
Rebuild the DTS packages as SSIS
Script out all SQL Agent jobs
Script out all security
Backup the systems and validate the backups (preferably by restoring them to another system)
Run the security script on the new system
Run restore on the new system
Validate the databases by running DBCC
Manually update all statistics
Run the SQL Agent script
20. Can you detach SQL Server 2005 database and attach it to a SQL Server 2008?
Yes. SQL Server 2005 databases are compatible with SQL Server 2008. Attaching a SQL Server 2005 database to SQL Server
2008 automatically upgrades the SQL Server 2005 database to the latter, and the database is then no longer usable by the SQL
Server 2005 installation.
in
s.
se
Advanced Interview Questions
as
21. Can you detach a SQL Server 2008 database and attach it to a SQL Server 2005?
cl
No. The only way to move a SQL Server 2008 database to a SQL Server 2005 is by transferring the data using methods, such
jit
as Data Transformation Services (Import/Export), SSIS, BCP, etc., or by using a query between linked servers.
ya
22. When you upgrade a SQL Server, the upgrade wizard seems to stop responding and fails. Why?
at
If applications or services have opened ODBC connections to SQL Server 2005 during the conversion process, they may not
allow SQL Server to shut down completely. The conversion process will not proceed to the next step if it does not receive
.s
If the legacy SQL Server instance is replaced by a new SQL Server 2008 instance, rolling back an in-place upgrade can be
complex and time-consuming; whereas, in a side-by-side upgrade, the legacy instance remains available if a rollback is needed.
With this command, DBCC CHECKDB detects columns with date and time values, which are either larger or less than the
acceptable range for the DATETIME data type. It also limits checking the integrity of the physical structure of the page and
record.
27. How long are locks held/retained within the REPEATABLE_READ and SERIALIZABLE isolation levels
during a read operation, assuming a row-level locking?
Within the REPEATABLE_READ and SERIALIZABLE isolation levels, locks are held/retained for the duration of the transaction,
unlike within the READ_COMMITTED isolation level.
in
optimistic (version-based) concurrency control model.
s.
The other is the SNAPSHOT isolation level that supports only an optimistic concurrency control model.
se
29. What database options must be set to allow the use of an optimistic concurrency control model?
The READ_COMMITTED_SNAPSHOT option for
ALLOW_SNAPSHOT_ISOLATION option for the SNAPSHOT isolation level.
the as
READ_COMMITTED optimistic model and the
cl
jit
The database engine uses intent locks to protect placing a shared (S) lock or an exclusive (X) lock on a resource (lower in the
lock hierarchy). Intent locks are named thus because they are acquired before a lock at the lower level and therefore signal the
at
intent to place the locks at a lower level. Intent locks serve two purposes:
.s
They prevent other transactions from modifying a higher-level resource in a way that would invalidate the lock at the lower
level.
w
They improve the efficiency of the database engine in detecting lock conflicts at a higher level of granularity.
w
w
From the execution plan, we can find out the bottlenecks and give possible solutions to avoid latency
32. What are the permissions required to view the execution plan?
Either a user must be mapped to sysadmin/db_owner/db_creator or the user will be granted the below permission:
in
s.
se
as
cl
jit
ya
at
.s
w
w
w