0

我们可以通过 SQL 命令或在 SQL Server Management Studio (Express) 2008 中使用鼠标/键盘简单地单击选项/命令来创建(更新、填充)表等。

有没有办法可以记录我用鼠标执行时发生的所有命令?

SSMS 中有宏录制功能吗?

是否有 3rd 方插件支持 SSMS 中的宏录制?

4

2 回答 2

2

不,SSMS 中没有内置任何内容来记录击键/鼠标点击。不过,有很多 3rd 方程序可用

您应该做的是使用 T-SQL 或 DDL 编写您想要运行的命令。这些非常容易保存到文件、存储在源代码管理中、查看、稍后再次运行等。

在较新版本的 SSMS 中,您通过对话框执行的几乎所有任务都能够编写出您将要执行的更改的脚本(或者只生成一个脚本而不是单击确定):

在此处输入图像描述

编辑您在评论中提出的用例,您可以在其中创建表、添加约束、添加一些虚拟数据。您可以执行以下操作来生成稍后可以使用的脚本:

  1. 打开对象资源管理器
  2. 右键单击您的数据库并选择任务 > 生成脚本
  3. 点击下一步,点击下一步
  4. 在“选择脚本选项”页面上,向下滚动并将“脚本数据”设置为 True
  5. 点击下一步
  6. 检查表并单击下一步
  7. 检查您想要的表,然后单击下一步
  8. 选择是否将脚本写入文件、剪贴板或新的查询编辑器窗口。

你最终会得到这样的东西:

USE [your_database]
GO
/**** set options, object name, script date, etc ****/
CREATE TABLE [dbo].[foo](
  bar INT,
  blat INT,
  CONSTRAINT PK_foo PRIMARY KEY CLUSTERED(bar ASC)
) -- with/on etc.
GO
INSERT [dbo].[foo]([bar],[blat]) VALUES(1,2);
INSERT [dbo].[foo]([bar],[blat]) VALUES(3,4);
GO
ALTER TABLE [dbo].[foo] WITH NOCHECK ADD CONSTRAINT [chk_blat]
  CHECK ((blat > bar))
GO
ALTER TABLE [dbo].[foo] CHECK CONSTRAINT [chk_blat]
GO

我知道这比您想要的要多,但 Management Studio 的工作不是保存您执行的每个命令并将其存储在某个位置以便您以后可以检索它。

于 2012-06-06T16:17:28.013 回答
0

这里有两个可能会有所帮助的选项。

SSMS 工具包有一个查询历史: http ://www.ssmstoolspack.com/Images/Features/QEH1.png

我认为这将按您的预期工作,因为您与 GUI 的交互将转换为 T-SQL 命令,应该由该工具记录。

你可以在这里下载: http ://www.ssmstoolspack.com/Features

如果您开始熟悉实际命令,您可以使用 SQL Tab Magic,它会自动保存您的 SSMS 查询窗口以供将来检索: http ://www.red-gate.com/products/sql-development/sql-prompt/ entrypage/sqltabmagic

于 2012-06-09T05:11:11.623 回答