【数据库】Sql Server可视化工具SSMS条件和SQL窗格以及版本信息

2023年,第34周,第1篇文章。给自己一个目标,然后坚持总会有收货,不信你试试!
SQL SERVER 官方本身就有数据库可视化管理工具SSMS,所以大部分都会使用SSMS。以前版本是直接捆绑,
安装完成就自带有,最近版本可以不捆绑,需要单独下载安装对应版本。

目录

  • 一、可视化工具
    • 1.1、Azure Data Studio
    • 1.2、Visual Studio Code
    • 1.3、DBeaver
    • 1.4、SQL Server Data Tools (SSDT)
    • 1.5、dbForge Studio for SQL Server
    • 1.6、Navicat for SQL Server
  • 二、SSMS版本
    • 1.1、SQL Server 2008 SSMS
    • 1.2、SQL Server 2012 SSMS
    • 1.3、SQL Server 2014 SSMS
    • 1.4、SQL Server 2016 SSMS
    • 1.5、SQL Server 2017 SSMS
    • 1.6、SQL Server 2019 SSMS
  • 三、常见系统表
    • 1.1、sys.objects
    • 1.2、sys.columns
    • 1.3、sys.tables
    • 1.4、sys.views
    • 1.5、sys.procedures
    • 1.6、sys.triggers
    • 1.7、sys.indexes
    • 1.8、sys.schemas
    • 1.9、sys.databases
    • 1.10、sys.sysprocesses
  • 四、SQL查询系统表
    • 4.1、查询数据库所有表
    • 4.2、查询表字段和备注

在这里插入图片描述

一、可视化工具

除了 Microsoft SQL Server Management Studio (SSMS),还有许多其他可视化工具可用于管理和查询 SQL Server 数据库。
以下是一些常用的可视化工具:

1.1、Azure Data Studio

这是一个轻量级的跨平台数据库管理工具,可用于连接和管理多个数据库,包括 SQL Server、Azure SQL Database 等。

1.2、Visual Studio Code

虽然它是一个通用的代码编辑器,但通过安装适当的扩展,如 mssql 扩展,可以在 Visual Studio Code 中连接和查询 SQL Server 数据库。

1.3、DBeaver

这是一个功能丰富的开源数据库管理工具,支持多个数据库平台,包括 SQL Server。它提供了直观的用户界面和强大的查询功能。

1.4、SQL Server Data Tools (SSDT)

这是一个 Visual Studio 的插件,专门为 SQL Server 数据库开发提供支持。它提供了数据库项目、模型设计、数据比较和发布等功能。

1.5、dbForge Studio for SQL Server

这是一个功能强大的商业数据库管理工具,提供了广泛的功能,包括数据库设计、查询构建、数据导入导出等。

1.6、Navicat for SQL Server

这是另一个商业数据库管理工具,支持多个数据库平台,包括 SQL Server。它提供了直观的用户界面和丰富的功能集。

这些可视化工具具有不同的功能和用户界面,可以根据个人喜好和需求选择适合自己的工具。
无论您选择哪个工具,都可以方便地进行 SQL Server 数据库的管理和查询。

二、SSMS版本

Microsoft SQL Server Management Studio (SSMS) 是用于管理和操作 Microsoft SQL Server 数据库的集成环境。
它提供了一个图形用户界面,可以进行数据库的设计、查询、管理和调优等操作。

SSMS 的每个版本都会引入一些新的功能和改进,以下是一些常见版本之间的主要区别

1.1、SQL Server 2008 SSMS

发布于 2008 年,这是最早的 SSMS 版本之一。
SSMS 2008 带来了许多新功能和改进,包括:
1)IntelliSense
提供了代码自动完成和语法检查的功能,可以更快速地编写和调试 SQL 查询和脚本。
2)多文件查询编辑器
允许同时打开和编辑多个查询文件,方便进行多个查询之间的比较和调试。
3)依赖关系查看器
允许查看数据库对象之间的依赖关系,方便了解对象之间的依赖和影响。
4)活动监视器
提供了实时监控和分析数据库活动和性能的功能,包括查询的执行计划、锁和阻塞信息等。

1.2、SQL Server 2012 SSMS

发布于2012年3月7日,这个版本引入了一些新的功能,如本地执行计划预览、分组窗口函数语法高亮、
列选择器以及对一些新的 SQL Server 2012 特性的支持。

1.3、SQL Server 2014 SSMS

发布于2014年4月1日,此版本引入了更多的功能和改进,包括缓存扩展模式、多服务器查询等。

1.4、SQL Server 2016 SSMS

发布于2016年6月1日,这个版本增加了对 SQL Server 2016 的许多新功能的支持,如 Temporal 表、动态数据遮罩、行级安全等。

1.5、SQL Server 2017 SSMS

发布于2017年10月2日,此版本引入了一些新的功能,如绘图、自动关联、自动化自检等。

1.6、SQL Server 2019 SSMS

发布于2019年11月4日,这个版本增加了对 SQL Server 2019 的新功能的支持,如 Big Data Clusters、加密数据页、智能查询处理等。

需要注意的是,每个版本的 SSMS 都支持相应版本的 SQL Server 数据库,但通常较新版本的 SSMS 也能向下兼容较旧版本的数据库。
建议使用最新版本的 SSMS,以便获得更多的功能和性能改进。

请注意,以上只是一些主要版本之间的区别,并不详细。
小伙伴们可以查阅 Microsoft 官方文档或更详细的发布说明来了解每个版本的具体改进和新增功能。

三、常见系统表

在 SQL Server 中,系统表是用于存储数据库元数据和系统信息的特殊表。以下是一些常见的 SQL Server 系统表:

1.1、sys.objects

此表包含数据库中所有对象(如表、视图、存储过程、触发器等)的信息,包括其名称、类型、创建日期等。

1.2、sys.columns

该表存储数据库中所有表的列信息,包括列的名称、数据类型、长度等。

1.3、sys.tables

这个表包含数据库中所有的表的信息,包括表的名称、模式、类型、创建日期等。

1.4、sys.views

该表存储数据库中所有的视图信息,包括视图的名称、定义、创建日期等。

1.5、sys.procedures

此表包含数据库中所有存储过程的信息,例如存储过程的名称、定义、创建日期等。

1.6、sys.triggers

该表包含数据库中所有触发器的信息,包括触发器的名称、关联的表、事件类型等。

1.7、sys.indexes

此表存储数据库中所有索引的信息,包括索引的名称、所属表、列等。

1.8、sys.schemas

该表包含数据库中所有的模式信息,包括模式的名称、属主等。

1.9、sys.databases

此表存储所有数据库的信息,包括数据库的名称、创建日期、状态等。

1.10、sys.sysprocesses

该表提供有关当前 SQL Server 实例上运行的每个进程的信息,包括进程的 ID、状态、当前执行的 SQL 语句等。

以上是一些常见的 SQL Server 系统表,它们可以提供关于数据库结构、对象和元数据的重要信息,帮助进行数据库管理、查询和监视。
请注意,这只是一小部分系统表,并且可能因 SQL Server 版本和配置而有所差异。

四、SQL查询系统表

4.1、查询数据库所有表

要查询 SQL Server 数据库中的所有表,你可以使用以下 SQL 查询:

USE YourDatabaseName; -- 替换为你要查询的数据库名称
SELECT *
FROM sys.tables;

在上面的查询中,你需要将 “YourDatabaseName” 替换为你要查询的数据库的实际名称。
该查询将从 sys.tables 系统表中检索到关于数据库中所有表的信息,并返回该信息。

请注意,这个查询将返回包含所有表的结果集,包括系统表和用户表。
如果你只想返回用户表,可以在查询中添加一个附加的筛选条件,例如:

USE YourDatabaseName; -- 替换为你要查询的数据库名称
SELECT *
FROM sys.tables
WHERE is_ms_shipped = 0;

通过将 is_ms_shipped = 0 条件添加到查询中,可以排除系统表,并仅返回用户表。

另外,还可以使用 SSMS 图形用户界面来获取数据库中的所有表。在 SSMS 中,
展开数据库对象(在“对象资源管理器”窗格中可见),然后选择“表”文件夹,你就可以看到该数据库中的所有表。

4.2、查询表字段和备注

要查询 SQL Server 数据库表的字段和字段说明,你可以使用以下 SQL 查询:

USE 数据库名; -- 替换为你要查询的数据库名称
SELECT T.TABLE_NAME AS 表名,C.COLUMN_NAME AS 字段名,P.VALUE AS 字段说明
FROM INFORMATION_SCHEMA.TABLES AS T
INNER JOIN INFORMATION_SCHEMA.COLUMNS AS C ON T.TABLE_NAME = C.TABLE_NAME
LEFT JOIN (SELECT MAJOR_ID,MINOR_ID,NAME,VALUEFROM SYS.EXTENDED_PROPERTIES WHERE NAME = 'MS_Description'
) AS P ON P.MAJOR_ID = OBJECT_ID(T.TABLE_NAME) AND P.MINOR_ID = COLUMNPROPERTY(OBJECT_ID(T.TABLE_NAME), C.COLUMN_NAME, 'ColumnID')
WHERE T.TABLE_TYPE = 'BASE TABLE' and T.TABLE_NAME='你的表名' -- 只查询基本表
ORDER BY T.TABLE_NAME, C.ORDINAL_POSITION;

在这里插入图片描述

在查询中,将 “数据库名” 替换为你要查询的实际数据库名称。
该查询通过联接 INFORMATION_SCHEMA.TABLES 和 INFORMATION_SCHEMA.COLUMNS 系统视图来检索数据库中表字段的信息。
然后,使用子查询获取字段的说明信息。
查询结果包括表名、字段名和字段说明。
使用 WHERE 子句可以根据需要进行过滤,例如只查询基本表或特定的表。
查询结果按表名和字段顺序排序。
请注意,这个查询默认使用的是 MS_Description 扩展属性来存储字段说明。
如果你在数据库中使用了其他名称来存储说明信息,需要相应地修改 WHERE 子查询中的 NAME = ‘MS_Description’ 条件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/67462.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

归并排序 与 计数排序

目录 1.归并排序 1.1 递归实现归并排序: 1.2 非递归实现归并排序 1.3 归并排序的特性总结: 1.4 外部排序 2.计数排序 2.1 操作步骤: 2.2 计数排序的特性总结: 3. 7种常见比较排序比较 1.归并排序 基本思想: 归并排序(MERGE-SORT)是建立在归并操作上的一种…

Vue使用jspdf和html2canvas组件库结合导出PDF文件

效果图: 1、安装依赖: npm install html2canvas --save npm install jspdf --save 或 yarn add html2canvas --save yarn add jspdf --save 2、封装全局调用方法:this.$exportPDF(#id,文件名) 新建js文件:/utils/html2Pdf.js&am…

centos7 部署kubernetes(带自动部署脚本)

目录 一、实验规划 1、规划表 2、安装前宿主机检查 1.配置主机名 2.制作ssh免密(VM1中执行) 3.修改hosts 文件 4. 修改内核相关参数 5.加载模块 6. 清空iptables、关闭防火墙、关闭交换空间、禁用selinux 7. 安装ipvs与时钟同步 8.配置docker的…

brew+nginx配置静态文件服务器

背景 一下子闲下来了,了解的我的人都知道我闲不下来。于是,我在思考COS之后,决定自己整一个本地的OSS,实现静态文件的访问。那么,首屈一指的就是我很熟的nginx。也算是个小复习吧,复习一下nginx代理静态文…

Gitee+Jenkins(docker版)自动推送并部署Springboot项目到远程服务器

如果要参考gitlab配置请参考GitlabWebhook自动推送并更新Springboot项目 Gitlab的配置部分 环境介绍 Jenkins服务器(Centos7.6): docker安装的jenkins,参考Jenkins(docker安装)部署Springboot项目JDK1.8Maven3.6.3 注意docker安装的jenkins,而且是较新的版本,所以jenkins容器…

探讨uniapp的网络通信问题

uni-app 中有很多原生的 API,其中我们经常会用到的肯定有:uni.request(OBJECT) method 有效值 注意:method有效值必须大写,每个平台支持的method有效值不同,详细见下表。 success 返回参数说明 data 数据说明 最终…

第一个ArkTS项目实践-鸿蒙ArkTS

第一个ArkTS项目实践-ArkTS 第一个ArkTS项目实践-ArkTS自定义组件的组成配置属性与布局配置属性布局 改变组件状态循环渲染列表数据代码ToDoItem组件ToDoList页面 效果参考资料 第一个ArkTS项目实践-ArkTS 本篇文章是官网上视频对ArkTS开发实践的第一个视频,主要是引…

鸿蒙剥离 AOSP 不兼容 Android 热门问题汇总,不吹不黑不吵

上周发了一篇 《鸿蒙终于不套壳了?纯血 HarmonyOS NEXT 即将到来》的相关资讯,没想到大家「讨(fa)论(xie)」的热情很高,莫名蹭了一波流量,虽然流量对我来说也没什么用,但…

点击base64编码过的图片在另一个页面显示

开始的代码是这样的,新开一个窗口显示经过base64编码后的图片,但是url太长了显示失败。 openImage(imgSrc) {window.open(imgSrc, _blank); }, 解决方法:这段代码接收一个Base64编码的图像数据,把它转换为一个Blob对象。 Blob&…

warning: remember to run ‘libtool --finish /usr/local/1/php-7.4.29/libs

ubuntu上php7.4.33编译安装完成后警告报错,如下所示 # /usr/local/apache2/apr/build-1/libtool --finish /usr/local/soft/php-7.4.33/libs # vim /etc/ld.so.conf.d/local.conf /usr/local/lib /usr/lib64 # ldconfig 或者安装依赖服务,重新编译 #…

Unity3D高级编程:主程手记学习1

第一章 软件架构 Untiy 分层设计 分层后再分治

使用基于jvm-sandbox的对三层嵌套类型的改造

使用基于jvm-sandbox的对三层嵌套类型的改造 问题背景 先简单介绍下基于jvm-sandbox的imock工具,是Java方法级别的mock,操作就是监听指定方法,返回指定的mock内容。 jvm-sandbox 利用字节码操作和自定义类加载器的技术,将原始方法…