打开SQL Server Mangement Studio,然后依次打开:工具->选项->环境->键盘->查询快捷方式,大家可以看到,SSMS已经自带了12个快捷键,其中3个已经有了定义。善用这些快捷方式,分析对象时会让你有行云流水般的感觉,下面我就介绍几个常用的快捷键

 

快捷方式

存储过程

说明

Alt + F1

sp_help

查看对象帮助信息(默认设置)

Ctrl + F1

sp_helptext

查看对象定义信息,配合Ctrl+T(以文本形式显示查询结果),可快速获取对象的定义内容

Ctrl + 1

sp_who

查看SQL Server进程信息(默认设置)

Ctrl + 2

sp_lock

查看进程的锁信息(默认设置)

Ctrl + 3

 

 

Ctrl + 4

sp_executesql N'EXEC(''SELECT ObjectDefinition=b.name FROM (SELECT Content=CONVERT(XML, ''''<root><v><![CDATA['''' + REPLACE(OBJECT_DEFINITION(OBJECT_ID(''''''+ @ObjectName +'''''')), CHAR(13)+CHAR(10), '''']]></v><v><![CDATA['''') +'''']]></v></root>'''')) a OUTER APPLY (SELECT [name] = C.v.value(''''.'''',''''NVARCHAR(MAX)'''') FROM a.Content.nodes(''''/root/v'''') C(v)) b'')', N'@ObjectName NVARCHAR(255)',

 

获取对象定义(视图 ,函数 , 存储过程, 触发器等)

Ctrl + 5

sp_spaceused

查看数据库或表的空间占用情况(我一般用它查看某个表的大概行数)

Ctrl + 6

sp_executesql N'SELECT name, base_object_name, create_date, modify_date FROM sys.synonyms WHERE name = @name', N'@name NVARCHAR(255)',

查看同义词定义

Ctrl + 7

sp_helpindex

查看表的索引信息

Ctrl + 8

 

 

Ctrl + 9

sp_executesql N'EXEC(''SELECT * FROM '' + @tablename)', N'@tablename nvarchar(255)',

查询表的所有记录

Ctrl + 0

sp_executesql N'EXEC(''SELECT TOP(5) * FROM '' + @tablename)', N'@tablename nvarchar(255)',

查询表的前5行记录


说明

  #1. 执行原理:当在SSMS中按下快捷键时,会调用其已经绑定的存储过程;如果当前活动连接窗口中有选中的文本,则把文本值作为参数传给存储过程执行,否则无参数执行存储过程。好像只能传一个参数。

     #2. 设置完成后,重启SSMS起效。

     #3. 编写自定义查询时,为了灵活,一般是调用sp_executesql存储过程,且用EXEC的方式实现,示例如下:

USE tempdb
GO

--新建测试表
IF object_id('TestShortKey', 'u') IS NOT NULL
    DROP TABLE dbo.TestShortKey
go

CREATE TABLE dbo.TestShortKey
(
    id int,
    name varchar(10),
    code char(5)
)
INSERT INTO dbo.TestShortKey(id,name,code) VALUES(1,'wyl','')
go

--假如我要查询TestShortKey表中name字段的前5行记录,参考如下
--#1.先把EXEC写好,并保证执行结果正确
DECLARE @FieldName NVARCHAR(100)
SET @FieldName = N'name'
EXEC('SELECT TOP(5) ' + @FieldName + ' FROM dbo.TestShortKey')

--#2.把EXEC那行SQL放到第三方编辑器中,把所有的'替换成'',结果如下
EXEC(''SELECT TOP(5) '' + @FieldName + '' FROM dbo.TestShortKey'')

--#3.把#2中的字符串,和#1中的参数定义,粘贴到sp_executesql后的参数中,并让其成为1行
sp_executesql N'EXEC(''SELECT TOP(5) '' + @FieldName + '' FROM dbo.TestShortKey'')', N'@FieldName NVARCHAR(100)',

--#4.定义好快捷键后,输入一个"name"单词,并双击选中,按下快捷键
name

ssms怎么看restoring进度 ssms怎么打开_EXEC


小结

  快捷键的定义可提高分析对象时的效率,建议大家根据需要定义自己的快捷键。