資料庫物件名無效 解決方法總結

2021-09-11 07:57:30 字數 2280 閱讀 2444

在資料庫裡面新建表後顯示物件名無效,但是在表中能看見,就是無法引用。(強迫症、看著下劃線是一排紅色的、不爽)。重啟sql服務也沒有用。

暴力解決方法::關閉sql管理器,再重新開啟。(紅色下劃線不見了、物件名無效也不見了)

下面是看到其他人遇見的問題及解決見解,給大家參考::

***表在伺服器上沒有建立,於是俺開啟 「sql查詢分析器」:

匯出建立***表的sql指令碼,如下:

create table [***] (  

[id] [int] identity (1, 1) not null ,  

[title] [nvarchar] (100) collate chinese_prc_ci_as not null ,  

[kind] [nvarchar] (100) collate chinese_prc_ci_as not null ,  

[content] [nvarchar] (1000) collate chinese_prc_ci_as not null ,  

[keyword] [nvarchar] (50) collate chinese_prc_ci_as not null ,  

[add_date] [datetime] null 

) on [primary] 

google上搜尋, 可能的原因是 資料庫所有者問題. 資料庫可以有不同的登陸帳戶,

而資料庫是可以隸屬於某個帳戶的, 於是問題就出來了.

假若在pubs庫中logina帳戶登陸並建立乙個x表, 然後loginb帳戶登陸並查詢x表

我勒你個去!~

以下省略n個

鬼知道剛才那個指令碼將表建立到那個使用者下了. 於是,聰明的我又開啟」企業管理器」,

選中表 匯出sql指令碼,這次出來的指令碼就帶上 所有者了:

create table [logina].[***] (  

[id] [int] identity (1, 1) not null ,  

[title] [nvarchar] (100) collate chinese_prc_ci_as not null ,  

[kind] [nvarchar] (100) collate chinese_prc_ci_as not null ,  

[content] [nvarchar] (1000) collate chinese_prc_ci_as not null ,  

[keyword] [nvarchar] (50) collate chinese_prc_ci_as not null ,  

[add_date] [datetime] null 

) on [primary]  

go 於是俺drop table 伺服器上的 *** 表,又執行了上面的指令碼.

再次重新整理, 娘西匹! 還是:物件名」***」無效.

我資料庫訪問層使用的是subsonic, 於是我就看了subsonic生成的**,發現有這樣

一行:schema.schemaname = @"dbo"; 

哇! 可俺資料庫連線字串中的登陸名不是這個玩意兒啊!

但是, 其他的表貌似查詢啥的都無問題??????????????????????????????

於是,俺在伺服器上執行的**中加了如下一行:

output q.buildsqlstatement(); 

我日,有門~!

因為生成的指令碼中,***表前加的所有者是」dbo」. 我靠~

再次, drop table ***, 然後:

create table [dbo].[***] (  

[id] [int] identity (1, 1) not null ,  

[title] [nvarchar] (100) collate chinese_prc_ci_as not null ,  

[kind] [nvarchar] (100) collate chinese_prc_ci_as not null ,  

[content] [nvarchar] (1000) collate chinese_prc_ci_as not null ,  

[keyword] [nvarchar] (50) collate chinese_prc_ci_as not null ,  

[add_date] [datetime] null 

) on [primary]  

go 再次重新整理, 可愛的小姑娘到底還是害羞的走了出來.~~~

總結:1,在真實的生產環境中,需要注意 表所有者的問題.

生成的指令碼使用的是 dbo. 為什麼? 鬼知道~~

資料庫高併發解決方法總結

資料庫高併發解決方法總結 2017年01月23日 10 33 23 乙個專案剛開始的時候是為了實現基本功能,隨著版本和功能的迭代,大資料和高併發成了軟體設計必須考慮的問題 本質很簡單,乙個是慢,乙個是等。兩者是相互關聯的,因為慢,所以要等,因為等,所以慢,解決了慢,也就解決了等,解決了等,也就解決了...

資料庫高併發解決方法總結

乙個專案剛開始的時候是為了實現基本功能,隨著版本和功能的迭代,大資料和高併發成了軟體設計必須考慮的問題 本質很簡單,乙個是慢,乙個是等。兩者是相互關聯的,因為慢,所以要等,因為等,所以慢,解決了慢,也就解決了等,解決了等,也就解決了慢。關鍵是如何解決慢和等,核心乙個是短,乙個是少,乙個是分流,最後乙...

Sql Server置疑資料庫解決方法

sql server置疑資料庫解決方法2007 12 27 09 34 方法一 現象 資料庫log日誌太大了,shrink不掉。於是想把資料庫檔案卸下來,刪除log,再附加上。附加失敗。提示錯誤 伺服器 訊息 1813,級別 16,狀態 2,行 1 未能開啟新資料庫 metadb create da...