Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

(https://www.mssqltips.

com/) MENU

DBAs Checklist for Designing and Reviewing SQL Server


System Architectures

By: Sadequl Hussain (/sqlserverauthor/44/sadequl-hussain/)   |   Updated: 2014-02-13   |   Comments (8)   |   Related: More (/sql-
server-dba-resources/) > Database Administration (/sql-server-tip-category/60/database-administration/)

(/sql-server-webcast-signup/?id=887&src=tip)

Free MSSQLTips Webinar: Troubleshooting the most common SQL Server Problems (/sql-server-
webcast-signup/?id=887&src=tip)
In this educational webinar, we will cover some of the common issues you may face when working with SQL Server and some of
the ways you can troubleshoot these issues.

Problem
DBAs are often asked to design and plan database infrastructure for new applications or
upgrade existing systems (/sql-server-
tip-category/24/upgrades-and-migrations/). To propose a new solution or verify an existing architecture, a DBA must have a clear
understanding of the system's requirements. In this
tip, I will try to list a few areas DBAs need to cover when they are designing
new systems or reviewing proposed solutions.

Solution
Of the many hats an experienced DBA wears, one is that of a system architect. Development DBAs often spend their time
reviewing detailed technical specifications, understanding pseudo-code and flow-charts
then validating database object
structures. They advise developers about
missing table indexes (/sqlservertip/1634/using-sql-server-dmvs-to-identify-missing-
indexes/),
creating re-usable functions (/sql-server-tip-category/160/functions--user-defined-udf/) or benefits of using
table
variables (/sqlservertip/2825/sql-server-temp-table-vs-table-variable-performance-testing/).

An infrastructure DBA on the other hand, may not always have in-depth knowledge of the application. Instead, he will have broad
knowledge about the enterprise application landscape. He needs to understand what applications are in production, what
database back-ends are used, how storage and virtual servers are provisioned, among other things. If you think of yourself as an
infrastructure DBA, here is a sample of tasks you could be asked to do:

A new, third-party supplied document management system is being implemented in your organization and it's based on
the
SharePoint platform (/sql-server-tip-category/69/sharepoint/). The vendor is doing all the hard work and they have come up
with a detailed architecture document. The work will begin next week and all the parties have agreed it's a good design. You
have been brought on board at the last moment and asked to review the architecture. You need to give the final verdict
whether the design conforms to good database practices.

After months of development, testing and polishing off, the company is ready to take the next big leap as version 2.0 of a core
application is ready for rollout. You need to suggest what will be the best path for a smooth migration. Also, what will be the
rollback method?

Management has at last given the green light to an application enhancement project and the project manager has kicked off
weekly meetings with developers, architects and DBAs. A lot of brainstorming and whiteboard drawings are happening and
people want to know what would be the best configuration for the database server.

Savvy DBAs should be able to look at a system's design and suggest the best solution for the database tier or recommend any
better approach. The DBA should also be able to architect the database layer from scratch and be able to support his design. The
key thing to do is to understand the purpose of the system and gather as much information as possible.

That's why it's best to have a list of questions and metrics available at hand. Having said that, not every project will have an all-
encompassing, well rounded set of specifications. As the DBA asks his questions, not all the answers may be readily available.
This can range from "we don't know, you tell us" to outright blank stares from around the meeting table. The DBA needs to take
note of those unknown areas, suggest possible solutions or inform and educate his peers.

In the following sections, I will try to list some of the checkpoints DBA can refer to.

Purpose
First of all, try to understand the system's function and what will it be used for. In other words, get some background information
first.
Consider items such as:

What's required from the database side?


Is this the back-end for a new financial application?
Will it be a configuration database for the corporate anti-virus server?

Are they rolling out a new SharePoint system?

Understanding the purpose and the importance of the system will help you determine the best possible configuration and
resource requirements. For example, you would not want to recommend fiber channel disks for a system that would be seldom
used by few users.

New SQL Server System vs. Upgrade and Migration


Here are the items to consider with a new platform versus an upgrade:

Is this a new system or is it an upgrade or migration?


If it's a migration then what's the migration plan and the timeline for it?
Will it be an in-place upgrade or a side-by-side migration?
Has the new server been built?
If so, has it got at least the same computing power as the existing
server?
For an upgrade or migration, what's the cutover plan?
What's the outage window?
What's the plan for any rollback situation?
Has here been enough testing done for a rollout?
Finally, what's the plan for decommissioning the old system?

Complexity of the SQL Server Architecture


For an understanding of the architecture, consider the following questions:

Is there any architecture or topology diagram available?


How complex is the physical solution?
Is it is a single stand-alone database server they are after or a more elaborate setup involving geographically separated sites
and servers?
Is
clustering (/sql-server-tip-category/11/clustering/)
or
AlwaysOn (/sql-server-tip-category/143/alwayson-availability/)
technology needed?
How is the database server related to other systems in the farm?
Is the server communicating with heterogeneous data sources from Oracle and/or Unix?
Will the solution call for merge
replication (/sql-server-tip-category/7/replication/) with other SQL
Server systems or will it be
spitting out data to an FTP server?

Some of the architecture components may not strictly fall within DBA's domain, but you still need to
be aware of including:

Where will the SQL Server be located?  Behind a corporate firewall or in the DMZ?
If the latter then what account would you need to access it?
What account will be used for the service start-up?
Think about load balancing. If it's going to take simultaneous hits from a few thousand connections, where is the load
balancer?
Is an F5 or NetScaler component shown in the diagram?
Are there multiple app servers available before the database tier?

Each of these parameters would affect your own implementation planning. If


clustering (/sql-server-tip-category/11/clustering/)
or
AlwaysOn (/sql-server-tip-category/143/alwayson-availability/) is required, you know you have to work very closely with the
storage engineers and
complete extra configuration work during setup. If it's
replication with heterogeneous data sources
(/sqlservertip/2300/introduction-to-sql-server-heterogeneous-replication/), you know you need to work with
Linked
Servers (/sql-
server-tip-category/56/linked-servers/), and possibly install ADO libraries as well. These things will make the implementation more
complicated and you would want to test it thoroughly and document everything before a handover. This would also help you
better estimate your time. Rolling out a vanilla SQL Server on a single box may take two hours or half-a-day maximum, you may
want to ask for two days or more for a cluster.

Looking at the architecture, you may often be able to suggest a simpler, easier solution tailored for your organization. In one of
the projects I was working on, the vendor had come up with a detailed specification for the database server of an antivirus
system's backend database. The solution was the best-of-breed: it called for failover clustering and implementation of a remote
DR site for protecting the database. 
Here are some key questions I asked:

How many databases need to be created, I asked.


One.
How big would be it with a full system load and logging?
A few hundred megabytes in two years' time, I was told.
Will it require up-to-the minute recoverability?
Nope, it can stay in the simple recovery mode.
How critical is it? Is this a 24x7 system?
No, it can wait a few hours if the DB is not available.

I knew where I was going put that database and I told them. It would be hosted in a server with ample power, but it would be co-
hosted with other third-party databases of similar kind. The database would be fully backed up every night. It would be
have
DBCC's checked every week (/sql-server-tip-category/76/database-consistency-checks-dbccs/) and it would also have
indexes
reorganized and its statistics updated (/sql-server-tip-category/25/maintenance/). As for site recoverability, the server was a VM,
protected by VMWare vMotion and clustering. The underlying storage system was already replicating to a remote DR site.

They agreed to my proposal and to this day, the database is running fine.

SQL Server Storage


If the architecture calls for a new environment, understand if it should be a physical or virtual machine. VMs are the choice of
server hardware these days. Even for a VM, understand how the resources will be allocated. Will it be all contained within one or
more files in a VMFS file system, or will the ESX-hosted VM be connected to iSCSI LUNs from an underlying storage pool?

For SAN LUNs, you would want to ask your storage engineers about the network speed of the LUNs to the VM. For a purely VM
based solution, you would want to know if there is one or more underlying hosts connected in a cluster. For VMWare-based
systems the clustering model would help protect the VM through a mechanism called vMotion.
Similarly, how many drives will be mapped? Personally, I still like a logical separation between data and log files and want to keep
them separate from the rest of the system. For a database server, I would want:

One drive for system and OS files (C:\)


One drive for the SQL binaries and swap space (D:\)
One drive for data files (E:\)
One drive for transaction log files (L:\)
One drive for backup files (B:\)
One drive for tempdb data and log files (T:\)

Now why would you go to all of this trouble discussing these things with your server engineers? Well, think about the next set of
questions.

Is this a business critical, top tier application? Or is this something the business can survive without for a few hours or a few
days?
The answer to this question will help you determine the resource requirements for a server.
A mission critical application calls for the best possible I/O from its storage engine and the fastest speed from its network link. It
will need regular backups and possibly a failover option too.
The same features may not be necessary for a mid-level, non-critical stand-alone server.
If you know you are dealing with the design of a tier 1 system, you would want to ensure you have done everything in your
power to allocate the best resources for it.

Determining the SQL Server Processing Power


How many CPUs and cores will your server have? If it's a VM, how many vCPUs will be allocated?

How much memory will be allocated? The choice of memory will depend on the load and the use of the system. For a complex
data warehouse doing a lot of number crunching and reporting, you would want to allocate plenty of memory for SQL
Server,
Analysis Services and Reporting Services. For a simple server hosting less than ten small databases you could probably be
happy with 8 GB of RAM.

Ask about the system's peak load. How many connections will hit the database server simultaneously? The answer will potentially
help determine the amount of RAM you would assign to SQL
Server. As SQL Servers processes more and more queries, it would
perform best if it has plenty of cache to store the data.

Check with your server administrators about the network speed. Will the system be connected to a 1 GB link or a 10GBpS link?

The choices become much simpler if it's an upgrade or migration. You know you have a baseline from the existing environment.
You would want to mark that as a minimum requirement.

SQL Server Installation Considerations


Next comes the questions about the database engine.  Here are some
questions to start with:

Start with perhaps the most basic one: what will be the server's name?
Will it be a default instance or a
named instance (/sqlservertip/2661/how-to-connect-to-a-sql-server-named-instance/)?
What
versions (/sqlservertip/1140/how-to-tell-what-sql-server-version-you-are-running/) and
editions
(/sqlservertutorial/2202/choosing-a-version-of-sql-server/) of SQL Server are being considered?
Is it only a
SQL
Server Express Edition (/sql-server-tip-category/111/express-edition/) system?
Then why is it being installed in a full-blown server?
Is this Enterprise Edition?
Then have the cost implications been considered?
Why does the architecture ask for an Enterprise Edition setup?
Is it for the ability to access more than 64 GB of RAM?
Is it for an Enterprise Edition-only feature?
Are we installing the latest version of SQL? If not, why?
In most cases this happens for third-party apps. These applications are often not certified to be compatible with the latest
versions of SQL
Server.
The question of technical support eligibility from Microsoft then needs to be considered.
The same can be said about service packs. You may want to rollout the latest patch, but before you do so, check with the
application's specifications.
What components of SQL Server need to be installed and what features need to be available?
Does the solution call for
SSAS and SSRS (/sql-server-business-intelligence-resources/) to be installed as well?
Will it make more sense to propose a separate server for those services?
Will there be any other application installed on the SQL Server box?
What do those applications do?
Why can't they be separately installed on different servers?
Who would be installing those applications and services?
How do you monitor those applications?
Will those applications use a specific account to connect to SQL Server?
If so, what sort of access would it need?

Finally, here is a question for your project team lead or the integration leadership. Has there been a commitment for the licensing
cost of SQL Server? Will it be CAL or core based license? Has the client agreed to pay for it or is this something you or your team
does not need to worry about? In many cases DBAs are not supposed to raise questions about this - but if you are in doubt, ask.

SQL Server Configuration Parameters


Closely tied with the general environment related questions, here are some SQL Server configurations parameters questions.

Will
filestream (/sql-server-tip-category/92/filestream/) data be used?
Is
Data Quality Services (/sqlservertip/2575/getting-started-with-sql-server-2012-data-quality-services--part-1/) or
Table
Partitioning (/sqlservertip/1200/handling-large-sql-server-tables-with-data-partitioning/) part of the architecture?
What will be the
collation (/sqlservertip/2513/identify-sql-server-instance-and-database-collation-using-tsql-and-ssms/) order for
the SQL Server setup?
Should any particular configuration property be changed to a specific value?
For example, the application may call for the
MAXDOP setting (/sqlservertip/2650/what-maxdop-setting-should-be-used-for-
sql-server/) to be changed to 1.
A specific user may need to be made an Analysis Server administrator or have full access to the OLAP database.
A certain Windows AD group may require Content Browser role membership in Reporting Services.
Legacy code could require that
xp_cmdshell (/sqlservertip/2987/can-i-stop-a-system-admin-from-enabling-sql-server-
xpcmdshell/) is enabled.
What about protocols and aliases?
If the server is a replacement for an old system and has a different name, should an alias be created?
Should the network administrators be advised about DNS changes?
What
Linked Servers (/sql-server-tip-category/56/linked-servers/) need to be created?
Where do those Linked Servers point to and what security credentials should they use?
Do you need to create credentials, proxies and operators for the jobs?
Will the server need to have ODBC connections created?

SQL Server Security Questions


Consider these SQL Server security questions:

What will be the


SQL
Server service account (/sqlservertip/2503/how-to-create-secure-sql-server-service-accounts/)?
Is it the same for all SQL services or different for each service?
Do you have the required passwords?
What accounts will need
sysadmin privileges (/sqlservertip/1887/understanding-sql-server-fixed-server-roles/) in the SQL
Server environment?
Can you lock it down so only DBAs are members of that role?
Is there any specific reason for the
guest account (/sqlservertip/1172/sql-server-database-guest-user-account/) to be enabled?
Who would be the local Windows administrators?
Who will have remote desktop access?

SQL Server Database Properties


This is a very basic and perhaps often overlooked area. You as the DBA may not be required to create any databases at all. Your
work may be limited to installing only the database software. Find out because this will help you investigate further. Here is the
reason why.

If you are not creating the databases, who will?


Will it be an application engineer running custom scripts?
Or will it be an application installer doing everything behind the scene?
Either way, this means you need to provide database server access to the account that creates the databases. And it will
need to have at least db_creator server role membership.
Will it be a temporary account, to be disabled or deleted after the databases have been created?

If you are creating databases, know the order in which they have to created.

You will also need to know the number and size of the databases. Why? Because that would help you define the storage size
and design the disk layout.
If it's a data warehouse or data mart, you know the size will grow bigger and bigger, so you would want to start with ample
space in the data and log drives.
If backups are saved on the same machine, you know you will need a dedicated volume for backup files.
If it's a high-transaction OLTP site, you would want a dedicated volume for tempdb files.
Can the databases be split across multiple servers for efficient operation or would a consolidated environment deliver the
best results?

Again, many of these questions won't be answered for you. A DBA will need to use his own judgment and experience to suggest
and recommend an optimum solution. Sometimes this will not be called for: the decision would have been made for you, but you
still need to raise your points if needed.

Check for any specific database properties required. This is different than the SQL Server configuration properties. For example:

Will the databases be used for foreign language texts?


If so, what will be the collation?
If there are multiple sites located in different geographies, will each server have a different regional settings for Windows
and different collation setting for SQL
Server?
If that's the case, will the databases be talking to each other?
You may then want to point out the risk of collation conflicts and possible mitigation strategies.
Will the databases need to have compatibility modes older than the current server version? If so, why?
What will be the recovery mode of the databases?
This will directly affect the recovery objective.
Make sure application engineers, vendors, project managers, designers and architects are aware of the recovery model you
are proposing and what it means in terms of data recovery.

SQL Server Agent Jobs and Automation


Consider these questions related to the SQL Server Agent Jobs and Automation:

What
jobs (/sql-server-tip-category/27/sql-server-agent/) will be created in SQL Server?
Will they be created by application engineers or the application installer itself?
Will it require a DBA's support?
What will be the function of those jobs?
Are they going to invoke
SSIS
Packages (/sql-server-business-intelligence-resources/)?
Will they require elevated permissions for running
xp_cmdshell (/sqlservertip/2987/can-i-stop-a-system-admin-from-enabling-
sql-server-xpcmdshell/)?
How would they be log their output?
Who troubleshoots them after a failure?

All these points will affect the choice of things like user accounts, credentials, proxies and so on.

Check if there would be


Windows
Task Scheduler Jobs (/sqlservertip/2233/scheduling-a-sql-server-powershell-script-using-the-
task-scheduler/) created as well. If so:

What would those jobs do?


What user account would they run under?
Has the account got required privileges in the server and the network?

Protecting the SQL Server Data


This is a "must have answer" category. You may think that database backups fall within the DBA's domain and applications
owners need not worry about it, and you would be right; but you would also be surprised how many times DBAs are asked
NOT
to worry about backing up databases (/sqlservertip/1601/script-to-retrieve-sql-server-database-backup-history-and-no-backups/)
because the system has its own specific backup process and schedule.

Take the example of a SharePoint farm. DBAs may not be required to implement backups for the backend.
This can be initiated
from the application and that's what you might be told - that the SharePoint administrator would be taking care of the farm-wide
backup. Another good example is a BusinessObjects farm. The BO administrator may have a Windows job that backs up both the
file system repository and the configuration database to keep them in synch. The DBAs then don't have to backup the databases
separately. Same would be the case for other customized or third-party solutions.

Whatever the scenario, make sure the topic of


database
backups (/sql-server-tip-category/161/backup/) has been covered in the
architecture discussion. If the application does not have its own backup process, obviously it's your job to ensure the databases
are backed up. In that case, you could be asking yourself the following questions:

Where and how would the databases be backed up? Is it going to reside in the same server or a remote location? Is it through
a
proprietary application (/sqlservertip/1070/simple-script-to-backup-all-sql-server-databases/) or a regular
maintenance job
(/sql-server-tip-category/25/maintenance/)?
How many days' worth of backup need to be available? Is there enough space in that location?
li>WWhat's the frequency of
backups? Is it full backup once every day, once every week or once every month (for static databases)? Should there be
transaction log backups (/sqlservertutorial/8/sql-server-transaction-log-backups/) happening?
When would the backup start and approximately how long would that take? Would it impact system performance significantly?
/li>

IIf you are reviewing an architecture document, make sure the author has addressed these questions there. If you are writing the
database architecture document yourself, ensure topic has been covered.

Similar to database backups is the topic of


disaster recovery (DR) (/sql-server-tip-category/4/disaster-recovery/) and service
continuity.

Is the solution going to need a DR site?


If it is a critical system, it probably will. How will that site be configured?
For SQL 2012, it could be
AlwaysOn (/sql-server-tip-category/143/alwayson-availability/) technology.
For older versions of SQL Server it could be
Database Mirroring (/sql-server-tip-category/64/database-mirroring/) or
Log
Shipping (/sql-server-tip-category/100/log-shipping/).
DR can be implemented through low-level storage replication as well. Would this be the answer?

SQL Server Monitoring, Alerting and Health Checks


Consider the following questions:

How would you monitor the application status?


How would you know if database services are up and running and all databases are online?
Will you need to rollout agents in the server for a monitoring tool like OpenView, Nagios or Zabbix?
How can you configure them to send alerts if the SQL Server service is down?
Who gets the alert e-mails and text messages?
How will you monitor the server's health?
Will it require special attention or will your daily health-checks suffice?

SQL Server Ownership and Control


Consider the following questions:

Who will own the system?


Who are your stakeholders?
What teams will be responsible for it?
Will you or your team be involved in ongoing DBA maintenance or is it a one-off job?
Try to see if an SLA has been agreed upon. What's the Service Level Agreement and Operation Level Agreement for database
support?
Check what's the escalation path for incidents and who needs to be aware about potential problems.

Answers to these questions will help you identify teams and individuals you may need to work with in the future.

Conclusion
As you can understand, this is not an exhaustive list by any means. Every system is different and so is every architecture.
Ultimately it's about how your organization does business, what it considers critical and how you manage your own database
systems. As I said before, sometimes you would not have an answer because people don't know the answer. You would need to
use your own judgment and experience to come up with your own recommendations. Sometimes you would be expected to know
what to do. Fair enough. Use your standard DBA practices in such cases.

Not all the points from this article may be necessary in every situation. For example, you may not need to ask any question at all
in a straightforward server migration project where everything has been decided before you came on board. As you work through
multiple projects, you will eventually get into a habit of asking the most relevant questions. To start off, you can use this article as
a base template.

Next Steps
Start creating a template or questionnaire for your next project's architecture review.
Use simple YES/NO, checkbox, one-line answer sort of questions.
Use this document for your architecture reviews, Q/A sessions, brainstorming or requirement gathering sessions.
Refine the document as you progress from one project to another. Some questions may be redundant, while new questions
may be added.
Make sure stakeholders, clients, peers and other DBAs are familiar with your approach with this document
Once this has become an integral part of your DBA interview technique, you can circulate it before any meeting so your peers,
clients, stakeholders and engineers can pre-fill the document for you.

Related Articles
How to rename a SQL Server database (/sqlservertip/1122/how-to-rename-a-sql-server-database/)

How to determine SQL Server database transaction log usage (/sqlservertip/1225/how-to-determine-sql-server-database-transaction-log-usage/)

Determine Free Space, Consumed Space and Total Space Allocated for SQL Server databases (/sqlservertip/1629/determine-free-space-consumed-space-and-total-space-allocated-for-sql-
server-databases/)

Move SQL Server transaction log files to a different location via TSQL and SSMS (/sqlservertip/1774/move-sql-server-transaction-log-files-to-a-different-location-via-tsql-and-ssms/)

Attach SQL Server Database Without Log File (/sqlservertip/1894/attach-sql-server-database-without-log-file/)

Script to Get Available and Free Disk Space for SQL Server (/sqlservertip/2444/script-to-get-available-and-free-disk-space-for-sql-server/)

How to read the SQL Server Database Transaction Log (/sqlservertip/3076/how-to-read-the-sql-server-database-transaction-log/)

How to find user who ran DROP or DELETE statements on your SQL Server Objects (/sqlservertip/3090/how-to-find-user-who-ran-drop-or-delete-statements-on-your-sql-server-objects/)

Understanding how SQL Server stores data in data files (/sqlservertip/4345/understanding-how-sql-server-stores-data-in-data-files/)

Renaming Physical Database File Names for a SQL Server Database (/sqlservertip/4419/renaming-physical-database-file-names-for-a-sql-server-database/)

Access is denied error when attaching a SQL Server database (/sqlservertip/4542/access-is-denied-error-when-attaching-a-sql-server-database/)

Copy a SQL Server database with just the objects and no data (/sqlservertip/4664/copy-a-sql-server-database-with-just-the-objects-and-no-data/)

Execute SQL Server Script Files with the sqlcmd Utility (/sqlservertip/4924/execute-sql-server-script-files-with-the-sqlcmd-utility/)

How to Check Monthly Growth of Database in SQL Server (/sqlservertip/6158/how-to-check-monthly-growth-of-database-in-sql-server/)

SQL Server Attach and Detach Database Examples (/sqlservertip/6222/sql-server-attach-and-detach-database-examples/)

How to stop and start SQL Server services (/sqlservertip/6307/how-to-stop-and-start-sql-server-services/)

How to Take SQL Server Database Offline (/sqlservertip/6418/how-to-take-sql-server-database-offline/)

SQL Server Download Quick Links (/sqlservertip/6429/sql-server-download-quick-links/)

SQL Server Move Database Files Step By Step (/sqlservertip/6689/sql-server-move-database-files/)

How to Shrink SQL Server Database Files (/sqlservertip/6888/shrink-database-sql-server/)

Popular Articles
Date and Time Conversions Using SQL Server (/sqlservertip/1145/date-and-time-conversions-using-sql-server/)

Format SQL Server Dates with FORMAT Function (/sqlservertip/2655/format-sql-server-dates-with-format-function/)

Rolling up multiple rows into a single row and column for SQL Server data (/sqlservertip/2914/rolling-up-multiple-rows-into-a-single-row-and-column-for-sql-server-data/)

SQL Server CROSS APPLY and OUTER APPLY (/sqlservertip/1958/sql-server-cross-apply-and-outer-apply/)

SQL Server Cursor Example (/sqlservertip/1599/cursor-in-sql-server/)

How to tell what SQL Server versions you are running (/sqlservertip/1140/how-to-tell-what-sql-server-version-you-are-running/)

SQL Server DROP TABLE IF EXISTS Examples (/sqlservertip/6769/sql-server-drop-table-if-exists/)

Add and Subtract Dates using DATEADD in SQL Server (/sqlservertip/2509/add-and-subtract-dates-using-dateadd-in-sql-server/)

Using MERGE in SQL Server to insert, update and delete at the same time (/sqlservertip/1704/using-merge-in-sql-server-to-insert-update-and-delete-at-the-same-time/)

SQL Server Loop through Table Rows without Cursor (/sqlservertip/6148/sql-server-loop-through-table-rows-without-cursor/)

Resolving could not open a connection to SQL Server errors (/sqlservertip/2340/resolving-could-not-open-a-connection-to-sql-server-errors/)

SQL Convert Date to YYYYMMDD (/sqlservertip/6452/sql-convert-date-to-yyyymmdd/)

Concatenate SQL Server Columns into a String with CONCAT() (/sqlservertip/2985/concatenate-sql-server-columns-into-a-string-with-concat/)

How to Get Current Date in SQL Server (/sqlservertip/6817/sql-current-date/)

Ways to compare and find differences for SQL Server tables and data (/sqlservertip/2779/ways-to-compare-and-find-differences-for-sql-server-tables-and-data/)

Execute Dynamic SQL commands in SQL Server (/sqlservertip/1160/execute-dynamic-sql-commands-in-sql-server/)

SQL Server Row Count for all Tables in a Database (/sqlservertip/2537/sql-server-row-count-for-all-tables-in-a-database/)

Searching and finding a string value in all columns in a SQL Server table (/sqlservertip/1522/searching-and-finding-a-string-value-in-all-columns-in-a-sql-server-table/)

SQL Server Database Stuck in Restoring State (/sqlservertip/5460/sql-server-database-stuck-in-restoring-state/)

SQL NOT IN Operator (/sqlservertip/6904/sql-not-in-operator/)

About the author


(/sqlserverauthor/44/sadequl-hussain/)
Sadequl Hussain has been working with SQL Server since version 6.5 and his life as a DBA has
seen him managing mission critical systems.

View all my tips (/sqlserverauthor/44/sadequl-hussain/)

Article Last Updated: 2014-02-13

You might also like