列のIDシードをリセットするために、次のことを試しました。
DBCC CHECKIDENT ('dbo.Stuff', RESEED, 0)
これはsqlazureでは機能しません。これを行うための最善の方法は何でしょうか。テーブルを削除して再作成しますか?
列のIDシードをリセットするために、次のことを試しました。
DBCC CHECKIDENT ('dbo.Stuff', RESEED, 0)
これはsqlazureでは機能しません。これを行うための最善の方法は何でしょうか。テーブルを削除して再作成しますか?
@haldyrの答えは、正しいとしておそらく不当に削除されたと思います。
SQL Azure (v12) の最新バージョンはサポートしていますがDBCC CHECKIDENT
(およびその他多数)、Azureデータベース サーバーが新しくない場合は、アップグレードする必要があります。
アップグレードは簡単です。新しいポータル (DB 自体ではなく実際のサーバー) で Azure DB サーバーに移動し、大きなLatest Update
ボタンをクリックします。
注:アップグレードには多くの注意事項があることに注意してください (古いものではサポートされていないなど)。記事http://azure.microsoft.com/en-us/documentation/articles/sql-を読む価値があります。 database-preview-whats-new/#V12AzureSqlDbPreviewGaTable
ご覧のとおり、DBCC CHECKIDENT は現在 Windows Azure SQL Database ではサポートされていません。ID を再シードする最も完全な方法は、同じ構造の新しいテーブルを作成し、ID を再シード値 IDENTITY(reseedval,1) に設定し、SET IDENTITY_INSERT tablename ON を使用して元のテーブルから既存のレコードをロードし、ドロップすることです。古いテーブルの名前を変更し、新しいテーブルの名前を変更します。権限のリセット、制約のリセットなど。