SQL SERVER选择序列失败

SQL SERVER选择序列失败,sql,sql-server,Sql,Sql Server,我使用的是SQL Server,我需要将唯一标识符传递给我的客户端。为了避免使用UUID,我希望使用序列。为了做到这一点,我看了一下MS文档,发现了这个 这对我来说是失败的。我目前正在我的应用程序中的另一个服务中使用序列,但它们被用作默认值。这里的语法有所不同,因为我希望选择整数序列并将其传递给Java服务器,然后通过REST传递给web客户机 该示例是从Microsofts文档中复制的。只调整了数据库名称。该页面中的示例B正在运行 mssql服务器mssql工具在Ubuntu 16.04主机上

我使用的是SQL Server,我需要将唯一标识符传递给我的客户端。为了避免使用UUID,我希望使用序列。为了做到这一点,我看了一下MS文档,发现了这个

这对我来说是失败的。我目前正在我的应用程序中的另一个服务中使用序列,但它们被用作默认值。这里的语法有所不同,因为我希望选择整数序列并将其传递给Java服务器,然后通过REST传递给web客户机

该示例是从Microsofts文档中复制的。只调整了数据库名称。该页面中的示例B正在运行

mssql服务器mssql工具在Ubuntu 16.04主机上运行

错误消息:

[2017-07-11 16:38:24][S00016][217]超出了最大存储过程、函数、触发器或视图嵌套级别(限制2)。
[2017-07-11 16:38:24]连接已关闭


错误很可能不是由于您发布的代码造成的。这里发布的代码很好。也许你在数据库上有某种触发器?或者您正在运行的其他代码正在使用触发器撞击表?我不知道该数据库中的触发器。它是从旧的MS Access数据库导入的。但我已经用一个新的模式进行了测试——这会避免触发问题吗?(我对SQL还不是很有经验)。我可以肯定地说,我们在导入之后没有添加任何触发器。还有什么可能导致这种行为吗?值得注意的是,页面中的示例B正在工作!我不能开始告诉你,如果它能解决这个问题。但是您发布的错误与您发布的代码是不可能的。还有一些我们不知道的事情导致了问题。您可以检查数据库中是否有执行此操作的数据库触发器:从sys.triggers中选择*from,其中parent_class_desc='database'(如果没有,您可以找到所有触发器,而不仅仅是数据库触发器)错误很可能不是由于您发布的代码造成的。这里发布的代码很好。也许你在数据库上有某种触发器?或者您正在运行的其他代码正在使用触发器撞击表?我不知道该数据库中的触发器。它是从旧的MS Access数据库导入的。但我已经用一个新的模式进行了测试——这会避免触发问题吗?(我对SQL还不是很有经验)。我可以肯定地说,我们在导入之后没有添加任何触发器。还有什么可能导致这种行为吗?值得注意的是,页面中的示例B正在工作!我不能开始告诉你,如果它能解决这个问题。但是您发布的错误与您发布的代码是不可能的。还有一些我们不知道的事情导致了问题。您可以检查数据库中是否有执行此操作的数据库触发器:从sys.triggers中选择*from,其中parent_class_desc='database'(如果没有,您可以找到所有触发器,而不仅仅是数据库触发器)
USE MyDB;  
GO  

CREATE SCHEMA Test;  
GO  

CREATE SEQUENCE Test.CountBy1  
    START WITH 1  
    INCREMENT BY 1 ;  
GO  
SELECT NEXT VALUE FOR Test.CountBy1 AS FirstUse;  
SELECT NEXT VALUE FOR Test.CountBy1 AS SecondUse;