我们可以从 RDS 实例 运行 sqlcmd 吗?
Can we run sqlcmd from RDS instance?
我们有一个用于 .NET 应用程序的 EC2 实例和一个用于 SQL Server Express 的 RDS 实例。由于 Express 不支持 Sql 代理作业,我们需要使用 sqlcmd 并将其安排为批处理。可以在 RDS 实例中设置批处理文件吗?如果可以,如何设置?如果没有,是否有其他免费替代方案无需在 EC2 中设置 SQL 服务器?
我认为您可能必须使用来自 EC2 实例的一些 PowerShell
命令来针对 RDS 实例使用 .Net 应用程序。
示例命令如下
C:\Users\Administrator> Invoke-Sqlcmd –ServerInstance -Database EduData –Query “SELECT id, name, value, testscore FROM TestScores” –Username -Password
注意:我认为您需要在 .Net 应用程序 EC2 实例上安装 SQL 客户端软件才能执行此操作。
现在您可以在 EC2 实例上创建批处理作业。
希望对您有所帮助
您实际上无法将 RDP 连接到 RDS 实例中:
来自Microsoft SQL Server on Amazon RDS
In order to deliver a managed service experience, Amazon RDS does not
provide shell access to DB instances
因此您不能直接在实例上 运行 sqlcmd
。同样对于批处理文件,它们不能安装在 RDS 实例上。
正如@vmachan 所建议的,您需要在单独的实例上安装客户端工具才能访问命令行功能。
您可以使用下面的命令。它对我有用。
"c:\Program Files\Microsoft SQL Server0\Tools\Binn\SQLCMD.EXE" -S
"xxxxxxxxx.us-east-1.rds.amazonaws.com" -d database -U user_id -P
password -i "path\SqlQueryName.sql"
或没有数据库名称
"c:\Program Files\Microsoft SQL Server0\Tools\Binn\SQLCMD.EXE" -S
"xxxxxxxxx.us-east-1.rds.amazonaws.com" -U user_id -P password -i
"path\SqlQueryName.sql"
您无法从 RDS 实例调用 CMD 文件。与可以从 sql 服务器代理作业调用 cmd 的 Prem sql 服务器不同,在 RDS 中这是不可能的。我的任务是在 sql 服务器代理作业中停止 DMS 任务,然后使用备份对数据库进行全新恢复。停止 DMS 的任务想在 sql 代理作业中使用它,尝试了很多,我看到的唯一解决方案是在 sql 代理作业之外的批处理文件中使用此 DMS 任务,然后 运行 它首先然后 sql 代理作业来进行恢复。任何其他有用的提示或解决方案将不胜感激!谢谢!注意:它是 RDS 而不是 EC2 上的 sql。
我们有一个用于 .NET 应用程序的 EC2 实例和一个用于 SQL Server Express 的 RDS 实例。由于 Express 不支持 Sql 代理作业,我们需要使用 sqlcmd 并将其安排为批处理。可以在 RDS 实例中设置批处理文件吗?如果可以,如何设置?如果没有,是否有其他免费替代方案无需在 EC2 中设置 SQL 服务器?
我认为您可能必须使用来自 EC2 实例的一些 PowerShell
命令来针对 RDS 实例使用 .Net 应用程序。
示例命令如下
C:\Users\Administrator> Invoke-Sqlcmd –ServerInstance -Database EduData –Query “SELECT id, name, value, testscore FROM TestScores” –Username -Password
注意:我认为您需要在 .Net 应用程序 EC2 实例上安装 SQL 客户端软件才能执行此操作。
现在您可以在 EC2 实例上创建批处理作业。
希望对您有所帮助
您实际上无法将 RDP 连接到 RDS 实例中:
来自Microsoft SQL Server on Amazon RDS
In order to deliver a managed service experience, Amazon RDS does not provide shell access to DB instances
因此您不能直接在实例上 运行 sqlcmd
。同样对于批处理文件,它们不能安装在 RDS 实例上。
正如@vmachan 所建议的,您需要在单独的实例上安装客户端工具才能访问命令行功能。
您可以使用下面的命令。它对我有用。
"c:\Program Files\Microsoft SQL Server0\Tools\Binn\SQLCMD.EXE" -S "xxxxxxxxx.us-east-1.rds.amazonaws.com" -d database -U user_id -P password -i "path\SqlQueryName.sql"
或没有数据库名称
"c:\Program Files\Microsoft SQL Server0\Tools\Binn\SQLCMD.EXE" -S "xxxxxxxxx.us-east-1.rds.amazonaws.com" -U user_id -P password -i "path\SqlQueryName.sql"
您无法从 RDS 实例调用 CMD 文件。与可以从 sql 服务器代理作业调用 cmd 的 Prem sql 服务器不同,在 RDS 中这是不可能的。我的任务是在 sql 服务器代理作业中停止 DMS 任务,然后使用备份对数据库进行全新恢复。停止 DMS 的任务想在 sql 代理作业中使用它,尝试了很多,我看到的唯一解决方案是在 sql 代理作业之外的批处理文件中使用此 DMS 任务,然后 运行 它首先然后 sql 代理作业来进行恢复。任何其他有用的提示或解决方案将不胜感激!谢谢!注意:它是 RDS 而不是 EC2 上的 sql。