MSSQL语句创建DB

CREATE procedure proc_Create_DB

@createDBName varchar(200),@sqlUid varchar(100),@sqlPwd varchar(100),@c_companyCode char(12),@dbAdr varchar(50),@dbSize char(10),@D_syscode varchar(50),@db_url varchar(500),@db_name varchar(50)

 

as

Begin

--创建数据库

execute ('IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'''+@createDBName+''')'+

'DROP DATABASE ['+@createDBName+']'+

'; '+

'CREATE DATABASE ['+@createDBName+']'+ 

'; '+

'exec sp_addlogin '''+@sqlUid+''','''+@sqlPwd+''','''+@createDBName+'''')

;

 

--还原数据库并移动到数据库指定的盘符

execute('RESTORE DATABASE ['+@createDBName+']'+' FROM DISK='''+@db_url+''''+

' with '+

' move '''+@db_name+''' to ''C:/Program Files/Microsoft SQL Server/MSSQL/Data/'+@createDBName+'.mdf'','+

' move '''+@db_name+'_log'' to ''C:/Program Files/Microsoft SQL Server/MSSQL/Data/'+@createDBName+'_log.ldf'','+

' replace')

;

 

--修改数据库逻辑文件名与新建的数据名同名:

execute('Alter DataBase '+@createDBName+

' MODIFY FILE(NAME='+@db_name+',NEWNAME='''+@createDBName+''')'+

' Alter DataBASE '+@createDBName+

' MODIFY FILE(NAME='''+@db_name+'_log'',NEWNAME='''+@createDBName+'_log'')')

;

 

--添加用户

--给用户添加数据库中

--把用户添加在角色中 

 

execute ('use '+@createDBName+'; exec sp_grantdbaccess '''+@sqlUid+''''+

'; '+

'EXEC sp_addrolemember ''db_owner'', '''+@sqlUid+''''+

'; ')

;

 

insert into [com-edudb2009]..k_dbInfo(c_companyCode,D_syscode,D_dbName,D_dbUserName,D_dbpwd,D_dbAdr,D_dbSize) values (@c_companyCode,@D_syscode,@createDBName,@sqlUid,@sqlPwd,@dbAdr,@dbSize)

 

End

GO

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值