如何在Sql Azure中重置身份种子

ant*_*liu 15 c# sql entity-framework azure-sql-database

我已尝试以下方法重置我的列的标识种子:

DBCC CHECKIDENT ('dbo.Stuff', RESEED, 0)
Run Code Online (Sandbox Code Playgroud)

这在sql azure中不起作用,我想知道这样做的最佳方法是什么.删除并重新创建表?

Not*_*ple 9

我认为@ haldyr的答案可能被不公平地删除了.

最新版本的SQL Azure(v12)支持DBCC CHECKIDENT(以及其他一些)但是如果您的azure数据库服务器不是全新的,则需要升级.

升级很容易,在新门户(实际服务器而不是数据库本身)上访问您的Azure数据库服务器,然后单击大Latest Update按钮.

在此输入图像描述

注意:请注意升级有一些警告(就像一些旧的东西不支持它),因此值得阅读文章http://azure.microsoft.com/en-us/documentation/articles/sql-数据库预览什么新/#V12AzureSqlDbPreviewGaTable


BSt*_*ham 6

如您所见,Windows Azure SQL数据库目前不支持DBCC CHECKIDENT.重新设置标识的最完整方法是创建一个具有相同结构的新表,并将标识设置为Reseed值IDENTITY(reseedval,1),使用SET IDENTITY_INSERT tablename ON从原始表加载现有记录,然后删除旧表,并重命名新表.重置权限,重置约束等