查询Sql Server数据库对象结构
查询Sql Server数据库对象结构
- 查询数据库
- 查询架构
- 查询表
- 查询列
- 查询存储过程
- 查询视图
1.查询某一服务器下所有数据库
select t.[name] as 数据库
from sys.databases as t
order by name
2.查询某一数据库的架构
select name as 架构,
schema_id as 架构Id
--,principal_id
from sys.schemas
where principal_id = 1;
3.查询某一数据库的表
select s.name+'.'+t.name as 表,
t.object_id as 表Id
from sys.tables as t
inner join sys.schemas as s on t.schema_id = s.schema_id and s.principal_id=1
4.查询某一数据库的所有的列
select
s.name as 架构,
d.NAME as 表,
A.NAME as 列,
COLUMNPROPERTY( a.id,a.name,'IsIdentity') as 是否为自增, --0非自增 1自增
B.NAME AS 数据类型,
COLUMNPROPERTY(A.ID,A.NAME,'PRECISION') AS 精度,
ISNULL(COLUMNPROPERTY(A.ID,A.NAME,'Scale'),0) AS 保留位,
A.ISNULLABLE AS 是否为空, -- 0空 1非空,
ISNULL(E.TEXT,'') as 默认值,
ISNULL(g.[value],'') AS 列说明
FROM syscolumns a
LEFT JOIN systypes b ON a.xtype=b.xusertype
INNER JOIN sys.objects d ON a.id=d.object_id AND d.type='U'AND d.name<>'dtproperties'
inner join sys.schemas as s on d.schema_id=s.schema_id
LEFT JOIN syscomments e ON a.cdefault=e.id
LEFT JOIN sys.extended_properties g ON a.id=g.major_id AND a.colid=g.minor_id
LEFT JOIN sys.extended_properties f ON d.object_id=f.major_id AND f.minor_id =0
5.查询存储过程
select
s.Name as 架构,
p.Name as 存储过程,
sm.definition as 存储过程内容
from sys.procedures as p
inner join sys.sql_modules sm ON p.object_id = sm.object_id
inner join sys.schemas as s on p.schema_id=s.schema_id
6.查询视图
select
s.name+'.'+t.name as 视图,
t.object_id as 视图Id
from sys.views as t
inner join sys.schemas as s on t.schema_id = s.schema_id and s.principal_id=1
查询Sql Server数据库对象结构的更多相关文章
- 查询SQL SERVER数据库日志工具
在SQL SERVER中查看操作日志,一直是一个比较麻烦的事情,因为微软并没有提供直接的系统工具可以查看日志内容,虽然可以通过非正式的隐藏接口dbcc log 获取日志的非解析编码但是要还原是个非常麻 ...
- 何查询SQL Server数据库没有主键的表并增加主键
SQL Server数据库中,如果一个表没有主键,我们该如何查询呢?本文我们主要就介绍了如何查询数据库中没有主键的表名并为其增加主键的方法,希望能够对您有所帮助. 该功能的实现代码如下: declar ...
- SQL Server 数据库对象命名参考
一. 引言 编码规范是一个优秀程序员的必备素质,然而,有很多人非常注重程序中变量.方法.类的命名,却忽视了同样重要的数据库对象命名.这篇文章结合许多技术文章和资料,以及我自己的开发经验,对数据库对象的 ...
- 通过sys.objects查询SQL SERVER数据库改动内容
适用于: SQL Server 2008 + .Azure SQL 数据库.Azure SQL 数据仓库.并行数据仓库 系统视图sys.objects,在数据库中用户定义(创建)的每个架构范围对象(例 ...
- 基于Python的SQL Server数据库对象同步轻量级实现
缘由 日常工作中经常遇到类似的问题:把某个服务器上的某些指定的表同步到另外一台服务器.类似需求用SSIS或者其他ETL工作很容易实现,比如用SSIS的话就可以,但会存在相当一部分反复的手工操作.建源的 ...
- 获取sql server数据库表结构
if exists (select 1 from sysobjects where name = 'sysproperties'and xtype = 'V')begin DROP VIEW s ...
- 查询SQL SERVER 数据库版本号脚本语句
数据库直接执行此语句即可select @@version 示例: Microsoft SQL Server 2014 - 12.0.2000.8 (X64) Feb 20 2014 20:04:2 ...
- PHP odbc查询SQL SERVER数据库带有中文时无返回数据
近日遇到一个小麻烦当数据库中有中文字符数据 结果odbc_fetch_array后 我用json_encode怎么也得不到数据页面一片空白 我脑子也一片空白后来才知道sqlserver 没有 UTF- ...
- 一段后台C#查询SQL Server数据库代码
using System; using System.Data; using System.Collections.Generic; using System.Linq; using System.W ...
随机推荐
- mysql数据导入导出方法总结
MySQL数据备份还原方式总结: 一.将数据导入到指定的数据库 第一种导入方式: (linux下和Windows 下语法是一样的,只是路径的书写方式不同而已) 1.创建一个空数据库 2.进入MySQL ...
- bash编程-Shell基础
1. Shell脚本执行方式 直接运行,需要在脚本文件头部指定解释器,如#!/bin/bash ./myshell.sh 运行时指定shell解释器 bash myshell.sh 2. Shell命 ...
- TextBox Ctrl+A不能全选的问题
问题: 当TextBox控件在设置了MultiLine=True之后,Ctrl+A 无法全选,十分影响使用体验. 对于这个问题不明所以,不知道是Bug,还是故意而为之... 解决1: 添加KeyDow ...
- 【转】 js数组 Array 交集 并集 差集 去重
原文:http://blog.csdn.net/ma_jiang/article/details/52672762 最劲项目需要用到js数组去重和交集的一些运算,我的数组元素个数可能到达1000以上, ...
- 饭否Oauth记录
饭否Oauth授权 首先去饭否申请一个应用,创建新应用即可,等待审核.审核通过了之后会拿到consumer_key和consumer_secret.这两个值先记录在代码里.后面经常用到. 然后第一 ...
- iOS-项目开发1-UIImage
UIImage+Extension /// 获取后的数据 a.length > b.length. 同时,使用UIIMageJPEGRepresnetation压缩图片,如果compressio ...
- [JavaScript] 跳出循环方法总结
1.forEach() 方法对数组的每个元素执行一次提供的函数.但是没有办法中止或者跳出 forEach 循环,除了抛出一个异常,该方法没有返回值,return/return false/return ...
- Swift5 语言参考(一) 关于语言参考
本系列文章的这一部分描述了Swift编程语言的形式语法.此处描述的语法旨在帮助您更详细地理解语言,而不是允许您直接实现解析器或编译器. Swift语言相对较小,因为Swift代码中几乎无处不在的许多常 ...
- Spring boot mybatis : Error creating bean with name 'com.github.pagehelper.autoconfigure.MapperAutoConfiguration': Invocation of init method failed;
报错截图: 解决方法: 只能扫描到自定义的mapper,不能扫描到其他文件. @MapperScan("com.streamax.s17.tms.dao.pper.repository&qu ...
- 上传本地文件到github(码云)上(小乌龟方式,sourcetree方式)
一:上传文件到 github 1.打开 https://github.com/ 登录github账号(没有的自己创建),点击右上角创建新仓库 在打开的页面中填写 名字 点击 Create repos ...