我需要创建一个TSQL脚本来备份远程SQL Server Express上的数据库(2005)。我在另一个盒子上有一个SQL Server 2005。不确定如何从此SQL Server 2005运行脚本来执行备份作业。
脚本是这样的:
RESTORE DATABASE [myDB] FROM DISK = N'C:\Tmp\myDB.bak' WITH FILE = 1,
NOUNLOAD, STATS = 10
实际上,我使用SQL Server Management Studio Express在远程SQL Server Express上尝试了这个SQL脚本,它运行正常。我问这个问题的原因是我可以在SQL Server 2005上安排一个工作,但我无法在远程SQL Server Express上创建一个计划作业。
我认为另一种方法是首先在SQL Server Express上创建一个SQL SP。然后我将编写一个简单的控制台应用程序来连接到SQL并将SP作为Windows计划作业运行。
答案 0 :(得分:2)
TSQL没有必要这样做。 SQL Server(也称Express)包含一个名为 sqlmaint.exe 的实用程序,它允许您在本地或远程SQL服务器上执行备份操作。只需编写一个使用正确的命令行参数(documentation)调用sqlmaint的批处理文件,并将此批处理文件放在Windows Scheduler中。
如果您仍想通过TSQL执行此操作,SQL Server还包含 osql.exe ,它允许您在本地或远程服务器上执行任意SQL语句。同样,您可以使用简单的批处理文件自动执行它。
编辑:如果您想使用自己的应用程序调用TSQL脚本,了解您的编程语言或首选的数据访问技术可能会有所帮助。