手动 用 appadmin 创建数据库成功
但是存储过程中创建过程中却出错:
消息 262,级别 14,状态 1,第 1 行
在数据库 'master' 中拒绝了 CREATE DATABASE 权限。
存储过程创建语句:
if (exists (select * from sys.objects where name = 'proc_create_database'))
drop proc proc_create_database
go
create 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库内 在另一个库内
摇曳的蔷薇
慕斯王
潇潇雨雨
相关分类