为了账号安全,请及时绑定邮箱和手机立即绑定

SQL server 存储过程创建数据库失败

SQL server 存储过程创建数据库失败

湖上湖 2018-12-06 23:07:38
手动 用  appadmin 创建数据库成功   但是存储过程中创建过程中却出错: 消息 262,级别 14,状态 1,第 1 行在数据库 'master' 中拒绝了 CREATE DATABASE 权限。 存储过程创建语句: if (exists (select * from sys.objects where name = 'proc_create_database'))drop proc proc_create_databasegocreate proc proc_create_database(@Name nvarchar(50),@Path nvarchar(255))WITH EXECUTE AS N'appadmin'as declare @sql nvarchar(max); set @sql = 'create database "<NAME>" on (name="<NAME>",filename="<PATH><NAME>.mdf",size=5mb,maxsize=unlimited,filegrowth=1) log on (name="<NAME>_log",filename="<PATH><NAME>_log.ldf",size=5mb,maxsize=unlimited,filegrowth=1)' if exists(select * from sys.sysdatabases where name= @Name) begin SELECT system_user print '删除存在库' exec('use master drop database "'+ @name +'"') print '建库' set @sql = REPLACE(@sql,'<NAME>',@Name) set @sql = REPLACE(@sql,'<PATH>',@Path) exec(@sql) end else begin SELECT system_user print '建库' set @sql = REPLACE(@sql,'<NAME>',@Name) set @sql = REPLACE(@sql,'<PATH>',@Path) exec(@sql) end 此存储过程没有在master库内  在另一个库内  
查看完整描述

3 回答

?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

使用sa账户执行吧。摆明了是权限不足。

查看完整回答
反对 回复 2019-01-07
?
慕斯王

TA贡献1864条经验 获得超2个赞

没有创建数据库的权限,点击该数据库-安全性-用户-双击你的用户-给该用户授予db_owner权限就可以了

查看完整回答
反对 回复 2019-01-07
?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

你好,已经设置过 db_owner 了  不然直接用appadmin  create  database 也不会成功    

查看完整回答
反对 回复 2019-01-07
  • 3 回答
  • 0 关注
  • 1154 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信