我收到以下错误 Sybase 2762 - 'tempdb' 数据库中的多语句事务中不允许使用 'Create table' 命令” - ON OLD STOR PROC
数据库设置是预期的:sp_dboption, ddl in tran set to 'true'
这是一个旧程序,尚未更改并且以前运行良好。但是,我们最近在服务器上执行了一个主要版本。
我的问题是,删除并重新创建该程序会有所帮助吗?
这是一个生产错误。
我收到以下错误 Sybase 2762 - 'tempdb' 数据库中的多语句事务中不允许使用 'Create table' 命令” - ON OLD STOR PROC
数据库设置是预期的:sp_dboption, ddl in tran set to 'true'
这是一个旧程序,尚未更改并且以前运行良好。但是,我们最近在服务器上执行了一个主要版本。
我的问题是,删除并重新创建该程序会有所帮助吗?
这是一个生产错误。
当您在任何数据库中收到此错误时 - 无论是用户数据库还是 tempdb(如果表名以 # 开头或在 tempdb 中明确指定),它会指定数据库名称。同样可以从官方网站验证:
The '%s' command is not allowed within a multi-statement transaction in the '%.*s' database.
正如markp-fuso所提到的,您可以根据应用程序的系统要求拥有多个 tempdb。
请使用该数据库并启用“ddl in tran”选项,如下所示:
USE master
go
exec sp_dboption 'db_name', 'ddl in tran', true
go
USE db_name
go
checkpoint
go
我希望这能解决根本问题。不需要删除和重新创建过程。