在我的工作中,我偶尔会执行以下任务:
然后重复一大堆其他服务器。这加起来超过一个小时,我正在试图找到一种自动化方法。这样做的最佳方法是什么?我不认为Windows在命令行方面功能丰富,而且我对网络协议缺乏经验。
答案 0 :(得分:1)
您可以使用批处理文件和计划任务自动执行此类行为。
您可以从此处安装SQL Server命令行实用程序11: http://www.microsoft.com/en-us/download/details.aspx?id=36433
在此处查找其提供的实用程序的参考资料: http://technet.microsoft.com/en-us/library/ms162816.aspx
您需要编写一个批处理文件,按顺序执行您的操作。我建议您在开发批处理文件时对测试数据库运行非致命的SQL查询,但它将是这样的:
::Copy the files
xcopy "\\server\c$\Source\*.*" "\\server\c$\Destination\"
::Set your MS SQL variables
set /p SName="Server Name"
set /p UName="User Name"
set /p Pwd="Password"
set /p DbName="Database Name"
::Execute your SQL query
sqlcmd -S %SName% -U %UName% -P %Pwd% -d %DbName% -i "c:\sqlCommand.sql"
然后,您需要将其设置为可以访问这两个网络位置的用户帐户(或服务帐户)作为Windows计划任务运行。
这应该可以解决问题。