我在使用 C# 创建数据库并在 Azure 中运行 .SQL 脚本文件时遇到了问题。 当我在我的本地机器和本地机器实例中手动测试它时,它只需要 15 秒,但是当我在 Azure 中运行这个相同的脚本文件时,它需要 6 分钟和 37 秒 .我不知道为什么要花这么长时间。你能帮帮我吗...
我使用 SQL Server Management Studio(版本:11.0.9230)生成如下脚本
数据库引擎类型的脚本:SQL Azure 数据库
要编写脚本的数据类型:架构和数据
脚本触发器:真
脚本文件的总大小:6553 KB。
当通过编码运行相同的脚本文件时,它需要将近 12 分钟和 48 秒。 C# 代码:
Regex regex = new Regex("^GO", RegexOptions.IgnoreCase | RegexOptions.Multiline);
string SQLAllText = System.IO.File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + "SQLEXPRESS\\Emptyscript.sql");
string[] SqlLine = regex.Split(SQLAllText);
foreach (string Line in SqlLine)
{
try
{
Errormessage = Line;
SqlCmd.CommandText = Line;
SqlCmd.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show(Errormessage);
objLog.Write(ex, "NewCompanyDatabaseWCF", "CreateDatabase");
}
}
能否请您指导我如何在 Azure 中非常快速地运行脚本文件
谢谢
维克多.A
最佳答案
脚本的执行速度取决于您的数据库所在的性能层以及您的查询占用了多少资源。您可以查询“sys.resource_Stats” View 以查看执行脚本时的资源使用情况。如果您希望此脚本快速执行一次,然后扩展您的数据库,执行脚本,然后缩小。您还可以使用其他 dmv,如 dm_exec_Requests、dm_db_Wait_stats 来查看瓶颈。
关于c# - 使用 sql server management studio 和 C# 编码在 AZURE 中运行 .SQL 脚本需要很长时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31239528/