Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

About Microsoft SQL Server

...

Warning
titleIMPORTANT FIXES: PLEASE READ

1. Adopters should enable the ALLOW_SNAPSHOT_ISOLATION and READ_COMMITTED_SNAPSHOT options in the portal database. Without these options, MSSQL Server will encounter deadlocks in the portlet preferences subsystem under load. You can read more about these setting here. Perform the following commands to enable these settings:

Code Block
languagenone
ALTER DATABASE MyDatabase
 SET ALLOW_SNAPSHOT_ISOLATION ON
ALTER DATABASE MyDatabase
 SET READ_COMMITTED_SNAPSHOT ON

 

2. MSSQL Server 2005 or later: uPortal 4 starts up correctly, but the channels contain no content. SQLServer2005Dialect writes 'varchar(MAX)' where it should be 'text'. Changing the column definitions below to be 'text' fixes the problem:

UP_PORTLET_PREF(PREF_NAME)

UP_PORTLET_PREF_VALUES(PREF_VALUE)

UP_RAW_EVENTS(EVENT_DATA)


3. MS SQL Server 2005 or later:  disable or delete the single uniqueness index on table UP_DLM_EVALUATOR. This index should ensure that if a fragment name is provided (is not null) then it must be unique. Unfortunately, MS SQL server is unable to provide such indexes since uniqueness check of 'null =? null' returns true when building index keys. This is not the case for other DBMS vendors (i.e. postgres).  

If you're using MS SQL 2008 or later, you can (and should) create a new filtered index to replace the deleted index in order to maintain data integrity. Here's the required SQL query:

Code Block
languagenone
CREATE UNIQUE NONCLUSTERED INDEX [UP_DLM_FRAGMENT_NAME_UIDX] ON [dbo].[UP_DLM_EVALUATOR] ([FRAGMENT_NAME] ASC)
WHERE ([fragment_name] IS NOT NULL)

Workaround above was submitted by Arvīds Grabovskis who deployed uPortal 4.0.3 at Riga Technical University, you can read his blog entry on the topic here.

Step 1. Obtaining a Driver

Note

If using uPortal 4.0.9+, it is best to use the MS SQL Server and JDBC Driver (recommended) (click on link to view the instructions)

 

Since the jTDS JDBC driver for MSSQL is not available in the central Maven repository, it must be placed into the local repository of each machine on which you wish to build uPortal.

...