2014-04-23 42 views
0

我想角色成員動態添加到我的數據庫下面的查詢的幫助:如何添加角色成員的現有數據庫

use MyExistingDatabase 
GO 
EXEC sp_addrolemember @rolename = 'db_owner', @membername = 'A38' 
GO 
execute as user='A38' 
GO 
CREATE TABLE [A38].[ABC] ( 
[Id]    int    IDENTITY(1,1) NOT NULL, 
[Name] nvarchar(100)        NULL, 

這裏A38是我的用戶名在MyExistingDatabase並希望與執行進一步的腳本默認模式A38。上述腳本的情況下,工作正常,如果我創建一個新的數據庫,但如果我用我的任何現有的數據庫,它引發以下錯誤:

User does not have permission to perform this action

CREATE TABLE permission denied in database 'MyExistingDatabase'

請建議

回答

0

您正在使用的模式創建表叫A38,所以你需要確保的模式存在,就像這樣:

use MyExistingDatabase 
GO 
EXEC sp_addrolemember 'db_owner', 'A38' 
GO 
CREATE SCHEMA A38 AUTHORIZATION A38 
GO 
CREATE TABLE [A38].[ABC] ( 
[Id]    int    IDENTITY(1,1) NOT NULL, 
[Name] nvarchar(100)        NULL) 

否則看到這link一個替代方法。

相關問題