Installation and Upgrade > Installation and Configuration Guide > Database Installation > Installing SQL Server > Before You Begin Installation of SQL Server
  
Before You Begin Installation of SQL Server
Determine which versions of SQL Server are supported for your application. See the Windchill Software Matrices on PTC.com.
* 
Azure SQL is software as a service (SaaS) and is typically updated by the Service Provider.
The installing user (typically the database administrator or DBA) must be a member of the Windows Administrator group.
You must have 1.5 GB available hard drive disk space for a SQL Server installation with a Windchill demo database. More disk space is needed for larger databases.
For additional installation requirements and platform prerequisites, consult the Microsoft SQL Server documentation, or visit Microsoft website.
Note the following:
Database installation must be configured with mixed mode authentication.
Database instance must have contained database authentication configuration option activated. It can be activated by executing following statements as database administrator user:
use master
GO
sp_configure 'contained database authentication', 1;
GO
RECONFIGURE
GO
Windchill database must have the following required file groups:
PRIMARY
BLOBS
INDX
WCAUDIT
SQL Server database user must be created as contained DB user.
Database schema name and schema owner user must be identified by same name.
Default schema for database user must be identified by same name.
Windchill database must be configured as partially contained. It can be set using following statement as database administrator user:
ALTER DATABASE [<database_name>] SET CONTAINMENT = PARTIAL WITH NO_WAIT;
Windchill database must have read_committed_snapshot property set. It can be activated using following statement as database administrator user:
ALTER DATABASE <database_name> SET READ_COMMITTED_SNAPSHOT ON
The Windchill SQL Server database user must be created as contained DB user:
User Type: SQL User without login
Database User name, Schema name, Schema owner, and Default schema must be identified by same name
Windchill Database user must be a member of the db_owner role.
For a new Windchill 11.0 or later installation with SQL Server, the Windchill application database collation (Latin1_General_100_CS_AS_SC) and SQL Server instance level collation can be different where the contained database instance is properly configured.
* 
The Latin1_General_100_CS_AS_SC is a Windows collation. To form the collation, while installing SQL Server, perform the following steps:
1. In the Server Configuration tab, select the Collation sub-tab.
2. Click the Customize button. The Customize the SQL Server Database Engine Collation window is displayed.
3. Select Windows collation designator and sort order.
4. Select Latin1_General_100 from the Collation designator drop-down list.
5. Select the Case-sensitive, Accent-sensitive and Supplementary characters check boxes.
6. Click OK.
* 
Do not grant DBA or Database Admin roles or privileges to Windchill database users.
Windchill Business Reporting
The following are the supported Microsoft SQL Server database platforms and collations for Windchill Business Reporting:
Windchill Business Reporting database: Latin1_General_100_CI_AS
Windchill database: Latin1_General_100_CS_AS_SC
* 
The Connection property responseBuffering parameter is set to full instead of adaptive to enhance Windchill performance. As a result, the users who store files in the database are impacted. To mitigate this, PTC recommends the following:
You must push the content to vaults. For more information about vaults, refer to Windchill Vault Configuration. Or set higher heap size for method server or background method server before performing upgrade blob rewrites.
Alternatively, set the following properties in $(wt.home)/db.properties:
wt.pom.dbConnectionPropertiesNameList=responseBuffering
wt.pom.dbConnectionPropertiesValueList=adaptive
If a configuration uses name and value list for database connection, then append the name and value with comma separation. For example:
wt.pom.dbConnectionPropertiesNameList=<existing_names>,responseBuffering
wt.pom.dbConnectionPropertiesValueList=<existing_values>,adaptive