Will removing that script cause any problems when using the upgraded forum?
Yes, you can loose display names in some cases. Moreover if should be here, because it can be run only once, run it by hand.
The sp creating script is just above the problem script in tables.sql.
It's a strange problem. Try to use begin | end block. I suspect that it can be related to your specific database settings.
My SQL isn't very good, so sorry if I have got this wrong.
I added the Begin | End block like this:
if exists (select top 1 1 from [{databaseOwner}].[{objectQualifier}Message] where UserDisplayName IS NULL)
Begin
exec('[{databaseOwner}].[{objectQualifier}forum_initdisplayname]')
End
GO
The script still times out, the message is:
Exception Details: System.Exception: FILE:
mssql/tables.sql
ERROR:
Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
STATEMENT:
if exists (select top 1 1 from [dbo].[yaf_Message] where UserDisplayName IS NULL)
Begin
exec('[dbo].[yaf_forum_initdisplayname]')
End