如何使用SQL脚本查看数据库中表的扩展属性

如何使用SQL脚本查看数据库中表的扩展属性,第1张

该SQL语句会使用到sysextended_properties目录视图。

该视图的说明如下:

说明:该视图针对当前数据库中的每个扩展属性返回一行。

具体返回结果集中每列的含义请参考MSDN文档。

示例代码如下:

例如我要查询表table1的所有列的列说明:

select AValue,BName,

CName as TypeName,BMax_length,BPrecision,BScale

from sysextended_properties A inner join syscolumns B

on Amajor_id=Bobject_id

and Aminor_id=BColumn_id

inner join systypes c on Buser_type_id=Cuser_type_id

where Amajor_ID=object_id('Storage_Goods') and AValue!=''

注意:目录视图只有SQL SERVER2005及以上版本才有。

修改数据文件的扩展性;

alter database datafile '文件路径' autoextend on next 100m maxsize 2000M;

给表空间增加新的数据文件;

alter tablespace 表空间名 add datafile '数据文件路径' size 1000m autoextend on next 100m maxsize 2000M;

在对象资源管理器中,连接到 SQL Server 数据库引擎实例,然后展开该实例。

展开“数据库”,右键单击要扩展的数据库,再单击“属性”。

在“数据库属性”中,选择“文件”页。

若要增加现有文件的大小,请增加文件的“初始大小 (MB)”列中的值。数据库的大小须至少增加 1 MB。

若要通过添加新文件增加数据库的大小,请单击“添加”,然后输入新文件的值。有关详细信息,请参阅如何向数据库中添加数据或日志文件 (SQL Server Management Studio)。

单击“确定”。

两种db数据库的打开方式

现在桌面级的各种管理系统使用的数据库都是比较常见的类型,比如Access数据库(扩展名为mdb)、xBase类数据库(扩展名为dbf),但有两种扩展名同为db的数据库,分属两个公司的产品,一个是老牌桌面数据库Paradox

这是Borland公司的产品,其广泛使用的时代是在Dos时期,但现在仍有用Delphi、C++Builder等工具开发的产品使用这一类型的数据库,

Microsoft的桌面数据引擎JET对其支持也比较完整;另一个是Sybase的ASA数据库,全称叫做

Adaptive Server Anywhere

,这个数据库以前被称作

Sql Anywhere

,这个数据库不仅可以用在桌面级,还可以用于服务器级,因为其支持存储过程、触发器等,一般在使用

PowerBuilder

开发的产品中很常见,因为毕竟是同一个公司的产品。这两个数据库都可以通过Ado来访问,在网上比较流行的链接字符串中都有其介绍,但屡次试验后均不成功,经过数番摸索终于找到其链接字串,现在简介如下:Paradox的链接字串:

connConnectionString = "Provider=MicrosoftJetOLEDB40;" _

& "Data Source=" &

数据库文件存放目录_& ";Jet OLEDB:Engine Type=82;"这里使用JET引擎提供的链接字串,这里有两点需要注意,一是

Jet OLEDB:Engine Type=82

,这是JET引擎为Paradox数据库提供的驱动类型编号,二是

Data Source

的值为数据库文件存放路径,而不是数据文件本身,另外还有一点至关重要那就是需要在安装BDE(Borland Data Engine

)的机器上才可以运行。

ASA的链接字串:

connConnectionString = "Driver={Adaptive Server Anywhere 80};DatabaseFile=

数据库文件全路径名

;Uid=DBA;Pwd=SQL"

同样这也是必须在安装ASA的机器上运行,其中的

80

是指数据库的版本,打开目标机器的ODBC管理器,看看都有那个类型的版本,修改为对应的就应该可以了。

Uid=DBA;Pwd=SQL

,这是该类型数据库的超级用户名及密码,这是默认的,对于改动过的密码,就要想想其他办法了。

还有一些扩展名为db的数据库文件,多数都是经过改变扩展名的其他类型数据库,比如把DBF或MDB的扩展名改为db等等,这时大家再判断一下属于哪种数据库吧

如何使用SQL脚本查看数据库中表的扩展属性

SELECT

表名 = case when acolorder=1 then dname else '' end,

表说明 = case when acolorder=1 then isnull(fvalue,'') else '' end,

字段序号 = acolorder,

字段名 = aname,

标识 = case when COLUMNPROPERTY( aid,aname,'IsIdentity')=1 then '√'else '' end,

主键 = case when exists(SELECT 1 FROM sysobjects where xtype='PK' and parent_obj=aid and name in (

SELECT name FROM sysindexes WHERE indid in(

SELECT indid FROM sysindexkeys WHERE id = aid AND colid=acolid))) then '√' else '' end,

类型 = bname,

占用字节数 = alength,

长度 = COLUMNPROPERTY(aid,aname,'PRECISION'),

小数位数 = isnull(COLUMNPROPERTY(aid,aname,'Scale'),0),

允许空 = case when aisnullable=1 then '√'else '' end,

默认值 = isnull(etext,''),

字段说明 = isnull(g[value],'')

FROM

syscolumns a

left join

systypes b

on

axusertype=bxusertype

inner join

sysobjects d

on

aid=did and dxtype='U' and dname<>'dtproperties'

left join

syscomments e

on

acdefault=eid

left join

sysproperties g

on

aid=gid and acolid=gsmallid

left join

sysproperties f

on

did=fid and fsmallid=0

where

dname='要查询的表' --如果只查询指定表,加上此条件

order by

aid,acolorder

以上就是关于如何使用SQL脚本查看数据库中表的扩展属性全部的内容,包括:如何使用SQL脚本查看数据库中表的扩展属性、如何增加数据库的大小、DB扩展名的数据库文件怎么打开:两种db数据库的打开方式等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9716436.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存