2014-04-23 31 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一个替代方法。

相关问题