手动 用 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 回答
- 0 关注
- 1154 浏览
添加回答
举报
0/150
提交
取消