sql - T-SQL - 未定义脚本变量

标签 sql sql-server tsql

我是新来的 T-SQL我正在尝试备份我的数据库(使用 SQL Server 2008)。

当我尝试通过 sqlcmd -i inputfile 运行脚本时我收到此错误消息:'DATE' Scripting variable not defined .

问题是我有这样一行:
... TO DISK = "FileName_$(ESCAPE_NONE(DATE)).BAK" ...
在文件名中包含日期,它将阻止它替换我的旧备份。

如果我在管理工作室中运行它,它可以工作,但如果我在命令行中使用 sqlcmd -i 运行它命令,然后它不起作用。

编辑:

我查看了工作历史记录,看到了以下错误消息:

"For SQL Server 2005 SP1 or later, you must use the appropriate ESCAPE_xxx macro to update job steps containing tokens before the job can run"



我不太明白这是什么意思。我已经用过 $ESCAPE_NONE(DATE) , 怎么了?

最佳答案

我知道老问题,但这是第一个结果,如果其他人有同样的问题,答案并不是特别容易找到。

包括 -x 开关以禁用环境变量为我解决了问题;

sqlcmd -x -i inputfile

关于sql - T-SQL - 未定义脚本变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12946257/

相关文章:

sql - 如何在select语句中使用变量?

tsql - 通过在脚本末尾使用 ROLLBACK 来测试 SQL 脚本是个好主意吗?

sql - VB.Net 插入多条记录

sql - 查询SQL中最新条目的最有效方法是什么?

sql - 如何在 AMAZON REDSHIFT 中将 userip 转换为整数

php - 以编程方式用年月值填充列

sql-server - 添加参数时SSIS性能下降

SQL DISTINCT 不会删除重复项

sql-server - 获取给定年份中所有星期六的日期 - sql server

sql-server - 与表不同的存储过程的架构查找(错误?)