[點(diǎn)晴永久免費(fèi)OA]SQL Server中數(shù)據(jù)庫(kù)表名前面的dbo.是什么意思?
dbo 就是 Database Owner(即DbOwner,數(shù)據(jù)庫(kù)的所有者)的縮寫(xiě),DBO 是每個(gè)數(shù)據(jù)庫(kù)的默認(rèn)用戶(hù),具有所有者權(quán)限。
它是具有在數(shù)據(jù)庫(kù)中執(zhí)行所有活動(dòng)的暗示性權(quán)限的用戶(hù)。將固定服務(wù)器角色 sysadmin 的任何成員都映射到每個(gè)數(shù)據(jù)庫(kù)內(nèi)稱(chēng)為 dbo 的一個(gè)特殊用戶(hù)上。
你具體對(duì)表操作的時(shí)候可以忽略它,不用管它,直接對(duì)你的表操作即可。通過(guò)用DBO作為所有者來(lái)定義對(duì)象,能夠使數(shù)據(jù)庫(kù)中的任何用戶(hù)引用而不必提供所有者名稱(chēng)。
比如:你以User1登錄進(jìn)去并建表Table,而未指定DBO,當(dāng)用戶(hù)User2登進(jìn)去想訪問(wèn)Table時(shí)就得知道這個(gè)Table是你User1建立的,要寫(xiě)上User1.Table,如果他不知道是你建的,則訪問(wèn)會(huì)有問(wèn)題。如果你建表時(shí)把所有者指給了Dbo,則別的用戶(hù)進(jìn)來(lái)時(shí)寫(xiě)上Dbo.Table就行了,不必知道User1。
不光表是如此,視圖等等數(shù)據(jù)庫(kù)對(duì)象建立時(shí)也要如此才算是好。
建表、存儲(chǔ)過(guò)程、視圖等數(shù)據(jù)庫(kù)對(duì)象時(shí),其對(duì)應(yīng)的所有者是創(chuàng)建它的用戶(hù)。則除了該用戶(hù)其他登錄用戶(hù)要引用這些東東時(shí),都要加上前綴,很是麻煩。而且,程序因此易出錯(cuò),你查來(lái)查去問(wèn)題確出在這,浪費(fèi)你時(shí)間。
另外,為了避免上述問(wèn)題,在創(chuàng)建數(shù)據(jù)庫(kù)表時(shí),表名稱(chēng)中切勿使用符號(hào)“.”,否則可能會(huì)導(dǎo)致數(shù)據(jù)庫(kù)表名稱(chēng)中“.”前面部分被錯(cuò)誤識(shí)別為創(chuàng)建表用戶(hù),導(dǎo)致數(shù)據(jù)庫(kù)表操作失敗,由于事實(shí)上并不真實(shí)存在此用戶(hù),此時(shí)即使是sa管理員賬號(hào)也會(huì)提示無(wú)權(quán)限操作。 該文章在 2020/8/12 1:14:05 編輯過(guò)
|
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)... |