2011-02-04 49 views
2

在SQL Server Management Studio中運行dbcc checkident命令,嘗試重置標識列。正如你可以在下面的圖片中看到的,我的表格清晰可見,架構是默認的dbo。但是,當試圖執行:當數據庫存在時,TSql dbcc檢查命令失敗

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 2011-02-04 23:47:38

+0

`create table dbo.Article(int identity(1,1)); dbcc checkident(Article,RESEED,4);`適用於我。您確定`dbo`是**您的**登錄的默認模式,您的登錄有足夠的權限來執行此操作,並且您有正確的數據庫上下文選擇? – 2011-02-04 23:51:26

回答

2

從評論看來,您的腳本窗口正在master數據庫的上下文中運行。您需要通過更改下拉列表中的值或運行下面的內容來將上下文更改爲數據庫。

use mattsblog; 

dbcc checkident (Article, RESEED, 4); 

注意:在SSMS中,每個腳本窗口代表不同的連接。您可以查看狀態欄以查看當前數據庫上下文,用戶名以及每個窗口的文件名稱spid