2011-02-04 10 views
2

SQL Server Management Studioでdbcc checkidentコマンドを実行し、ID列をリセットしようとしました。下の図でわかるように、私のテーブルは存在し、スキーマはデフォルトのdboです。しかし、ときに実行しようとすると:データベースが存在するときにTSql dbcc checkidentコマンドが失敗する

dbcc checkident (Article, RESEED, 4); 

は、私は、クエリから次の応答を得る:

Msg 2501, Level 16, State 45, Line 1 
Cannot find a table or object with the name "Article". Check the system catalog. 

evidence my table exists

これは私のすべてのデータベース内のすべてのテーブルのために起こります。しかし、これは私が使用しようとしている特定のものです。テーブルにはデータが入っています。私は何ができますか/チェックしますか?

+0

クォートヘルプを使用していますか? dbcc checkident( 'dbo.Article'、RESEED、4); 正しいデータベースを選択していると思いますか? – DaveShaw

+0

'create table dbo.Article(int identity(1,1)); dbcc checkident(記事、RESEED、4);は私のために働きます。 'dbo'は**あなたの**ログインのデフォルトのスキーマです、あなたのログインにはこれを行うのに十分な権限があり、正しいデータベースコンテキストが選択されていますか? –

+0

@ Martin-私はあなたが選択したデータベースコンテキストによって何を意味するのか分かりません。私はSQL Serverを初めて使用しているので、それを使用しているパンツの座席で飛んでいます。 –

答えて

2

あなたのスクリプトウィンドウはmasterデータベースのコンテキストで実行されているようです。ドロップダウンの値を変更するか、または以下を実行して、コンテキストをデータベースに変更する必要があります。

use mattsblog; 

dbcc checkident (Article, RESEED, 4); 

NB:SSMSでは、各スクリプトウィンドウは異なる接続を表します。現在のデータベースコンテキスト、ユーザー名、および各ウィンドウのspidのようなものをステータスバーで見ることができます。

+0

笑それは簡単ではありませんでした;)迅速な探偵作品に感謝! –

+0

それはコメントの私の2番目の質問だった:p – DaveShaw

関連する問題