【问题标题】:Automatically generate scripts for mouse clicks in SSMS?自动为 SSMS 中的鼠标点击生成脚本?
【发布时间】:2012-06-10 16:37:18
【问题描述】:

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

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

SSMS 中有宏录制功能吗?

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

【问题讨论】:

  • 我确信有 3rd 方程序可以做到这一点(它们不需要专门为 SSMS 编写) - 你搜索过吗?

标签: sql-server sql-server-2008 macros ssms


【解决方案1】:

不,SSMS 中没有内置任何内容来记录击键/鼠标点击。 There are plenty of 3rd party programs available, though.

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

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

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

  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 的工作不是保存您执行的每个命令并将其存储在某个位置以便您以后检索它。

【讨论】:

  • “脚本操作到文件”能否在 SQL Server 2008 上运行?还是仅在 2012 年?
  • 在 SQL Server 2008 中应该可以正常工作(我现在不知道 2010 是什么)。你试过了吗?您试图记录您的所有点击和击键具体是哪些对话框?
  • 顺便说一句,我不是指一般的键盘记录程序或屏幕截图软件。我的意思是-当我只使用鼠标在数据库上执行某些操作时,我希望所有这些操作都显示为“某处”的命令。然后,我可以复制这些命令并保留它们以供学习之用。
  • 我认为您不会发现任何东西会观察您单击 SSMS 中的按钮,然后写出 Management Studio 在单击该按钮后代表您执行的 T-SQL。想一想你想要什么。
  • 假设我创建了一个表。然后我做了几列。然后我对这些列进行了一些限制。然后我将测试/虚拟数据放入这些列 - 仅使用管理工作室的 GUI - 没有命令。我希望我的计算机自动生成与上述操作/鼠标点击相关的查询。然后,我将复制这些查询并将它们保存在文本文件中。例如,如果我单击创建表选项,那么我的计算机应该为此创建一个 sql 查询并将其保存在文本文件中。
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2019-03-12
    • 2013-09-29
    • 2013-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多