国产欧美日韩第一页|日本一二三不卡视频|在线精品小视频,亚洲第一免费播放区,metcn人体亚洲一区,亚洲精品午夜视频

幫助中心 >  技術(shù)知識庫 >  數據庫 >  相關(guān)技術(shù)支持 >  sqlserver搭建網(wǎng)站遇到問(wèn)題“對象名無(wú)效”

sqlserver搭建網(wǎng)站遇到問(wèn)題“對象名無(wú)效”

2023-03-24 17:20:17 843

在進(jìn)行站點(diǎn)搬遷時(shí),我們通常會(huì )把sql server數據庫備份成.bak文件,再到新的sql server環(huán)境下還原。在網(wǎng)站搭建完成后訪(fǎng)問(wèn)時(shí)可能會(huì )出現“對象名無(wú)效”的錯誤,如下圖:

image.png 

以下是sql server出現報錯的原因以及解決方法:

這其實(shí)是sql server孤立用戶(hù)的問(wèn)題。

image.png 

如上圖所示,a0805120154為恢復完的數據庫。該數據庫的很多表是用戶(hù)a0805120154建立的,但是當我們恢復sql server數據庫后,a0805120154用戶(hù)此時(shí)就成了孤立用戶(hù)。沒(méi)有與之對應的sql server用戶(hù)名,哪怕你建立了一個(gè)a0805120154登錄用戶(hù)名,而且是以前的用戶(hù)密碼,用該用戶(hù)登錄后同樣沒(méi)辦法操作以前屬于a0805120154的用戶(hù)表。

比如在sql server查詢(xún)語(yǔ)句中訪(fǎng)問(wèn)上圖中的三個(gè)視圖時(shí),就會(huì )提示“對象名無(wú)效”

這個(gè)問(wèn)題有兩種辦法解決。

先說(shuō)解決的前提條件。 首先,如上還原sql server數據庫a0805120154。

數據庫恢復后,就產(chǎn)生了孤立用戶(hù)a0805120154。 然后,用sa用戶(hù)或者具有DBA權限的sql server用戶(hù)登錄,創(chuàng )建一個(gè)a0805120154數據庫登錄用戶(hù),密碼隨便設置,也可以和以前的保持一致。

image.png

我們用它來(lái)對應孤立的a0805120154用戶(hù),使登錄用戶(hù)和sql server數據庫的孤立用戶(hù)對應起來(lái),其實(shí)我們建立了同樣名稱(chēng)的數據庫登錄用戶(hù)后,數據庫中的表我們照樣不能使用,因為sid的不同,就是系統登錄表和數據庫用戶(hù)表中的用戶(hù)名相同, 單是sid字段數據庫中的還是以前舊系統的sid值,所以我們就要把它對應成我們新建的。sql server數據庫就是靠sid來(lái)識別用戶(hù)的。

這里可以使用sql server存儲過(guò)程sp_change_users_login。它有三種動(dòng)作,分別是report,update_one和auto_fix。

運行sp_change_users_login 'report',系統會(huì )列出當前數據庫的孤立用戶(hù)數。

image.png 

我們只需要選擇當前數據庫為a0805120154,然后運行 sp_change_users_login 'update_one','a0805120154','a0805120154' --系統就會(huì )提示修復了一個(gè)孤立用戶(hù)。

image.png 

重新打開(kāi)網(wǎng)站,問(wèn)題就解決了。

 


提交成功!非常感謝您的反饋,我們會(huì )繼續努力做到更好!

這條文檔是否有幫助解決問(wèn)題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問(wèn)題:
-->