将多个存储过程每晚导入所有数据库

时间:2017-05-16 14:13:07

标签: sql-server stored-procedures import

我有一个看似奇怪的用例,我一直无法在Google上找到答案。我有一个带有SQL服务器后端的网站,它每晚从我们不同的客户端抓取几个不同数据库的副本,以便在网络上保存最新信息。该网站使用14种不同的存储过程来获取用户导航网站时所需的所有信息。

到目前为止,我一直在每个客户数据库中手动更新这些程序,以确保它们始终具有最新状态。然而,这很困难,因为我没有很好的远程连接到每个,有些需要与他们的IT部门协调。我的目标是设置一些夜间任务或脚本,这些任务或脚本将在文件夹中查找,并针对每个数据库运行文件夹中的每个.sql文件。

这是我无法取得进展的地方,我知道如何使用SQLCMD通过任务调度程序运行程序,但我不知道如何在使用动态数据库列表时这样做。我已经有一个脚本设置来从一个FTP服务器上运行的.bat文件对每个数据库执行恢复操作,是否可以使用xp_cmdshell在存储在变量中的数据库中运行文件夹中的每个文件?还有其他建议吗?

1 个答案:

答案 0 :(得分:0)

您可以根据需要使用Powershell和程序。您可以从powershell脚本中执行所需的任何操作。只需谷歌你需要的Powershell,你会得到答案。此外,您可以在powershell中使用sqlcmd来对任何数据库运行sql查询。不仅如此,您还可以从文件夹中读取每个文件并逐个运行。

最后,您希望将powershell脚本安排为每晚运行,一种方式是任务计划程序或节点或任何自定义程序或服务。

只需使用正确的关键字google,您就会获得大量资源。

希望你现在有一些想法可以继续前进。