SQL Server on Azure: Performance Nightmare

Martin2012 wrote:what types of disk have you got holding the SQL data? Hopefully stripped SSDshttps://msdn.microsoft.com/en-us/library/azure/dn133149.aspxCan you you the SQL as a Service http://azure.microsoft.com/en-gb/services/sql-database/
or do you need to config the sqlDB more heavily?Hi MartinWe have deployed our SQL Server in Premium Storage, Standard DS3, giving it a single P20 disk.As we understood, there is also throttling on the machine that u use. this means that a DS3 will limit everything to 128MB/s and 12800 IOPS (we can live with the IOPS though).Neverteless, 128MB/s means that when SQL uses allocation blocks of 64KB, it will also limit the IOPS to 2300.Azure SQL is not an option, since our DB is heavily stressed.We can't get the highest model, since the cost is too high.

Hi guys and gals!I got some problems with running an SQL Server on Azure.
The goal is to deploy our .NET application to Azure by the end of the year. Running our app on a just a simple webserver goes as smooth as ever, no problem.
The big problem is the SQL Server.
SQL on Azure has the reputation to run quite slow. The reading IOPS are OK, but the writing... a NIGHTMARE. We are talking about 0.26 MB/s when it is fresh out of the box!!
After the initial tests, I have found an article with best practices for Azure:
https://msdn.microsoft.com/en-us/library/azure/dn133149.aspxI thought: Good enough, let's try this.
But even after turning our server upside down and back, there are barely any changes.Do you guys also have noticed this problem? What am I doing wrong? Is there something that I missed completely?Thank you and happy computing!
This topic first appeared in the Spiceworks Community

Similar Messages

  • Securing SQL Server 2012 Azure VM with SSL - Help!!!

    Hello all,
    I am trying to encrypt with SSL my SQL server 2012 Azure VM; I have created the cert and I can see it in cert mgr but when I go to SQL config MGR -protocols for MSSQLSERVER to setup the encryption, the certificate tab contains no certificates :(
    this is so annoying please can someone help me with this?
    Thanks so much,
    BN.

    Also, I am getting the following error whilst connecting to the Azure VM client side via SQL management studio:
    “The certificate chain was issued by an authority that is not trusted”
    I can get around this by specifying "TrustServerCertificate=True" in the connection string; what is causing this and should I be alarmed? can this be resolved?
    Hi ,
    According to your error message, When the SQL Server instance has only a self-signed certificate, the encrypt property is set to true and the trustServerCertificate property is set to true. There is an similar issue about SqlException (0x80131904), you can
    review the following post.
    http://stackoverflow.com/questions/17615260/the-certificate-chain-was-issued-by-an-authority-that-is-not-trusted-when-conn
    In addition, there is detail about writing secure connection strings for SQL Database in Windows Azure, you can review it.
    http://social.technet.microsoft.com/wiki/contents/articles/2951.windows-azure-sql-database-connection-security.aspx
    Regards,
    Sofiya Li
    Sofiya Li
    TechNet Community Support

  • Sql server 2014 -missing performance monitor counter

    In sql server 2014  , many performance counters are missing .
    I need  " Buffer cache hit ratio " under "sql server :buffer manager " .Is there any way to get it back or removed form sql server2014 ?
    parul

    Hi
    Shanky ,
    Thanks a lot .it worked for me.
    One thing ,for me Restarting Microsoft SQL Server was not enough ,it needs to restart the machine itself sometimes.
    then i got the missing counters back . :)
    parul

  • Licencing of SQL Server on Azure VM

    hi 
    If i install SQL server on Azure VM on a small instance which provides 1 core.
    Since the licences for SQL server are core based how many licenses will i need to get it installed
    Regards
    Krishna

    Hi Krishna,
    SQL Server in Virtual Environments is licensed in minimum 4 cores. 1 license cover 2 cores so you need 2 license for SQL Server.
    View this:
    http://download.microsoft.com/download/7/3/C/73CAD4E0-D0B5-4BE5-AB49-D5B886A5AE00/SQL_Server_2012_Licensing_Reference_Guide.pdf

  • Which is better for performance Azure SQL Database or SQL Server in Azure VM?

    Hi,
    We are building an ASP.NET app that will be running on Microsoft Cloud which I think is the new name for Windows Azure. We're expecting this app to have many simultaneous users and want to make sure that we provide excellent performance to end users.
    Here are our main concerns/desires:
    Performance is paramount. Fast response times are very very important
    We want to have as little to do with platform maintenance as possible e.g. managing OS or SQL Server updates, etc.
    We are trying to use "out-of-the-box" standard features.
    With that said, which option would give us the best possible database performance: a SQL Server instance running in a VM on Azure or SQL Server Database as a fully managed service?
    Thanks, Sam

    hello,
    SQL Database using shared resources on the Microsft data centre. Microsoft balance the resource usage of SQL Database so that no one application continuously dominates any resource.You can try the 
    Premium Preview
    for Windows Azure SQL Database which offers better performance by guaranteeing a fixed amount of dedicated resources for a database.
    If you using SQL Server instance running in a VM, you control the operating system and database configuration. And the
    performance of the database depends on many factors such as the size of a virtual machine, and the configuration of the data disks.
    Reference:
    Choosing between SQL Server in Windows Azure VM & Windows Azure SQL Database
    Regards,
    Fanny Liu
    If you have any feedback on our support, please click here. 
    Fanny Liu
    TechNet Community Support

  • SQL Server 2012 & sp_describe_first_result_set performance overhead?

    Hi All,
    I'm just wondering if anyone has had the same experience as me when testing queries between SQL Server 2008 R2 SP2 (our DEV Server) and SQL Server 2012 SP1 (our soon to be PROD server).
    We have a query the Spatial Services department run on their DEV server which executes (at an average) of 300ms.
    On the (to be) PROD server (the 2012 SP1 box) the same query also runs at an average of 300ms. The query plans and the clients stats are almost identical. Happy with that. All good.
    The problem that we are seeing is that the PROD server (2012) runs this darned
    sp_describe_first_result_set procedure prior to executing the actual query itself and the execution of sp_describe_first_result_set takes (on average) 3200ms (returning 27 rows). This is a consistent number. So on
    our DEV server the testing of the app takes around 300ms and returns results almost instantly yet testing the same app and same query on SQL 2012 takes around 3.5 seconds.
    Seriously?
    This obviously is not acceptable, especially in an environment that requires highly performant code.
    My questions are:
    Is this normal?
    Has anyone else experienced this overhead?
    Can it be avoided/turned off?
    Any information would be greatly appreciated :)
    Regards,
    Glenn

    Hi Erland,
    Thanks for coming back to me with something to try out.
    When you say "takes a long time to get through" I am guessing that you mean a long time for the engine to look at the query, interrogate it and send back the "metadata" about that particular query? 
    Unfortunately these queries are generated by the client application which construct and throw dynamic SQL at SQL Server for execution.
    On digging further the query generated actually pulls data from a view. This view is constructed to pull data together from 2 remote Servers (1 SQL Server and 1 Sybase server). Executing the view (i.e. selecting the actual query that makes up the view and pressing
    F5) returns data from these two servers almost instantaneously on both the DEV and PROD servers because the view being called on both DEV and PROD servers are actually pointing to the same remote servers (so the data is exactly the same).
    As object metadata information is stored locally to each user database I would assume (and of course I may be wrong) that this information would be obtained from the underlying syscolumns view and therefore should be rather quick (i.e. instantaneous?)
    I'm have no idea about the underlying mechanics of how this new SP sp_describe_first_result_set works so am not sure. It is instantaneous when querying information about local tables (and views that use local tables) but as soon as it queries
    views that rely on remote table data the performance goes out the window. Surely its not using (trying to get) remote metadata information?????
    Thanks for your time.
    Glenn
    SQL Server, its a gas!

  • What would be best approach to migrate millions of records from on premise SQL server to Azure SQL DB?

    Team,
    In our project, we have a requirement of data migration. We have following scenario and I really appreciate any suggestion from you all on implementation part of it.
    Scenario:
    We have millions of records to be migrated to destination SQL database after some transformation.
    The source SQL server is on premise in partners domain and destination server is in Azure.
    Can you please suggest what would be best approach to do so.
    thanks,
    Bishnu
    Bishnupriya Pradhan

    You can use SSIS itself for this
    Have a batch logic which will identify data batches within source and then include data flow tasks to do the data transfer to Azure. The batch size chosen should be as per buffer meory availability + parallel tasks executing etc.
    You can use ODBC or ADO .NET connection to connect to azure.
    http://visakhm.blogspot.in/2013/09/connecting-to-azure-instance-using-ssis.html
    Please Mark This As Answer if it solved your issue
    Please Vote This As Helpful if it helps to solve your issue
    Visakh
    My Wiki User Page
    My MSDN Page
    My Personal Blog
    My Facebook Page

  • ODBC Slow resonse time when connecting to SQL SERVER on Azure VM

    Hello,
    I have extra small AZURE VM with SQL Server Express 2008.
    I managed to connect to the SQL Server by ODBC connection (from access).
    The problem is that the response time is very slow and it is not usable.
    How can I improve the response time?
    If I will use bigger VM or use AZURE SQL SERVER (instead of installing SQL SERVER on VM)
    will the response time be better?
    Thank you for your help

    Hello,
    In addition to resoure of the windows Azure VM, the network and the query may also result to the slow response. When create a Windows Azure SQL Database, it also share resources with other services.
    You can refer to the following blog about manage connections in Windows Azure SQL Database:
    http://social.technet.microsoft.com/wiki/contents/articles/1541.windows-azure-sql-database-connection-management.aspx#GeneralBestPractices
    Regards,
    Fanny Liu
    Fanny Liu
    TechNet Community Support

  • Deploy Sql Server to Azure Sql

    I'm trying to deploy an existing SQL Server database to Azure but I'm getting a "User has been orphaned" error and it fails to deploy.
    How do I fix this?
    Appreciate any help.
    Marilyn Gambone

    Hi
    Most probably the problem is you have orphaned users in your on-prem sql server.
    you should fix your orphaned user and give the migration a try again:
    This query will give you the orphaned users in each database:
    USE DatabaseName
    EXEC sp_change_users_login 'Report';
    You can take a look at this post for fixing the orphaned users:
    http://dbadiaries.com/using-sp_change_users_login-to-fix-sql-server-orphaned-users

  • SQL Server Express Performance Limitations With OGC Methods on Geometry Instances

    I will front load my question.  Specifically, I am wondering if any of the feature restrictions with SQL Server Express cause performance limitations/reductions with OGC methods on geometry instances, e.g., STIntersects?  I have spent time reading
    various documents about the different editions of SQL Server, including the Features Supported by the Editions of SQL Server 2014, but nothing is jumping out at me.  The
    limited information on spatial features in the aforementioned document implies spatial is the same across all editions.  I am hoping this is wrong.
    The situation....  I have roughly 200,000 tax parcels within 175 taxing districts.  As part of a consistency check between what is stored in tax records for taxing district and what is identified spatially, I set up a basic point-in-polygon query
    to identify the taxing district spatially and then count the number of parcels within in taxing district.  Surprisingly, the query took 66 minutes to run.  As I pointed out, this is being run on a test machine with SQL Server Express.
    Some specifics....  I wrote the query a few different ways and compared the execution plans, and the optimizer always choose the same plan, which is good I guess since it means it is doing its job.  The execution plans show a 'Clustered Index Seek
    (Spatial)' being used and only costing 1%.  Coming in at 75% cost is a Filter, which appears to be connected to the STIntersects predicate.  I brute forced alternate execution plans using HINTS, but they only turned out worse, which I guess is also
    good since it means the optimizer did choose a good plan.  I experimented some with changing the spatial index parameters, but the impact of the options I tried was never that much.  I ended up going with "Geometry Auto Grid" with 16 cells
    per object.
    So, why do I think 66 minutes is excessive?  The reason is that I loaded the same data sets into PostgreSQL/PostGIS, used a default spatial index, and the same query ran in 5 minutes.  Same machine, same data, SQL Server Express is 13x slower than
    PostgreSQL.  That is why I think 66 minutes is excessive.
    Our organization is mostly an Oracle and SQL Server shop.  Since more of my background and experience are with MS databases, I prefer to work with SQL Server.  I really do want to understand what is happening here.  Is there something I can
    do different to get more performance out of SQL Server?  Does spatial run slower on Express versus Standard or Enterprise?  Given I did so little tuning in PostgreSQL, I still can't understand the results I am seeing.
    I may or may not be able to strip the data down enough to be able to send it to someone.

    Tessalating the polygons (tax districts) is the answer!
    Since my use of SQL Server Express was brought up as possibly contributing to the slow runtime, the first thing I did was download an evaluation version of Enterprise Edition.  The runtime on Enterprise Edition dropped from 66 minutes to 57.5 minutes.
     A reduction of 13% isn't anything to scoff at, but total runtime was still 11x longer than in PostgreSQL.  Although Enterprise Edition had 4 cores available to it, it never really spun up more than 1 when executing the query, so it doesn't seem
    to have been parallelizing the query much, if at all.
    You asked about polygon complexity.  Overall, a majority are fairly simple but there are some complex ones with one really complex polygon.  Using the complexity index discussed in the reference thread, the tax districts had an average complexity
    of 4.6 and a median of 2.7.  One polygon had a complexity index of 120, which was skewing the average, as well as increasing the runtime I suspect.  Below is a complexity index breakdown:
    Index
    NUM_TAX_DIST
    1
    6
    <2
    49
    <3
    44
    <4
    23
    <5
    11
    <6
    9
    <7
    9
    <8
    4
    <9
    1
    <10
    4
    >=10
    14
    Before trying tessellation, I tweaked the spatial indexes in several different ways, but the runtimes never changed by more than a minute or two.  I reset the spatial indexes to "geometry auto grid @ 32" and tried out your tessellation functions
    using the default of 5000 vertices.  Total runtime 2.3 minutes, a 96% reduction and twice as fast as PostgresSQL!  Now that is more what I was expecting before i started.
    I tried using different thresholds, 3,000 and 10,000 vertices but the runtimes were slightly slower, 3.5 and 3.3 minutes respectively.  A threshold of 5000 definitely seems to be a sweet spot for the dataset I am using.  As the thread you referenced
    discussed, SQL Server spatial functions like STIntersect appear to be sensitive to the number of vertices of polygons.
    After reading your comment, it reminded me of some discussions with Esri staff about ArcGIS doing the same thing in certain circumstances, but I didn't go as far as thinking to apply it here.  So, thanks for the suggestion and code from another post.
     Once I realized the SRID was hard coded to 0 in tvf_QuarterPolygon, I was able to update the code to set it to the same as the input shape, and then everything came together nicely.

  • SQL Server 2012 Deploy Database to SQL Azure...

    I have spent many days trying to copy a simple test database from my PC to SQL Azure but with little success.  Then I installed SQL Server 2012 and see a new task:
    Deploy Database to SQL Azure...  It looks like an automated extraction to DAC and then creating the Azure database all in one step.
    I was elated, but got hit with the following three types of errors.
    One or more unsupported elements were found in the schema used as part of a data package.
    Error SQL71564: The element Extended Property: [dbo].[Accounts].[Address].[MS_Description] is not supported when used as part of a data package (bacpac).
    Error SQL71564: Table Table: [dbo].[Activities] does not have a clustered index.  Clustered indexes are required for inserting data in this version of SQL Server.
    Error SQL71564: Element User: [NT AUTHORITY\NETWORK SERVICE] has an unsupported property AuthenticationType set and is not supported when used as part of a data package.
     (Microsoft.SqlServer.Dac)
    May I know what I can do on the on-premise database to rid of the first and third error?
    Thanks.

    Hello,
    1) Remove the Extended Property from the (?) column Address in table Accounts.
    BTW, for small databases it's sometimes easiere to generate a script for the database (and modify it slightly) instead of using the Wizard
    Olaf Helper
    Blog
    Xing
    What is Extended Property?   What is this .MS_Description?   I can't see it in the table designer or the Column Properties.  (I don't know whether this was corruption caused by Data Sync I used earlier.)  How do I remove it.
    Of all the methods of copying SQL Server to Azure SQL, this one gives the least mistakes.  If I can solve this Extended Properties thing hopefully I can migrate the database over.

  • Why is the PWDCOMPARE function not supported on an Azure SQL Server 2014 database

    I have tried to publish a database from our local SQL Server to Azure but receive an error saying PWDCOMPARE is not supported with no link to a reason why.
    We are using HASHBYTES function to encrypt passwords in our database and
    PWDCOMPARE to validate them and we currently don't have an alternative (see article: http://sqlity.net/en/2460/sql-password-hash/). The PWDCOMPARE function is referenced by a stored procedure,
    which is what won't publish to Azure.
    It would be useful to know if it will be supported or if we should create a VM instead.
    EDIT: Further Clarified question above, but basically the functions listed are documented in MSDN and there is no mention of them being undocumented unsupported features.
    The error occurs when trying to publish a database to Azure from SQL Server 2014 Management Studio

    Hi,
    I am not an expert to answer this but am trying my best to answer this query.
    Hashes a password and compares the hash to the hash of an existing password. PWDCOMPARE can be used to search for blank SQL Server login passwords or common weak passwords.
    Syntax
    PWDCOMPARE ( 'clear_text_password'
       , password_hash
       [ , version ] )
    Note: This feature will be removed in the next version of Microsoft SQL Server. Do not use this feature in new development work, and modify applications that currently use this feature as soon as possible.
    I am not sure whether this feature is not available on SQL 2014.
    I think you can solve this issue by using the EXECUTE AS. Add this query into a procedure with EXECUTE AS with the user/login with sufficient permissions on the server.
     Refer to belw link for more details on EXECUTE AS
    http://msdn.microsoft.com/en-us/library/ms188354.aspx
    create
    procedure checkpassword
    @UserName
    SYSNAME
    ,@Password
    VARCHAR(1000)
    WITH
    EXECUTE AS
    '<UserName>'
    as
    select
    pwdcompare(@Password,convert(nvarchar(128),password))
    from master.dbo.syslogins
    (nolock)
     where name=@UserName
    GO
    EXEC checkpassword
    @UserName='test',@Password='12345678'
    Girish Prajwal

  • HADR Solution for SQL Server Analysis Services (SSAS) 2014 on Azure Iaas

    Hi All
    I am required to build a HA/DR solution for SQL Server and SSAS 2014 on Azure. So far I could build AlwaysOn high availability solution for SQL Server on Azure but haven't found any solution for SSAS.
    Failover Clustering is not an option on azure because of the restriction of not been able to use shared storage. We also determined that the cost savings of using SQL + the cost of the 3rd Party replication tool was a wash (ie no real cost savings).
    Any lead on this would be appreciated.
    Thanks,
    Viral Shah
    Thanks - Viral

    Hi Viral,
    A clustered implementation of SSAS can be configured in Microsoft Azure. Such a configuration would need to meet all the requirements stated in the following document including Active Directory and storage.
    How to Cluster SQL Server Analysis Services
    http://download.microsoft.com/download/D/2/0/D20E1C5F-72EA-4505-9F26-FEF9550EFD44/SSAS_Failover_Cluster_V4.docx
    Thanks,
    Lydia Zhang

  • Best size for VM SQL Server for a start or maybe Azure SQL Database?

    Hello Everyone,
    My question is quite general but some of You may have already considered similar issues. Let's say or assume I have the website and mobile application - social kind - used by:
    1. 10 K users
    2. 100 K users
    3. 1 K K users
    4. 20 K K users MAX
    I am strongly considering use of VM SQL Server mostly because of its PARTITIONING functionality, some advantages in the context of INDEXING compared to Azure SQL Database and JOBs availibility.
    Question: what would be the best size and count of VMs related to SQL Server for the start and later?
    Question 2 - I am able to move JOBs functionality to my Worker role if I wanted to consider use of Azure SQL Database. SQL Server still has at least those 2 advantages (Partitioning, better Indexing) - is it worth considering Azure SQL Database service for
    100 K users and more?
    Regards,

    Hello Jambor,
    Considering the number of users i wouldnt recommend an Azure SQL database, because of certain limitations like Max worker threads, Max sessions, etc. Also the maximum size of the database can be 500GB.
    Please refer http://msdn.microsoft.com/en-us/library/azure/dn741336.aspx and http://msdn.microsoft.com/en-us/library/azure/dn369873.aspx for the Azure SQL database options and limitations.
    If your application needs to scale-out, Azure SQL Databases are recommended. If it needs scaling-up - then the choice is SQL Server on Azure VM. Please refer http://azure.microsoft.com/blog/2012/06/26/data-series-sql-server-in-windows-azure-virtual-machine-vs-sql-database/
    and http://azure.microsoft.com/en-us/documentation/articles/data-management-azure-sql-database-and-sql-server-iaas/ for comparison.
    If you already have your application running successfully on your on-premise server, you could use a similar machine on Azure for hosting your SQL server instance. The options are at http://azure.microsoft.com/en-us/pricing/details/virtual-machines/. You could
    start with a SQL Server enterprise edition on an A3 VM and then scale-up as needed.
    Regards,
    Kumar Bijayanta

  • SQL Server Compact 3.5 Merge Replication With SQL Server 2012 - Causing IIS App Pool to Crash

    Hi, I may be the only person in the world doing this but I wanted to give this information to anyone else who may follow this path in the future, and hopefully avoid a headache, or at least a paid support call to Microsoft.
    My original scenario was we had a SQL Server 2008 Server using Merge Replication through and IIS (web server) to several Windows Mobile 6 devices.  This has worked fairly well for a few years.
    Recently we upgraded our SQL server to version 2012 SP 1.  After moving the database over to the new server, and re-setting the merge replication stuff, we couldn't get merge replication to work on the Windows Mobile 6 handheld devices.  The replication
    would appear to start, and then we would get a message saying that the device could not get to the web site.  The message on the handheld device was this:
    "The IIS service is not available."
    After doing some more research, we found that the start of the replication process was causing the Thread Pool that was running the SQLCESA35.dll to crash.  
    The SQLCESALOG.txt file had this information:
    Date Time == SQLCESA Version ==> 3.5.8088.0
    Date Time Hr=80004005 ERR:Couldn't find existing RSCB 1
    After 2 days of trying to figure out the issue on our own, we gave in and called for paid Microsoft support.  They eventually found a known issue where a cumulative update was able to fix the problem.
    We installed the update on the IIS server and everything ran smoothly again.
    FIX: Merge replication fails when you use SQL Server Compact to perform a merge replication that synchronizes changes with a publisher in SQL Server 2012
    http://support.microsoft.com/kb/2845550
    Seth O'Neal

    Hi sonealtx,
    Glad to hear that the issue is resolved. Thanks for your sharing, other community members could benefit from your solution.
    Thanks,
    Lydia Zhang
    Lydia Zhang
    TechNet Community Support

Maybe you are looking for

  • Is it possible to control an itunes library located on an iMAC from a

    I am trying to set up a sound system for a blind person using an ipad as a controller. The  itunes music library is located on a iMAC and there is a Wifi network with an Airport Express located elsewhere. The ipad has the Remote App and Airport utili

  • Reference to parent record in Tree view

    Dear Jheadstart Team, When creating a Tree which I intend to use to insert child records, it is indeed possible to insert these records, unfortunately the key that identifies the relationship with the parent (in the child record) is always set to nul

  • Time Machine ejects my Ext Drive

    Hi, I hooked up an external (1.5TB) drive to my MacBook and ran time machine. It said backing up 103GB. Everything went fine until about 14GB and somehow ejected my ext drive. The drive disappeared. I unhooked and put the drive back. Ran TM again. Th

  • Styling a tree component

    Hi! I would like to customize a tree component so that "nodes" actually look like buttons. i tried exporting the style and edit with flash, but that way I can only edit the tree icons... what I want is the Name of my node appearing inside of the icon

  • Firefox 14.0.1 tabs not responding after active sleep mode in the new OS X Mountain Lion.

    Further to installing OS X 10.8 Mountain Lion, the tabs on Firefox become unresponsive if I try clicking on them further to my Macbook Pro going into energy saving (sleep) mode.