如何解決引用對象時,必須加所有者(owner)的問題

來源:互聯網
上載者:User
對象|解決|問題 問題描述:從別處copy來一個資料庫DB,附加後,對象的所有者不是Admini,每次查詢時必需寫select * from Admini.***才能查到。有什麼方法不用前面的Admini嗎(在不修改所有者的前提下)?註:已經在“安全性-登陸”下面也建立了一個Admini使用者,預設資料庫設定為DB,許可權足夠,但在查詢分析器下用Admini登陸,查詢時還是要寫Admini首碼,否則就提示對象名無效 問題解決方案: 如果是用的是sql 2000的話,用某個使用者登入, 不指定所有者的話, 訪問對象的時候, 預設的所有者就是當前登入使用者如果是2005的話, 在資料的安全性--使用者--右鍵你的使用者admin--屬性, 看看預設構架是什麼, 這個預設架構決定當你訪問對象時, 不指定所有者的話, 使用那個所有者(sql 2005中, owner變成構架了)  會導致與上面的說法不匹配的異常情況: 如果在資料庫DB中,Admini是孤立使用者的話,則情況會與上面描述的有出入(附加或者恢複資料庫很容易出現孤立使用者),即引用對象時必須指定所有者。孤立使用者的表現是:只能建立Admini登入, 並通過伺服器角色給其分配對DB的許可權,或者是在DB中建立名稱不是Admini的使用者與登入關聯。要查詢DB中的孤立使用者情況,執行下面的語句:USE DBGO EXEC sp_change_users_login 'Report'  解決孤立使用者的方法: 解決這種異常只要解決掉孤立使用者,在確定了Admini是孤立使用者後,可以執行下面的語句來解決:USE DBGO -- 修複孤立使用者EXEC sp_change_users_login 'Auto_Fix', 'Admin', NULL, '密碼';      -- 這個密碼是指, 如果沒有事先建立admin 這個登入的話, sql自動建立登入時, 為該登入分配的密碼 -- 授予在DB 中的相關許可權EXEC sp_addrolemember  'db_owner', 'Admin' 

相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。