Tell Me Your Desires (And I Promise To Try Not To Laugh)

My co-worker showed me a SQL Server requirements document that he found online somewhere and modified at a previous company. He would give this document to vendors who said they needed a SQL Server and they would need to select the appropriate answers before he would let them install their product.  I think this is a great idea and thought I’d share it.

SQL Server Host Requirements (OS, minimum RAM, Number of CPUs, VM support, etc.)

Version of SQL Server Supported

  • SQL 2012 SP2
  • SQL 2012 SP1
  • SQL 2012 RTM
  • SQL 2008 R2 SP2
  • SQL 2008 R2 SP1

Edition Of SQL Server Supported

  • Enterprise
  • Standard

32-bit vs. 64-bit

  • 32-bit
  • 64-bit

Exclusivity For The Hosted Database

  • Shared SQL Server Environment
  • Dedicated SQL Server required

Maximum Concurrent User Count

IOPS (I/O per second) Requirement

Initial Database Size – Please provide for each database, if multiple. Specify in MB or GB.

Projected Annual Database Growth Rate. Specify in MB or GB.

Special SAN Requirements, if any.

Dedicated Test, Development, and / or Training Environment Required (Include Details)

  • Auxiliary environments to be delete / removed post-go live
  • Auxiliary environments to remain accessible for duration of project use
  • Auxiliary environments will need to be recreated for future product upgrades / enhancements

Database Security

  • Single Windows (Active Directory) network login (connection pooling)
  • Active Directory gorup login
  • Individual or AD Group network login for each user
  • Single SQL login ID and password (Login and password must be customizable and not identical to other product installations at other clients)
  • Individual SQL login and password for each user

Maximum Level Of Permissions Required for Users / Administators / Service Account (Please provide explanation for any response greater than Database role, db_owner)

  • Database role, less than db_owner
  • Database role, db_owner
  • Aliased as dbo for database
  • Some level of server-level permissions less than system administrator (sa)
  • SA role membership
  • Local administrator rights on SQL Server host machine

Database Connection / Session Handling

  • Application maintains persisted connections / sessions to database
  • Application established and releases connections / sessions as requested during normal operation
  • Other

Vendor Access Required To Support Database Issues

  • Vendor requires local login rights to SQL Server
  • Vendor requires remote-connection via the application
  • Vendor requires VPN access to our network to connect to the database via SSMS
  • No remote support capabilities. Database backup will need to be sent via secure FTP to vendor for analysis
  • No remote support capabilities. Secure method of transferring database backup not available.

Application and Database Support Exists for the Following High Availability Architectures

  • Failover clustering
  • Mirroring
  • Log shipping
  • Replication

How Frequently Do You Certify SQL Server Patches, Service Packs, and Release Updates?

  • As released by Microsoft
  • Quarterly
  • Annually
  • Other

How Frequently Do You Issue Database Updates?

  • Quarterly
  • Annually
  • Other

Performance Tuning Requirements

  • Index tuning changes (adding or disabling indexes, etc.) must be submitted to vendor for approval
  • Index tuning changes (adding or disabling indexes, etc.) do not require vendor approval
  • Index changes by customer technical staff are not permitted

Data Retention / Archiving and Growth Management Support

  • Vendor does not support database archiving
  • Vendor has database archiving process in place or available
  • Database archiving solutions created by customer must be submitted to vendor for approval
  • Database archiving solutions created by customer do not require vendor approval
  • Vendor has tested and supports SQL Server data compression

Database Installation Process

  • TSQL scripts or database backup file to be submitted to customer DBA for installation
  • Installation accomplished via executable or other method run by vendor / customer on non-SQL Server host (e.g., application server or client workstation). Any additional permission requirements needed for installation should be noted here.
  • Other

Note any Non-Standard Collation, Server-Level, or Instance-Level Settings Required

Identify Tables with Sensitive Data (Personally Identifiable Information, Financial Data, Passwords, etc.)

Identify Any Custom SQL Agent Jobs, Proprietary Backup or Maintenance Processes, or Similar Items.

Vendor Technical Contact ____________________________
Vendor Technical Contact Email _______________________
Vendor Technical Contact Phone _______________________

I would be surprised if many vendors knew the answer to all these questions right off the bat. However, this questionnaire will at least bring these issues to the forefront where they can start being addressed in a pro-active manner, before the product is installed. It will also raise any red flags. (The application needs sa access on a shared SQL Server? I don’t think so! Your maintenance plan shrinks the database weekly? I don’t think so!)


Leave a Reply

Your email address will not be published. Required fields are marked *

I am a real person and can prove it by doing this math problem: (required) Time limit is exhausted. Please reload CAPTCHA.

This site uses Akismet to reduce spam. Learn how your comment data is processed.