在sql脚本中使用系统环境变量

Mat*_*att 7 sql-server

在SQL脚本中

GO
:setvar DefaultDataPath "%DataDrive%:\SQL\MSSQL\Data"
Run Code Online (Sandbox Code Playgroud)

脚本会从环境变量中获取%DataDrive%吗?如果没有,有没有办法从SQL脚本获取DataDrive环境变量?

Håv*_*d S 6

SQL Serversqlcmd支持脚本变量,可以通过以下三种方式之一进行设置:

  • :setvar像上面一样在脚本中本地使用
  • 使用-v选项传递给脚本
  • 在脚本运行之前设置为环境变量

换句话说,您可以%DataDrive%在脚本中替换为 $(DataDrive) 并在运行前将 DataDrive 设置为环境变量,或者-v DataDrive=D:\在使用sqlcmd.