Sql 批处理文件连接到服务器并在连接的服务器上执行程序安装

Sql 批处理文件连接到服务器并在连接的服务器上执行程序安装,sql,batch-file,cmd,Sql,Batch File,Cmd,我已经寻找解决方案好几天了,我被卡住了。我已经用尽所有资源,需要解决这个问题。如果有人有想法或知道如何做到这一点,请帮助 我在服务器1上有一个SQL Server数据库。我有一个安装并运行在Server2(ServerName2)上的应用程序和一个需要在此服务器上安装的应用程序中运行的过程 我需要的是在表中插入一行时执行批处理文件。SQL Server数据库位于服务器1上。批处理文件启动一个应用程序并调用一个脚本,该脚本执行一个过程。此脚本需要在安装在Server2上的应用程序中运行。在表上创建

我已经寻找解决方案好几天了,我被卡住了。我已经用尽所有资源,需要解决这个问题。如果有人有想法或知道如何做到这一点,请帮助

我在服务器1上有一个SQL Server数据库。我有一个安装并运行在Server2(ServerName2)上的应用程序和一个需要在此服务器上安装的应用程序中运行的过程

我需要的是在表中插入一行时执行批处理文件。SQL Server数据库位于服务器1上。批处理文件启动一个应用程序并调用一个脚本,该脚本执行一个过程。此脚本需要在安装在Server2上的应用程序中运行。在表上创建insert后,我有一个触发器。现在我需要了解如何执行这个批处理文件。请注意,批处理文件调用安装在不同服务器上的程序

我想到了两种解决方案:

  • 使用SQL Server执行位于Server2上的批处理文件。我尝试使用
    “EXEC xp\u cmdshell”\\ServerName2\C:\MSTR SCRIPT FILES\Batch\u File\u Execute\u OTB\u SCRIPT.bat“

    它返回了2条记录,第一条记录“找不到网络名”,第二条记录为NULL

  • 创建一个批处理文件,其中包含启动.exe程序的ServerName2的连接字符串。如果在ServerName2上运行,我可以获取批处理文件来启动此程序并运行脚本

  • 总之,我需要通过SQL Server或batch™从Server1连接到Server2?这可能吗?如果是,请给我一些指导。

    建立连接后,是否需要调用.exe程序并运行脚本?从远程连接触发此操作的命令是什么?

    以下是一些代码,可帮助您连接到SQL server并查询SQL版本

    @ECHO OFF
    SQLCMD /? > nul 2> nul
    IF ERRORLEVEL 1 ECHO.SQLCMD not found on this machine & PAUSE & GOTO :eof
    
    SET SQLCmdLine=SQLCMD -b -w400
    REM use something like the next line for NT authentication; second line for SQL authentication
    REM for NT SET SQLCmdLine=%SQLCmdLine% -E -S "YourServerName"
    REM for SA SET SQLCmdLine=%SQLCmdLine% -U "YourSQLUserName" -P "YourSQLPassword" -S "YourServerName"
    SET Database=YourDatabaseName
    
    
    REM I will use NT Authentication for this example
    SET SQLCmdLine=%SQLCmdLine% -E -S "(local)"
    SET TestSQLCmdLine=%SQLCmdLine% -h-1 -d "%Database%"
    
    REM this will get the SQL version
    %TestSQLCmdLine% -Q "SELECT @@VERSION" | FINDSTR /v "rows affected"
    
    REM this will run a SQL script
    %TestSQLCmdLine% -i "YourSQLScript.SQL"
    PAUSE
    

    我不确定我是否理解您的意思,这两个服务器都是SQL Server吗?如果是的话,为什么你不能链接服务器并执行远程过程?很抱歉造成混乱。这两台服务器都在Windows server 2008上运行。Server1已安装SQL Server。Server2安装了我的应用程序MSTR。请在批处理文件中使用SQLCMD。请参阅SQLCMD/?今天早些时候我回答了一个类似的问题,当我回答时,这个问题被删除了。NT身份验证还是SQL身份验证?回答,我会回答。谢谢RGuggisberg。。。让我做一些研究…当我试图弄明白你在问什么。。。我不确定SQLCMD是否是您要寻找的。SQLCMD将允许您从bat文件运行SQL查询、SQL脚本等。它不适用于运行bat脚本。