SSISDB update failed during the SQL CU or SP udpate

Reason: the cu found a SSIDB and wanted to upgrade it.
It failed because SSIS component is not installed to the server.

It needs: Cannot bulk load. The file “C:\Program Files\Microsoft SQL Server\150\DTS\Binn\Microsoft.SqlServer.IntegrationServices.Server.dll” does not exist or you don’t have file access rights.
Yes it is missing , because SSIS component installed.

Without the ssisdb the sql server was not able to start.

It recommended to reinstall the master. Do NOT reinstall the master.

My solution was:

  1. Install (add ) the Integration Service component.
  2. Start the server with 902 flag (admin command prompt)

create a missing SQL login and connect to hte SSISD

 

Reason:

If you don’t create SSISDB locally (you attach by migration), the SQL login will missing.

 

Help:

After installing Integration service it gave enough hint:

2021-07-10 14:12:47.73 spid10s     Cannot find the login ‘##MS_SSISServerCleanupJobLogin##’, because it does not exist or you do not have permission.

2021-07-10 14:12:47.73 spid10s     Error: 912, Severity: 21, State: 2.

2021-07-10 14:12:47.73 spid10s     Script level upgrade for database ‘master’ failed because upgrade step ‘ISServer_upgrade.sql’ encountered error 15151, state 1, severity 16. This is a serious error condition which might interfere with regular operation and the database will be taken offline. If the error happened during upgrade of the ‘master’ database, it will prevent the entire SQL Server instance from starting. Examine the previous errorlog entries for errors, take the appropriate corrective actions and re-start the database so that the script upgrade steps run to completion.

SUM: Please check if there is a SSIDB in the SQL server before install SP or CU.

Find and list read and writeable user databases which are only in local instance or in primary AG group

List database names, which are in AO AG:

Local databases , which are outside of AO AG:

Writeable databases : primary db or only in local instance

 

Find limited SQL database files and log files

How to list limited database file size in a SQL server?

Oversizing a column in a table – finding varchar(max) and text in MsSQL

It is very commmon when a table have one or more to wide columns.
Sometimes developers choose not supported columns, for example, text type in MS SQL database.
I always looking for text, ntext, varchar(max) and nvarchar(max) :

After it, I check the (n)varchar and (n)char columns.

I am finding the longest string.

Index fragmentation with table row count and index creation and modification date

You can often check the index defragmentation. It is useful if you start checking with the biggest table, because the biggest effect is there.
I like to check the indexes with the creation and modification date. If you rebuild the index your index modification date will be updated.

If you want to see for all database you can replace the

  • DB_ID()
  • with

  • NULL
  • in the script.

    Python and MS SQL connection

    Install ODBC driver for MS SQL>
    pip install pyodbc
    Downloading pyodbc-4.0.30-cp39-cp39-win_amd64.whl (67 kB)
    |████████████████████████████████| 67 kB 745 kB/s
    Installing collected packages: pyodbc
    Successfully installed pyodbc-4.0.30

    Python query:

    VMWare CPU Limit effect on VM computing and disk speed – CPU stolen time

    Symptoms:
    Customer complaining about slow SQL server and event application timeout.
    Hihg CPU usage and slow disk with bad disk time response.
    Let’s check the the 4 CPU core:
    Hihg CPU usage at night

    At first glance, it seemed like a heavily used server.
    The lack of server resources caused timeouts for the applications.

    I suspect VMWare virtualization cause performance issue:

    VMWare Virtualization CPU Stolen time
    CPU Stolen time is high

    Thanks for the teamwork, we found the settings which caused a poor performance: Continue reading “VMWare CPU Limit effect on VM computing and disk speed – CPU stolen time”

    Install SQL Server 2019 Developer Edition

    Install SQL Server 2019 Developer Edition – download ISO image and install it offline.

    You can download the installer file from:

    SQL Developer Edition
    SQL Developer Edition

    Start the downloaded SQL2019-SSEI-Dev.exe  in an administrator command prompt with the following parameter:

    So you can download the ISO image:

    SQL Server Developer Edition ISO image download
    SQL Server Developer Edition ISO image download

     

    Test your MAXDOP – SQL Server max degree of parallelism

    The default value of your SQL server is MAXDOP=0. It means there is no limit for parallelism. Your query can use all of your CPU core.

    Scenario:
    If your SQL Server is not used, than your CPU utilization is low,
    your query can use all of the server’s resources.
    I run a cross join query in a table which has 40.000 rows.
    The server has 8 core.
    I set hint for the query to simulate the MAXDOP server setting.

    The query and the result:

    So if your query use only 1 thread it run longer ( in the example 232 seconds), if it use 8 thread it run much more quicker ( 33 seconds).
    So 232/33 ~= 7 . Ok the speed is not 8x , but almost 8. The operating system and other processes use system resources.

    Should we use the maxdop value without limit? In the real life a lot of queries run at the same time, so if your query get all of the resource the other waiting the resources. So you try to figure out what is ideal value?
    If you have no idea, or don’t have experience with the new databases , you can set the recommended value:
    https://support.microsoft.com/en-us/help/2806535/recommendations-and-guidelines-for-the-max-degree-of-parallelism-confi

    Server Propertis - MAXDOP
    Server Propertis – MAXDOP

    You can reduce the parallelism in your server with increasing the Cost Threshold for Parallelims.

    You can set it for individually for every database:

    Database settings
    Database settings

    Max DOP for you database and Max DOP For Secondary for your Always ON AG secondary replicas.