生成由SQL Server管理套件产生的T-SQL命令
2008-10-08 10:08:12 来源:WEB开发网问题
有了SQL Server管理套件你就可以做你在使用T-SQL命令时可以做的任何事情了。使用图形用户界面的一个问题是要记住所有你点击过的来再次重新执行这个动作是很困难的。另一个问题是你通过图形用户界面所做的大部分事情都立即执行了,这并不总是最好的。那么该怎样捕捉SQL Server正在做什么以便我之后可以重新执行这个动作或运行这些命令?
专家解答
SQL Server管理套件的另一个新添加的功能是生成大多数你可以通过图形用户界面来进行的命令和操作。让我们进行一个数据库备份来作为示例吧。
假设我们需要备份AdventureWorks数据库,但是我们不想立即运行这个备份,我们只想生成这个代码。有一个方法是让图形用户界面生成这个代码。
让图形用户界面生成脚本
我们需要做的第一件事是通过图形用户界面进行创建备份的步骤。为此我们只要右键单击数据库名称并选择Tasks -> Back Up。这之后我们就看到了如下所示的界面:
这些是我们在一般标签页设置的参数。
这些是我们在选项标签页设置的参数。
当我们选择了要为备份选择的所有参数,点击窗口上部中间位置的“Script”选项。如果你点击了“Script”旁边的向下箭头,你将看到四个选项。
Script Action to New Query Window – 这将打开一个新的查询窗口并将T-SQL代码放到这个新查询窗口中。
Script Action to File – 这将允许你保存这个T-SQL代码到一个文件中。
Script Action to Clipboard – 这将复制这个T-SQL代码到剪贴板以便你可以将它黏贴到另一个应用程序中。
Script Action to Job – 这将创建这个T-SQL代码和一个SQL代理工作并使你可以为这个工作制定时间表。
这是我们选择任何这些选项获得的输出,不过我使用的是“Script Action to New Query Window”。我还将这个输出的格式重新改了一些,使其更易读。正如你所看到的,这是很简单的一种方式来快速生成大量的代码,然后你就可以定制这些代码来满足你的需求。
BACKUPDATABASE[AdventureWorks] TODISK=N'C:SQL_BackupAdventureWorks_full_20080522.BAK' WITHDESCRIPTION=N'FullbackupoftheAdventureWorksdatabase', NOFORMAT, INIT, NAME=N'AdventureWorks-FullDatabaseBackup', SKIP, NOREWIND, NOUNLOAD, STATS=10, CHECKSUM GO DECLARE@backupSetIdASINT SELECT@backupSetId=position FROMmsdb..backupset WHEREdatabase_name=N'AdventureWorks' ANDbackup_set_id=(SELECTMAX(backup_set_id) FROMmsdb..backupset WHEREdatabase_name=N'AdventureWorks') IF@backupSetIdISNULL BEGIN RAISERROR(N'Verifyfailed.Backupinformationfordatabase''AdventureWorks''notfound.',16,1) END RESTOREVERIFYONLY FROMDISK=N'C:SQL_BackupAdventureWorks_full_20080522.BAK' WITHFILE=@backupSetId, NOUNLOAD, NOREWIND GO |
更多精彩
赞助商链接