转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> Sql Server >> 正文
用ADO管理SQL Server数据库及其设备         

用ADO管理SQL Server数据库及其设备

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1132 更新时间:2007/11/14 13:14:45
  微软公司的SQL Server是目前小型网络中常用的数据库管理系统之一。面向这种网络数据库的应用程序也在日益增多,这种网络数据库应用系统的正常运行,一般都依赖于已经存在的用户数据库。创建数据库的工作当然可以用SQL Server提供的SQL Enterprise Manager工具来完成,但是,如果能够提供一种定制的数据库管理工具,专门管理应用系统需要的数据库及其设备,对用户来说无疑更加理想。

  现存问题

  我们知道,在使用CREATE DATABASE语句创建一个数据库之前,必须存在一个有剩余空间的数据库设备,或者事先使用DISK INIT语句创建一个新设备。但是这些语句含有很多必需的参数,而且如果不使用SQL Server的管理工具,很多参数值往往难以确定。

  以创建数据库设备的DISK INIT语句为例,这个语句的完整语法如下:

DISK INIT
NAME =‘logical_name,
PHYSNAME =‘physical_name,
VDEVNO = virtual_device_number,
SIZE = number_of_2K_blocks
[, VSTART = virtual_address]
  其中NAME和SIZE这两个参数都很容易得到,麻烦的是物理名PHYSNAME和虚拟设备号VDEVNO这两个参数。前者要求是一个服务器上的物理文件全路径名;后者要求在1~255之间找一个没有被别的设备占用的号码。而在编写数据库管理程序时,用户的服务器上有哪些设备号已经被占用,SQL Server装在哪个驱动器上,都是无法预料的。

  虽然,使用SQL Server的管理工具SQL Enterprise Manager,可以非常方便地创建、删除数据库设备,或者扩大一个已经存在的数据库,也可以非常方便地创建、删除或者修改一个数据库,但是,这个工具仍然要求我们输入很多不太常用的参数,界面稍显复杂。

  所以,理想的情况是:用户只需要按下一个命令按钮,应用程序需要的数据库及其设备都能立即自动地创建好。

  解决方案

  为了实现这样的目标,我们必须想办法解决SQL语句中的参数设置问题。

  1.创建设备的语句参数

  创建设备的语句即前面提到的DISK INIT语句。

  为了简化问题,我们可以指定与数据库名相同的设备文件名,并将设备文件保存在master设备所在的子目录中。数据库名是在设计应用程序时已经确定;而master设备所在的子目录,可以从系统表sysdevices中查询得到。这样,设备文件的物理名参数就确定下来了。

  虚拟设备号的问题则比较复杂,因为sysdevices系统表中没有“虚拟设备号”这样一个字段,因此,必须另想办法。

  对SQL Server的系统存储过程sp_helpdevice进行分析之后,我们发现,虚拟设备号是“隐藏”在sysdevices系统表的low字段中的,借助另一个系统表spt_values,可以找到每个设备的虚拟设备号。这样,我们只需要在一个循环中找一下某个设备号是否存在于sysdevices中,就可以确定我们现在可用的虚拟设备号。

  至于数据库设备的大小,我们不妨设得大一些,或者让用户指定一下也可以。


[Access]sql随机抽取记录  [Access]ASP&SQL让select查询结果随机排序的实现方法
[精彩网文]珍惜自己的财富:时间管理能力  [精彩网文]成功走上管理岗位的11个技巧
[精彩网文]如何做好管理工作  [Sql Server]Sql Server如何附加mdf数据库到企业管理器
[办公软件]Excel成绩管理之统计学生及格人数、及格率、最高分…  [操作系统]XP操作系统,如何破解超级管理员密码
[操作系统]遇到任务管理器结束不了任务的进程怎么办?  [操作系统]设备管理器不显示设备名称的原因及解决办法
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台