1. 程式人生 > >無法建立表,提示:指定的架構名稱 "dbo" 不存在,或者您沒有使用該名稱的許可權。解決方法

無法建立表,提示:指定的架構名稱 "dbo" 不存在,或者您沒有使用該名稱的許可權。解決方法

http://www.myexception.cn/sql-server/350455.html

無法建立表,提示:指定的架構名稱 "dbo" 不存在,或者您沒有使用該名稱的許可權。

請教各位大俠,情況是這樣的,使用sa賬戶在資料庫test裡面為登入名user1建立一個使用者U1,給U1賦予了以下許可權:
grant create table,insert,update,delete to U1
但是在test資料庫中建立一個表時提示:指定的架構名稱 "dbo" 不存在,或者您沒有使用該名稱的許可權。
檢查:test資料庫--安全性--使用者--U1--右鍵屬性--預設架構為“dbo”
請各位大俠指點下,為什麼,謝了



------解決方案--------------------------------------------------------
test資料庫--安全性--使用者--U1--右鍵屬性》》資料庫角色成員身份呢 
------解決方案--------------------------------------------------------
指定你建立使用者的預設構架為系統預設,就可以訪問DBO 
------解決方案--------------------------------------------------------
USE master
GO

--–建立一個登入
Create LOGIN U1 WITH PASSWORD = 'xx'
GO

USE test
GO

--–建立一個數據庫的使用者
Create USER myUser FOR LOGIN U1
GO

--–授予db_owner許可權
exec  sp_addrolemember  'db_owner','myUser'
GO

------解決方案--------------------------------------------------------

因為sa對應是dbo,所以你應該把建立的表名寫全,把所有者加上去!
如create table [test].[u1].[tb]()