我们有一个多线程C#窗体表单应用程序来创建多个数据库(比如100个数据库,如DB1,DB2,... DB100)。 我已经设置了15个并发运行的线程,这意味着15个数据库创建并行发生。 在100个数据库中,我发现很少有数据库无法创建,因为有10个或11个数据库无法使用以下错误创建。
任何人都可以建议解决这个问题。
错误:
------------
.Net SqlClient Data Provider: Msg 1222, Level 16, State 51, Line 1 Lock request time out period exceeded.
Script execution error. The executed script:
CREATE DATABASE [$(DatabaseName)]
ON
PRIMARY(NAME = [$(DatabaseName)], FILENAME = N'$(DefaultDataPath)$(DefaultFilePrefix)_Primary.mdf')
LOG ON (NAME = [$(DatabaseName)_log], FILENAME = N'$(DefaultLogPath)$(DefaultFilePrefix)_Primary.ldf') COLLATE SQL_Latin1_General_CP1_CI_AS;