Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 无法更改SQL Server中的序列_Sql Server_Sequence_Alter - Fatal编程技术网

Sql server 无法更改SQL Server中的序列

Sql server 无法更改SQL Server中的序列,sql-server,sequence,alter,Sql Server,Sequence,Alter,在SQL Server中使用ALTER SEQUENCE语句时遇到问题 这是我正在使用的代码: ALTER SEQUENCE MakatiORSeries RESTART WITH 23; 这就是我得到的: Msg 15151,第16级,状态1,第7行 无法更改序列“MakatiORSeries”,因为它不存在或您没有权限 但是当我从sys.sequences中选择所有序列时,它就在那里了 SELECT * FROM sys.sequences WHERE [name] = 'Makati

在SQL Server中使用
ALTER SEQUENCE
语句时遇到问题

这是我正在使用的代码:

ALTER SEQUENCE MakatiORSeries RESTART WITH 23;
这就是我得到的:

Msg 15151,第16级,状态1,第7行
无法更改序列“MakatiORSeries”,因为它不存在或您没有权限

但是当我从
sys.sequences
中选择所有序列时,它就在那里了

SELECT * 
FROM sys.sequences 
WHERE [name] = 'MakatiORSeries'
我也试过这些参考资料:


非常感谢您的帮助。谢谢

需要序列或架构的ALTER权限才能更改此设置。过程中的所有权链接允许插入、更新、删除、选择和执行等基本DML。它不会延伸到改变。运行该过程的帐户还需要序列的ALTER权限


如果由于安全问题而无法向登录授予权限,则可以对过程进行签名以作为另一个凭据运行。

如果要重新启动序列以将其设置为特定值,请使用

SELECT setval('seq',0,false);

它将序列“seq”的值设置为0。

您使用的帐户是否具有权限?因为你需要一定级别的权限来更改序列。我不太确定,我如何知道这些权限?我不确定如何在sql server中访问这些信息,但请尝试
fn_my_permissions
这里是msdn链接:update:我刚刚发现,如果我尝试将更改代码添加到项目中的现有存储过程中,它会正常工作,但当我在解决方案中调用该存储过程时,引发异常时会显示相同的错误消息哦,这就是为什么我无法运行解决方案,但在sql server中它会运行,这意味着我在解决方案中使用的用户没有权限,对吗?谢谢问题,在设置序号的当前值时,我是否可以使用更新脚本而不是ALTER?您必须使用ALTER。您正在更改对象,而不是更新记录。为应用程序创建数据库角色(例如AppRole),并将所需用户添加到此角色。授予角色序列上的alter权限。可以使用GUI。或者,将OBJECT::dbo.MakatiORSeries上的ALTER授予[Approvle]比GUI更容易。非常感谢!这对我帮助很大,因为我不知道该怎么办