Upgrading DNN from 05.04.04 to 05.05.00 as recommended in
http://www.willstrohl.com/Blog/EntryI... .
Upgrade Status Report
00:00:00.031 - Upgrading to Version: 05.05.00
00:00:00.156 - Executing Script: 05.05.00.SqlDataProvider Error! (see 05.05.00.log.resources for more information)
The site works ok for basic testing ( login/update a html module) .
What is yours recommendation?
- continuation of upgrade to 5.6.1
- restore to the previous state ( files + database) and do the upgrade again
- other steps in accordance with 05.05.00.log.resources presented bellow
-------------------------------
05.05.00.log.resources :
System.Data.SqlClient.SqlException: Column names in each table must be unique. Column name 'DefaultLanguageGuid' in table 'dbo.Tabs' is specified more than once.
at System.Data.SqlClient.SqlConnection. (SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection. (SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at DotNetNuke.Data.SqlDataProvider.ExecuteADOScript(String SQL)
at DotNetNuke.Data.SqlDataProvider.ExecuteScript(String Script, Boolean UseTransactions)
/* Add DefaultLanguageGuid Column to Tabs Table */
/************************************************/
IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.Columns WHERE TABLE_NAME='Tabs' AND COLUMN_NAME='DefaultLanguageGuid')
BEGIN
-- Add new Column
ALTER TABLE dbo.Tabs
ADD DefaultLanguageGuid uniqueidentifier NULL
END
System.Data.SqlClient.SqlException: Transaction (Process ID 186) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
at System.Data.SqlClient.SqlConnection. (SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection. (SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at DotNetNuke.Data.SqlDataProvider.ExecuteADOScript(String SQL)
at DotNetNuke.Data.SqlDataProvider.ExecuteScript(String Script, Boolean UseTransactions)
/**********************************************************/
/* Modify AddFile SP */
/**********************************************************/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'dbo.[AddFile]') AND OBJECTPROPERTY(id, N'IsPROCEDURE') = 1)
DROP PROCEDURE dbo.AddFile
System.Data.SqlClient.SqlException: There is already an object named 'AddFile' in the database.
at System.Data.SqlClient.SqlConnection. (SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection. (SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at DotNetNuke.Data.SqlDataProvider.ExecuteADOScript(String SQL)
at DotNetNuke.Data.SqlDataProvider.ExecuteScript(String Script, Boolean UseTransactions)
CREATE PROCEDURE dbo.AddFile
@PortalId int,
@UniqueId uniqueidentifier,
@VersionGuid uniqueidentifier,
@FileName nvarchar(100),
@Extension nvarchar(100),
@Size int,
@Width int,
@Height int,
@ContentType nvarchar(200),
@Folder nvarchar(200),
@FolderID int,
@CreatedByUserID int,
@Hash varchar(40)
AS
DECLARE @FileID int
SELECT @FileId = FileID FROM dbo.Files WHERE FolderID = @FolderID AND FileName = @FileName
IF @FileID IS Null
BEGIN
INSERT INTO dbo.Files (
PortalId,
UniqueId,
VersionGuid,
FileName,
Extension,
Size,
Width,
Height,
ContentType,
Folder,
FolderID,
CreatedByUserID,
CreatedOnDate,
LastModifiedByUserID,
LastModifiedOnDate,
SHA1Hash
)
VALUES (
@PortalId,
@UniqueId,
@VersionGuid,
@FileName,
@Extension,
@Size,
@Width,
@Height,
@ContentType,
@Folder,
@FolderID,
@CreatedByUserID,
getdate(),
@CreatedByUserID,
getdate(),
@Hash
)
SELECT @FileID = SCOPE_IDENTITY()
END
ELSE
BEGIN
UPDATE dbo.Files
SET FileName = @FileName,
VersionGuid = @VersionGuid,
Extension = @Extension,
Size = @Size,
Width = @Width,
Height = @Height,
ContentType = @ContentType,
Folder = @Folder,
FolderID = @FolderID,
LastModifiedByUserID = @CreatedByUserID,
LastModifiedOnDate = getdate(),
SHA1Hash = @Hash
WHERE FileId = @FileID
END
SELECT @FileID
System.Data.SqlClient.SqlException: Transaction (Process ID 190) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
at System.Data.SqlClient.SqlConnection. (SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection. (SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at DotNetNuke.Data.SqlDataProvider.ExecuteADOScript(String SQL)
at DotNetNuke.Data.SqlDataProvider.ExecuteScript(String Script, Boolean UseTransactions)
/* Modify AddPortalLanguage */
/****************************/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'dbo.[AddPortalLanguage]') AND OBJECTPROPERTY(id, N'IsPROCEDURE') = 1)
DROP PROCEDURE dbo.AddPortalLanguage
System.Data.SqlClient.SqlException: There is already an object named 'AddPortalLanguage' in the database.
at System.Data.SqlClient.SqlConnection. (SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection. (SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at DotNetNuke.Data.SqlDataProvider.ExecuteADOScript(String SQL)
at DotNetNuke.Data.SqlDataProvider.ExecuteScript(String Script, Boolean UseTransactions)
CREATE PROCEDURE dbo.[AddPortalLanguage]
@PortalId int,
@LanguageId int,
@IsPublished bit,
@CreatedByUserID int
AS
INSERT INTO dbo.PortalLanguages (
PortalId,
LanguageId,
IsPublished,
[CreatedByUserID],
[CreatedOnDate],
[LastModifiedByUserID],
[LastModifiedOnDate]
)
VALUES (
@PortalId,
@LanguageId,
@IsPublished,
@CreatedByUserID,
getdate(),
@CreatedByUserID,
getdate()
)
SELECT SCOPE_IDENTITY()
System.Data.SqlClient.SqlException: Transaction (Process ID 227) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
at System.Data.SqlClient.SqlConnection. (SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection. (SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at DotNetNuke.Data.SqlDataProvider.ExecuteADOScript(String SQL)
at DotNetNuke.Data.SqlDataProvider.ExecuteScript(String Script, Boolean UseTransactions)
/* Modify UpdateModule */
/***********************/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'dbo.[UpdateModule]') AND OBJECTPROPERTY(id, N'IsPROCEDURE') = 1)
DROP PROCEDURE dbo.UpdateModule
System.Data.SqlClient.SqlException: There is already an object named 'UpdateModule' in the database.
at System.Data.SqlClient.SqlConnection. (SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection. (SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at DotNetNuke.Data.SqlDataProvider.ExecuteADOScript(String SQL)
at DotNetNuke.Data.SqlDataProvider.ExecuteScript(String Script, Boolean UseTransactions)
CREATE PROCEDURE dbo.[UpdateModule]
@ModuleId int,
@ContentItemID int,
@AllTabs bit,
@StartDate datetime,
@EndDate datetime,
@InheritViewPermissions bit,
@IsDeleted bit,
@LastModifiedByUserID int
AS
UPDATE dbo.Modules
SET
ContentItemID = @ContentItemID,
AllTabs = @AllTabs,
StartDate = @StartDate,
EndDate = @EndDate,
InheritViewPermissions = @InheritViewPermissions,
IsDeleted = @IsDeleted,
LastModifiedByUserID = @LastModifiedByUserID,
LastModifiedOnDate = getdate()
WHERE ModuleId = @ModuleId
System.Data.SqlClient.SqlException: There is already an object named 'GetAllFiles' in the database.
at System.Data.SqlClient.SqlConnection. (SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection. (SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at DotNetNuke.Data.SqlDataProvider.ExecuteADOScript(String SQL)
at DotNetNuke.Data.SqlDataProvider.ExecuteScript(String Script, Boolean UseTransactions)
CREATE PROCEDURE dbo.[GetAllFiles]
AS
SELECT
F.FileId,
FO.PortalId,
F.FileName,
F.Extension,
F.Size,
F.Width,
F.Height,
F.ContentType,
F.FolderID,
'Folder' = FolderPath,
FO.StorageLocation,
FO.IsCached,
F.UniqueId,
F.VersionGuid,
F.SHA1Hash
FROM
dbo.[Files] F
INNER JOIN
dbo.[Folders] FO on F.FolderID = FO.FolderID
----------------------------------