MS SQL Server 查询元数据

use test
-- 查询数据库中所有的表和架构名称
select SCHEMA_NAME(schema_id) as table_schema_name, name as table_name from sys.tables;

select table_schema,table_name from INFORMATION_SCHEMA.TABLES where TABLE_TYPE=N‘base table‘

-- 查看表列信息
select name as column_name,
TYPE_NAME(system_type_id)as data_type,
max_length,
collation_name,is_nullable from sys.all_columns where object_id = object_id(N‘UserInfo‘)

select column_name,data_type,character_maximum_length,collation_name,is_nullable from INFORMATION_SCHEMA.COLUMNS

-- 系统存储过程和函数

-- 通过存储过程返回一个当前数据库的对象列表
exec sys.sp_tables

-- 返回对象常用信息的多个结果集以及列、索引、约束等
exec sys.sp_help @objname=‘userInfo‘

-- 查询表中列的信息
exec sys.sp_columns @table_name=N‘userInfo‘,@table_owner=N‘dbo‘

-- 返回对象的约束信息
exec sys.sp_helpconstraint @objname=N‘dbo.userInfo‘

-- 返回本实例的版本信息
select SERVERPROPERTY(‘productlevel‘)

-- 返回数据库的排序规则
select DATABASEPROPERTYEX(‘Test‘,‘collation‘)

-- 返回指定对象所查询的属性 例如:查询userInfo表是否有主键

select OBJECTPROPERTY(OBJECT_ID(‘userInfo‘),‘TableHasPrimarykey‘)

-- 返回指定列所查询的信息 例如查询UserName是否可以为空
select COLUMNPROPERTY(OBJECT_ID(‘UserInfo‘),‘UserName‘,‘allowsnull‘)

时间: 2024-11-08 20:25:50

MS SQL Server 查询元数据的相关文章

MS SQL Server查询 本日、本周、本月、本季度、本年起始时间

参数声明 declare @beginTime datetime, --查询开始时间 @endTime datetime, --查询结束时间 @queryTimeType tinyint; --查询时间类型,1=日,2=周;3=月;4=季;5=年 1.查询本日开始.结束时间 --查询当天起始时间 set @beginTime = CONVERT(DATETIME,CONVERT(CHAR(10), GETDATE(),120) + ' 00:00:00',120); --@beginTime:2

MS SQL Server数据库修复/MDF数据文件数据恢复/MDF质疑/mdf无法附加

微软的SQL Server 数据库最常用的有两种类型的文件: 1.主要数据文件,文件后缀一般是.MDF: 2.事务日志文件,文件后缀一般是.LDF. 用户数据表.视图.存储过程等等数据,都是存放在MDF文件里,LDF文件是存放MS SQL Server操作过程中的日志记录. MDF文件必读附加到MS SQL Server数据库环境后,才能正常读取其中的数据.当由于某种原因数据库附加不上,MDF数据库文件的内容就没办法读取,修复的方法有两种: 1. 使用MS SQL Server环境进行修复,先以

MS SQL Server带有时间的记录怎样查询

原文:MS SQL Server带有时间的记录怎样查询 比如某一张表[A]有一个保存日期包含时间字段[B],如果以这个段[B]作查询条件对数据记录进行查询.也我们得花些心思才能查询到我们想得到的记录. 现在我们需要查询这天2014-06-21的所有记录: SELECT * FROM [A] WHERE [B] = '2014-06-21' 上面的语法,将查询不到任何记录.也许会有网友想到使用BETWEEN: SELECT * FROM [A] WHERE [B] BETWEEN '2014-06

MS Sql Server 中主从库的配置和使用介绍(转)

网站规模到了一定程度之后,该分的也分了,该优化的也做了优化,但是还是不能满足业务上对性能的要求:这时候我们可以考虑使用主从库. 主从库是两台服务器上的两个数据库,主库以最快的速度做增删改操作+最新数据的查询操作:从库负责查询较旧数据,做一些对实效性要求较小的分析,报表生成的工作.这样做将数据库的压力分担到两台服务器上从而保证整个系统响应的及时性. SQL Server提供了复制机制来帮我们实现主从库的机制.我们看下如何在sql server 2005中实践: 实践前需要新创建一个Test的数据库

MS SQL SERVER数据库简单回顾

MS SQL SERVER数据库 1.创建数据库 create database javateam; 2.使用数据库 use javateam; 3.创建表 create   table   表名 ( 字段名    字段类型   主键   字段增长(从X开始  , 每次加X个), 字段名  字段类型, 字段名  字段类型 ); create table peopleNone ( pid int primary key identity(1,1), pname varchar(32), psex

用SQL语句查找包含有某个关键字的存储过程、触发器、函数等(仅适用MS SQL SERVER)

原文:用SQL语句查找包含有某个关键字的存储过程.触发器.函数等(仅适用MS SQL SERVER) 第一种方法:利用系统表进行查询 --将text替换成你要查找的内容 select name from sysobjects o, syscomments s where o.id = s.id and text like '%text%' and o.xtype = 'P' xtype:对象类型.可以是下列对象类型中的一种: C = CHECK 约束 D = 默认值或 DEFAULT 约束 F

MS Sql Server 数据库或表修复

提示数据库处于恢复模式时重建日志文件可以解决 DBCC REBUILD_LOG('db_name','c:\mssql7\data\dbxxx_3.LDF') MS Sql Server 提供了很多数据库修复的命令,当数据库质疑或是有的无法完成读取时可以尝试这些修复命令. 1. DBCC CHECKDB  重启服务器后,在没有进行任何操作的情况下,在SQL查询分析器中执行以下SQL进行数据库的修复,修复数据库存在的一致性错误与分配错误. use master declare @databasen

MS Sql Server 数据库或表修复(DBCC CHECKDB)

MS Sql Server 提供了很多数据库修复的命令,当数据库质疑或是有的无法完成读取时可以尝试这些修复命令.  1. DBCC CHECKDB  重启服务器后,在没有进行任何操作的情况下,在SQL查询分析器中执行以下SQL进行数据库的修复,修复数据库存在的一致性错误与分配错误. use master declare @databasename varchar(255) set @databasename='需要修复的数据库实体的名称' exec sp_dboption @databasena

利用SET STATISTICS IO和SET STATISTICS TIME 优化SQL Server查询性能

首先需要说明的是这篇文章的内容并不是如何调节SQL Server查询性能的(有关这方面的内容能写一本书),而是如何在SQL Server查询性能的调节中利用SET STATISTICS IO和SET STATISTICS TIME这二条被经常忽略的Transact-SQL命令的. 从表面上看,查询性能的调节是一件十分简单的事.从本质上讲,我们希望查询的运行速度能够尽可能地快,无论是将查询运行的时间从10分钟缩减为1分钟,还是将运行的时间从2秒钟缩短为1秒种,我们最终的目标都是减少运行的时间. 尽