Azure中的Quartz.net:删除作业时“不支持没有聚簇索引的表”

时间:2014-01-29 15:50:47

标签: sql-server azure azure-sql-database quartz.net

我花了大部分时间试图让Quartz.net在Azure工作角色中运行。它使用SQL Azure实例作为其持久存储。

我得到的配置如下:

quartz.jobStore.type=Quartz.Impl.AdoJobStore.JobStoreTX, Quartz
quartz.jobStore.driverDelegateType=Quartz.Impl.AdoJobStore.SqlServerDelegate, Quartz
quartz.jobStore.tablePrefix=QRTZ_
quartz.jobStore.dataSource=myDS
quartz.dataSource.myDS.connectionString=Server=xxx,1433;Database=xxx;User ID=xxx@xxx;Password=xxx;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;
quartz.dataSource.myDS.provider=SqlServer-20

要创建架构,我使用了Quartz.net zip文件中的脚本。实际上,我尝试了其中两个:

  1. tables_sqlServer.sql
  2. tables_sqlServerCe.sql
  3. 他们在我下载的Quartz.NET-2.2.1.zip中。我必须删除第一个脚本的ON [PRIMARY]语句中的ALTER TABLE才能使其工作;否则它抱怨'此版本的SQL Server不支持'文件组引用和分区方案'。'

    第二个没有修改就行了。

    无论我使用哪个脚本创建架构,Quartz.net在尝试删除作业时都会抛出错误:

    “无法删除触发器:此版本的SQL Server不支持没有聚簇索引的表。请创建聚簇索引并重试。”

    我可以添加作业(我可以看到正在添加到数据库中的行),但每当我尝试删除一行时,Quartz.net就会抛出一个拟合。

    我该怎么做才能解决这个问题?

    谢谢!

1 个答案:

答案 0 :(得分:1)

我已经更新并运行了烟雾测试以进行脚本更改,这些测试应该可以在SQL Azure上运行,最新的脚本可以在这里找到:

https://raw.github.com/quartznet/quartznet/master/database/tables/tables_sqlServer.sql