+ -
当前位置:首页 → 问答吧 → Sybase ASE自动创建数据库、登录以及用户的脚本

Sybase ASE自动创建数据库、登录以及用户的脚本

时间:2010-09-15

来源:互联网

以下的脚本能够自动创建数据库、登录、用户并能给用户分配命令权限。只需要指定用户数据库的名称,数据设备、日志设备的大小,登录名称以及登录密码即可。

局限性:

没有判断即将要创建的设备是否存在?

将数据库设备创建在和master设备同一目录下,不能提高物理IO的性能。

脚本文件下载:sybase数据库自动创建脚本.sql

—————————————————————————————————————————–
use master
go
declare @dbname varchar(30)
declare @MasterDevicePath varchar(255),@LogicalDataDevName varchar(30),@LogicalLogDevName varchar(30)
declare @DATDevicePath varchar(255),@LOGDevicePath varchar(255),@DataDevSize int,@LogDevSize int,@DataDevPageCount  int,@LogDevPageCount int
declare @SQLTEXT varchar(255)
declare @loginname varchar(30),@loginpasswd varchar(30)
set nocount on
begin
– @dbname 代表将要创建的数据库名称
select @dbname='sybasenms'
– @DataDevSize表示数据设备的大小(单位为:MBytes),@LogDevSize表示日志设备的大小(单位为:MBytes)
select @DataDevSize=100,@LogDevSize=50
– 数据库登录名(密码与登录名相同),以及数据库用户名
select @loginname="sybasenms",@loginpasswd="sybasenms"
if not exists(select name from master.dbo.sysdatabases where name=@dbname)
  begin
    select @MasterDevicePath=phyname from master.dbo.sysdevices where name='master'
   
    select @LogicalDataDevName=@dbname+'_dat',@LogicalLogDevName=@dbname+'_log'
    select @DATDevicePath=left(@MasterDevicePath,len(@MasterDevicePath)-10)+@dbname+'_dat.dat'
    select @LOGDevicePath=left(@MasterDevicePath,len(@MasterDevicePath)-10)+@dbname+'_log.dat'
   
    — 将设备的大小由MBytes换算成页数
    select @DataDevPageCount=@DataDevSize*512,@LogDevPageCount=@LogDevSize*512
    — 分别初始化数据设备和日志设备
    disk init
      name=@LogicalDataDevName,
      physname=@DATDevicePath,
      size=@DataDevPageCount
      
   
     disk init
      name=@LogicalLogDevName,
      physname=@LOGDevicePath,
      size=@LogDevPageCount

     — 创建数据库
     select @SQLTEXT="create database "+@dbname+" on "+@LogicalDataDevName+"="+convert(varchar,@DataDevPageCount)+" log on  "+@LogicalLogDevName+"="+convert(varchar,@LogDevPageCount)
     execute(@SQLTEXT)
     select @SQLTEXT="数据库:"+@dbname+"创建完成!"
     print @SQLTEXT

     — 创建登录名和用户名,并给用户分配权限
   use master
   exec sp_addlogin @loginname,@loginpasswd,@dbname
   use @dbname
   exec sp_adduser @loginname,@loginname
   select @SQLTEXT="grant create table ,create view,create procedure to "+@loginname
   exec (@SQLTEXT)
   if exists(select 1 from sysusers where name=@loginname)
  begin
   select @SQLTEXT="数据库用户:"+@loginname+"创建完成!"
   print @SQLTEX



本文链接: http://www.dbainfo.net/sybase-ase-auto-create-database-login-user-scripts.htm
版权所有:本文为andkylee个人原创,请在尊重作者劳动成果的前提下进行转载;
转载务必注明原始出处:Sybase数据库技术,数据库恢复[http://www.dbainfo.net]

作者: andkylee   发布时间: 2010-09-15

very fundamental

作者: cyr1974   发布时间: 2010-09-21

顶!!!!

will you say mother jyili.com still every parent not www.tjzmb.com  see agoin seyau www.cye58.com free ers post www.yingyuji.com two www.aywawa.com that youa aeui www.baidu.com and see you moss kiss dzy.cye58.com to you cook  pasu id r1.cye58.com seeya fp025.cye58.com atalk work eayu .

作者: 我爱炫569   发布时间: 2010-09-24

相关阅读 更多

热门下载

更多