Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用SQLServerManagementStudio和C#编码在AZURE中运行.SQL脚本需要很长时间_C#_Azure Sql Database - Fatal编程技术网

使用SQLServerManagementStudio和C#编码在AZURE中运行.SQL脚本需要很长时间

使用SQLServerManagementStudio和C#编码在AZURE中运行.SQL脚本需要很长时间,c#,azure-sql-database,C#,Azure Sql Database,我在Azure中使用C#创建数据库并运行.SQL脚本文件时遇到了一个问题。 当我在本地机器和本地机器实例中手动测试它时,只需15秒,但当我在Azure中运行相同的脚本文件时,需要6分钟37秒。我不知道为什么要花这么长时间。你能帮我 我使用SQL server Management Studio(版本:11.0.9230)生成如下脚本 数据库引擎类型的脚本:SQL Azure数据库 要编写脚本的数据类型:架构和数据 脚本触发器:True 脚本文件的总大小:6553 KB。 当通过编码运行同一个脚本

我在Azure中使用C#创建数据库并运行.SQL脚本文件时遇到了一个问题。 当我在本地机器和本地机器实例中手动测试它时,只需15秒,但当我在Azure中运行相同的脚本文件时,需要6分钟37秒。我不知道为什么要花这么长时间。你能帮我

我使用SQL server Management Studio(版本:11.0.9230)生成如下脚本

  • 数据库引擎类型的脚本:SQL Azure数据库

  • 要编写脚本的数据类型:架构和数据

  • 脚本触发器:True

    脚本文件的总大小:6553 KB。

  • 当通过编码运行同一个脚本文件时,几乎需要12分钟48秒。 C#代码:

    你能指导我如何在Azure中快速运行脚本文件吗

    谢谢


    Victor.A

    脚本的执行速度取决于数据库所在的性能层以及查询占用的资源量。您可以查询“sys.resource_Stats”视图,以查看执行脚本时的资源使用情况。如果希望此脚本快速执行一次,请放大数据库,执行脚本,然后缩小。您也可以使用其他DMV,如dm_exec_Requests、dm_db_Wait_stats来查看瓶颈。

    您可以发布部分scipt,以便我们可以看到您在做什么吗?嗨,Luc,谢谢您的回复,部分脚本意味着我可以发布完整的脚本文件,还是可以发布在几个脚本行上。。。?我有很多文件(SP、触发器和视图)。通常在触发器中创建表、视图很快。可能较慢的是以下操作之一:-插入许多记录-在大型表上创建索引-更新数据在我的例子中,我添加了一个新行,用于仅为两个表创建(创建聚集索引LoginDetail_INDEX),并且插入了一些表数据..您使用的是basic、standard还是premium?
    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");
                                }
                            }