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

news2024/12/23 19:48:17

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,
        VALUE
    FROM 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.coloradmin.cn/o/879061.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

idea入门与maven配置的一些介绍

idea入门与maven配置的一些介绍 1.确保Java和Maven已安装2.创建一个新的Maven项目3.导航到要创建项目的目录配置Maven4.配置项目的pom.xml文件5.配置其他Tomcat和设置jdk6.构建和运行项目 关于idea入门基础配置 步骤1:安装IntelliJ IDEA 首先,从IntelliJ…

Python-OpenCV中的图像处理-GrabCut算法交互式前景提取

Python-OpenCV中的图像处理-GrabCut算法交互式前景提取 Python-OpenCV中的图像处理-GrabCut算法交互式前景提取 Python-OpenCV中的图像处理-GrabCut算法交互式前景提取 cv2.grabCut(img: Mat, mask: typing.Optional[Mat], rect, bgdModel, fgdModel, iterCount, mode…) img…

vmalert集成钉钉告警

vmalert通过在alert.rules中配置告警规则实现告警,告警规则语法与Prometheus兼容,依赖Alertmanager与prometheus-webhook-dingtalk实现钉钉告警,以下步骤: 1、构建vmalert 从源代码构建vmalert: git clone https://…

TCGA数据下载推荐:R语言easyTCGA包

#使用easyTCGA获取数据 #清空 rm(listls()) gc() # 安装bioconductor上面的R包 options(BioC_mirror"https://mirrors.tuna.tsinghua.edu.cn/bioconductor") if(!require("BiocManager")) install.packages("BiocManager") if(!require("TC…

制作自己的数据集并训练的YOLOv8模型

文章目录 1.制作数据集1.1 下载安装labelImg1.2 开始制作数据集 准备训练分配数据集训练测试 1.制作数据集 1.1 下载安装labelImg LabelImg源码 下载好源码并 cd到源码路径下 安装需要的环境 # 安装lxml pip install lxml# 安装pyqt5 pip install pyqt5# 将"resources…

机器学习算法之-逻辑回归(1)

什么是回归 回归树,随机森林的回归,无一例外他们都是区别于分类算法们,用来处理和预测连续型标签的算法。然而逻辑回归,是一种名为“回归”的线性分类器,其本质是由线性回归变化而来的,一种广泛使用于分类问…

【PubMed】生物医学文献数据库检索指南

【文献检索一般步骤】 搜索关键词,筛选结果,阅读摘要,获取全文。 第一步:访问PubMed 打开浏览器并进入PubMed网站(https://pubmed.ncbi.nlm.nih.gov/)。 第二步:构建查询 在PubMed首页的搜…

Datawhale Django后端开发入门Task01 Vscode配置环境

首先呢放一张运行成功的截图纪念一下,感谢众多小伙伴的帮助呀,之前没有配置这方面的经验 ,但还是一步一步配置成功了,所以在此以一个纯小白的经验分享如何配置成功。 1.选择要建立项目的文件夹,打开文件找到目标文件夹…

JS导出复杂多级表头的Excel

使用方式 1、安装依赖 npm install xlsx-js-style2、复制代码文件exportExcel.js至工程 https://github.com/EnthuDai/export-excel-in-one-line 3、在引入excel.js后调用 Excel.export(columns, dataSource, 导出文件名)4、代码demo 5、效果 页面excel 适用范围 对于使…

游戏中的UI适配

引用参考:感谢GPT UI适配原理以及常用方案 游戏UI适配是确保游戏界面在不同设备上以不同的分辨率、屏幕比例和方向下正常显示的关键任务。下面是一些常见的游戏UI适配方案: 1.分辨率无关像素(Resolution-Independent Pixels)&a…

Koordinator 异构资源/任务调度实践

作者:李涛(吕风) 前言 Koordinator 是阿里云基于过去我们建设的统一调度系统中积累的技术和实践经验,对外开源了新一代的调度系统。Koordinator 支持 Kubernetes 上多种工作负载的混部调度。它的目标是提高工作负载的运行时效率…

《测试设计思想》——图书推荐

前言: 在当今软件行业飞速发展的时代,软件测试的重要性日益凸显。为了帮助读者提高测试效率和测试质量,清华大学出版社推出了一本名为《测试设计思想》的书籍,由知名专家周海旭老师撰写。这本书深入探讨了测试设计的思想和方法&am…

目前有哪些好用的免费开源wms仓储管理软件?

什么是开源? 开源指的是软件的源代码是公开可见和可自由使用的。开源软件的授权许可通常允许用户查看、修改和分发源代码,以及根据自己的需求进行定制和扩展。 开源工具的核心理念是共享和协作。通过开放源代码,开源软件鼓励用户之间的合作…

Vue2-组件,组件的使用及注意点,组件嵌套,VueComponent构造函数,单文件组件

🥔:功不唐捐 更多Vue知识请点击——Vue.js VUE-Day5 组件与使用组件的三大步1、定义组件(创建组件)2、注册组件①局部注册②全局注册 3、使用组件小案例: 使用组件的一些注意点1.关于组件名2.关于组件标签3.一个简写方式 组件的嵌套VueCompon…

JVM 内存结构快速入门

文章目录 一、简介二、JVM内存区域2.1 方法区2.3.2 永久代和元空间 2.2 堆2.1.2 对象的创建和销毁 2.2 栈内存2.2.1 栈帧的组成和作用2.2.2 栈的特点 2.4 程序计数器2.4.1 程序计数器的作用和使用场景 一、简介 Java 内存模型(Java Memory Model,JMM&…

013 怎么激活win10系统?

1、搜索软件Windows PowerShell: 在“开始”菜单栏,搜索“Windows PowerShell.exe”,以管理员模式打开。 2、输入 三条命令: (1)slmgr /ipk VK7JG-NPHTM-C10JM-9MPGT-3A77T (最后这个字符为秘钥&#xf…

力扣初级算法(数组拆分)

力扣初级算法(数组拆分) 每日一算法: 力扣初级算法(数组拆分) 学习内容: 1.问题描述 给定长度为 2n 的整数数组 nums ,你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), …, (an, bn) …

MATLAB中的代数环概念

在 Simulink 模型中,当存在信号环并且信号环中只存在直接馈通模块时,将出现代数环。直接馈通表示 Simulink 需要模块输入信号的值来计算当前时间步的输出。这种信号循环会在同一时间步中产生模块输出和输入的循环依存关系。这会导致一个需要在每个时间步…

基于C#的无边框窗体阴影绘制方案 - 开源研究系列文章

今天介绍无边框窗体阴影绘制的内容。 上次有介绍使用双窗体的方法来显示阴影,这次介绍使用API函数来进行绘制。这里使用的是Windows API函数,操作系统的窗体也是用的这个来进行的绘制。 1、 项目目录; 下面是项目目录; 2、 函数介…

Nginx搭建本地服务器,无需购买服务器即可测试vue项目打包后的效果

一.前言 本文是在windows环境(Linux环境下其实也大同小异)下基于Nginx实现搭建本地服务器,手把手教你部署vue项目。 二.Nginx入门 1)下载安装 进入Nginx官网下载,选择stable版本下的windows版本下载即可 2)…