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]
局限性:
没有判断即将要创建的设备是否存在?
将数据库设备创建在和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 .
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
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28