22,207
社区成员
发帖
与我相关
我的任务
分享
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' /***--授予对自己数据库的所有权限***/
GRANT restore DATABASE TO Motorcade
SQL codeGRANT BACKUP DATABASE TO loginname
SQL codesp_addrolemember 'db_backupoperator', loginname
SQL codeGRANT CREATE DATABASE TO loginname