接上文:SQL Server命令行工具简介、执行“sqlcmd”命令行工具 “sqlcmd”提供了在“sqlcmd”输入文件或者脚本中使用变量的方法。这些脚本变量可以通过“sqlcmd”参数或者“sqlcmd”脚本中的“set”命令复制。为了展示脚本中变量的用法,我们来修改一下前面备份的示例,把要备份的数据库作为一个变量。新的名为“c:BackupDatabase.sql”的输入文件应该被创建,它应该包含如下命令: BACKUP DATABASE $(DatabaseToBackup) TO DISK = ‘c:$(DatabaseToBackup).bak’ 前面例子中的变量……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号

TechTarget
官方微博

TechTarget中国
接上文:SQL Server命令行工具简介、执行“sqlcmd”命令行工具
“sqlcmd”提供了在“sqlcmd”输入文件或者脚本中使用变量的方法。这些脚本变量可以通过“sqlcmd”参数或者“sqlcmd”脚本中的“set”命令复制。为了展示脚本中变量的用法,我们来修改一下前面备份的示例,把要备份的数据库作为一个变量。新的名为“c:BackupDatabase.sql”的输入文件应该被创建,它应该包含如下命令:
BACKUP DATABASE $(DatabaseToBackup)
TO DISK = ‘c:$(DatabaseToBackup).bak’
前面例子中的变量被命名为“DatabaseToBackup”。脚本变量都使用“$”标识符。这些变量只存储在执行期间,并在执行时被简单地替换。这使得变量可以在引号内指定,如果必要的话。“-v”选项被用来在命令提示符中给变量复制,如下面的示例所示,它备份了“model”数据库:
sqlcmd -S (local) -E -i”C:BackupDatabase.sql” -v DatabaseToBackup = model
如果在脚本中存在多个变量,它们都可以在“-v”参数后赋值。这些变量不应该被逗号或者分号这类分隔符分离。脚本变量还可以被在脚本内复制,需要使用“:SETVAR”命令。前面备份中的输入文件可以被修改为在脚本中给“DatabaseToBackup ”变量赋值:
:SETVAR DatabaseToBackup Model
BACKUP DATABASE $(DatabaseToBackup)
TO DISK = ‘c:$(DatabaseToBackup).bak’
使用了变量,“sqlcmd”命令以及许多可用选项的脚本可能变得非常复杂,可以使你的管理工作更轻松。本段示例描绘了“sqlcmd”的一些基本特色,包括“osql”中可用功能之外的一些功能特色。
翻译
TechTarget特邀编辑。2003年入软件行业,熟悉软件过程所有环节,对机构信息化的各方面有深入理解和实践经验。现就职于某互联网创业公司,目前关注互联网分布式系统架构和机器学习。喜欢传统文化社科哲学(尤喜《周易》、《老子》),喜健身喜抓举(具备抱人引体向上的能力),喜欢中国象棋(具备盲棋1对2的能力)。
相关推荐
-
Linux支持的引入 推动了SQL Server 2016集成服务的发展
随着SQL Server的不断发展,集成服务也在发生相应的变化。在最新的SSIS更新中,增加Linux支持和SQL Server 2016升级向导。
-
Notre Dame对云端SQL Server性能基准的探索实践
确立SQL Server的性能基准,对于云端迁移来说是至关重要的第一步,一位来自于University of Notre Dame 的DBA表示,他正在试图通过数据库监控软件,找出SQL server的性能基准。
-
DBA必须掌握的数据库恢复管理技术
如果没有备份副本,数据库管理员就无法还原数据库,所以DBA在恢复之前倾向于考虑备份是合乎逻辑的。 但是,对我来说,这种逻辑一直是错误的。
-
横向扩展SQL Server应用程序:提高工作负载的选项
SQL Server管理员面临的最大挑战之一就是扩展数据库以适应更为繁重的数据处理工作负载。然而事情越发复杂的是,虽然Microsoft提供了许多不同的SQL Server可扩展性选项,但它们并不都适合于每种情况。