如何使用BAT文件运行脚本?

l--*_*''' 8 sql windows sql-server batch-file sqlcmd

我想有一个BAT文件打开一个sql server脚本.目前我在sql文件中有这个代码:

declare @path varchar(255), @mydb varchar(50)
SELECT @mydb = 'timeclockplus'
select @path = 'C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\Backup\' 
            + @mydb + '-' + convert(varchar(8),getdate(),112) + '.bak'
BACKUP DATABASE @mydb TO DISK = @path
Run Code Online (Sandbox Code Playgroud)

如何从BAT文件中打开此SQL文件?

我目前正在尝试像这样运行它:

C:\Program Files\Microsoft SQL Server\80\Tools\Binn\osql -E 
   -S Sql server-hl7\timeclockplus timeclockplus.sql -oresults.txt
Run Code Online (Sandbox Code Playgroud)

但是BINN目录中不存在OSQL,

dri*_*iis 16

您应该从批处理文件中调用sqlcmd命令行工具.假设您的sql文件是"backup.sql",命令行将类似于:

sqlcmd -E -S yoursqlinstance -i backup.sql
Run Code Online (Sandbox Code Playgroud)

-E使用可信连接,替换为-U,-P如果需要指定SQL用户名和密码.另请参阅本文以及示例.