求教:关于sp_grantdbaccess问题。总是提示该登录已用另一个用户名开立帐户

请填写用户昵称 2011-05-25 05:27:53

ALTER PROCEDURE dbo.company_generate
@patch nvarchar(250),/*备份路径*/
@dbName nvarchar(250)/*公司名称*/
AS
declare @strSQL1 nvarchar(max),@strSQL2 nvarchar(max),@strSQL3 nvarchar(max),@strSQL4 nvarchar(max),@strSql5 nvarchar(max)
/*创建数据库*/
set @strSQL1='
use [master]
CREATE DATABASE ['+@dbName+'] ON PRIMARY
( NAME = N'''+@dbName+''', FILENAME = N'''+@patch+'\'+@dbName+'.mdf'' , SIZE = 6144KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
LOG ON
( NAME = N'''+@dbName+'_log'', FILENAME = N'''+@patch+'\'+@dbName+'_log.ldf'' , SIZE = 136064KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
'
/*给数据库分配用户和角色*/
set @strSql5='
use ['+@dbName+']
exec sp_grantdbaccess @loginame = N''Motorcade''--使其成为数据库的合法用户***/
exec sp_addrolemember N''db_owner'', N''Motorcade'' /***--授予对自己数据库的所有权限***/
'
EXEC(@strSql5)
--print 后的结果
use [master]
CREATE DATABASE [hj_company] ON PRIMARY
( NAME = N'hj_company', FILENAME = N'E:\Motorcade\Code\Motorcade.Web\company\hj_company\hj_company.mdf' , SIZE = 6144KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
LOG ON
( NAME = N'hj_company_log', FILENAME = N'E:\Motorcade\Code\Motorcade.Web\company\hj_company\hj_company_log.ldf' , SIZE = 136064KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
use [hj_company]
exec sp_grantdbaccess @loginame = N'Motorcade'--使其成为数据库的合法用户***/
exec sp_addrolemember N'db_owner', N'Motorcade' /***--授予对自己数据库的所有权限***/

总是提示该登录已用另一个用户名开立帐户
另外授予还原权限,总是提示'restore' 附近有语法错误

GRANT restore DATABASE TO Motorcade


多谢各位指点!
...全文
546 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 abcjun188 的回复:]
对于备份,可以直接授予或者安排为备份管理员角色


SQL code
SQL codeGRANT BACKUP DATABASE TO loginname


SQL codesp_addrolemember 'db_backupoperator', loginname



对于还原,需要有create database的权限,可以直接授权


SQL code
S……
[/Quote]
您这个是在grantdbaccess 之后才能用的。因为新的数据库中并不存在此用户。需要分配之后才能使用
打一壶酱油 2011-05-25
  • 打赏
  • 举报
回复
对于备份,可以直接授予或者安排为备份管理员角色

SQL codeGRANT BACKUP DATABASE TO loginname


SQL codesp_addrolemember 'db_backupoperator', loginname



对于还原,需要有create database的权限,可以直接授权

SQL codeGRANT CREATE DATABASE TO loginname

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧