我有托管在Windows azure实例上的web应用程序。我们有一个测试和实时云服务,测试服务有1个实例,实时服务有3个实例。
每晚通过TFS构建自动部署用于测试的应用程序,并使用power shell脚本将其部署到Windows Azure。
问题是,我们有用于数据库模式和数据更改的老式sql脚本(如果需要)。目前,我们必须手动登录到azure sql数据库(SMSS)并运行脚本。
我想使用powershell脚本在每晚通过TFS build Machine运行的每个构建上自动执行sql脚本。我该怎么做呢?
SQL脚本是可重新运行的,所以不用担心,如果它每天都运行相同的脚本,这将不会对测试应用程序造成任何问题。
发布于 2013-02-21 06:56:04
也许我错了,但我认为这很简单。为什么不从PowerShell脚本调用“SQL”实用程序,将SQL脚本文件作为参数传递?
确保使用SQL Server2008 R2或更高版本附带的sqlcmd.exe,以便与SQL Azure一起正常工作。
发布于 2015-06-30 00:06:56
我想了解一下SQL包是如何部署的。
看起来您有一个在每次部署数据库后都必须运行的脚本。这可以使用powershell (ExecuteNonQquery)来完成,就像可以在本地SQL Server上完成一样。
单个查询的:
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$sqlQuery = "Your Query here"
$SqlConnection.ConnectionString = "Database Conncetion String"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = $sqlQuery
$SqlCmd.CommandTimeout = 300
$SqlCmd.Connection = $SqlConnection
$sqlConnection.Open()
$result = $sqlCmd.ExecuteNonQuery()
$sqlConnection.Close()准备好您的查询和连接字符串
有关SQL脚本的问题:,请参阅 here
希望这能有所帮助
https://stackoverflow.com/questions/14959843
复制相似问题