Quantcast
Channel: SQL Archives - SQL Authority with Pinal Dave
Viewing all 594 articles
Browse latest View live

SQL SERVER – Msg 15137, Level 16 – Error Related to sp_xp_cmdshell_proxy_account

$
0
0

So far, I have written many blogs and I still feel that there are many errors and scenarios which are still uncovered. Whenever I see a new error and find a new solution, I always share it via this blog.  Let us see how we can fix errors related to sp_xp_cmdshell_proxy_account.

One of my clients was using below blogs to use proxy to run xp_cmdshell.

SQL SERVER – Fix: The EXECUTE Permission was Denied on the Object ‘xp_cmdshell’, Database ‘mssqlsystemresource’,schema ‘sys’.

SQL SERVER – Enable xp_cmdshell using sp_configure

They informed that they are getting errors while using sp_xp_cmdshell_proxy_account. Here is the first error:

Msg 15137, Level 16, State 1, Procedure sp_xp_cmdshell_proxy_account, Line 1 [Batch Start Line 5] An error occurred during the execution of sp_xp_cmdshell_proxy_account. Possible reasons: the provided account was invalid or the ‘##xp_cmdshell_proxy_account##’ credential could not be created. Error code: 1326(The user name or password is incorrect.), Error Status: 0.

I was able to reproduce the error by running below (i.e. by giving wrong password)

EXEC sp_xp_cmdshell_proxy_account 'domain\user', 'WrongPassword'

Now, I have given the right password as below

EXEC sp_xp_cmdshell_proxy_account 'domain\user', 'RightPassword'

But got below error.

Msg 15137, Level 16, State 1, Procedure sp_xp_cmdshell_proxy_account, Line 1 [Batch Start Line 6] An error occurred during the execution of sp_xp_cmdshell_proxy_account. Possible reasons: the provided account was invalid or the ‘##xp_cmdshell_proxy_account##’ credential could not be created. Error code: 5(Access is denied.), Error Status: 0.

WORKAROUND/SOLUTION

In both errors above, even though error message is the same, the Error Code is different. First one has 1326 which was due to incorrect password. The second one has error code of 5, which means access denied. To fix this error, I should launch SSMS as Run as Administrator as shown below.

SQL SERVER - Msg 15137, Level 16 - Error Related to sp_xp_cmdshell_proxy_account xp_cmd-proxy-01

The above image is taken from the Windows 2016 Operating system, start menu. You might have a different interface, but you get an idea.

Let me know what you think of this blog post by leaving comments below.

Reference: Pinal Dave (https://blog.sqlauthority.com)

First appeared on SQL SERVER – Msg 15137, Level 16 – Error Related to sp_xp_cmdshell_proxy_account


SQL SERVER – Startup Issue – Unable to Use Domain Account as Service Account When Read Only Domain Controller (RODC) is Involved

$
0
0

Recently, one of my client was trying to troubleshoot the below error which they were getting while trying to start the SQL Server service under the domain account. The interesting thing which they told me was that they are using Read Only Domain Controller (RODC) which I have heard earlier as well. Initially they told that they had an issue with installation when service account was used so they used LocalSystem account and installed SQL Server. But now, as per company standards, they need to use a domain account as the service account.

SQL SERVER - Startup Issue - Unable to Use Domain Account as Service Account When Read Only Domain Controller (RODC) is Involved encryption-800x178

 

I asked them to share ERRORLOG with me. Here is the link how you can find the error log location: SQL SERVER – Where is ERRORLOG? Various Ways to Find ERRORLOG Location

Here are the errors which I found in Error Log.

2017-06-12 11:55:21.46 spid10s Unable to initialize SSL encryption because a valid certificate could not be found, and it is not possible to create a self-signed certificate.
2017-06-12 11:55:21.46 spid10s Error: 17182, Severity: 16, State: 1.
2017-06-12 11:55:21.46 spid10s TDSSNIClient initialization failed with error 0x80092004, status code 0x80. Reason: Unable to initialize SSL support. Cannot find object or property.
2017-06-12 11:55:21.46 spid10s Error: 17182, Severity: 16, State: 1.
2017-06-12 11:55:21.46 spid10s TDSSNIClient initialization failed with error 0x80092004, status code 0x1. Reason: Initialization failed with an infrastructure error. Check for previous errors. Cannot find object or property.
2017-06-12 11:55:21.46 spid10s Error: 17826, Severity: 18, State: 3.
2017-06-12 11:55:21.46 spid10s Could not start the network library because of an internal error in the network library. To determine the cause, review the errors immediately preceding this one in the error log.
2017-06-12 11:55:21.46 spid10s Error: 17120, Severity: 16, State: 1.
2017-06-12 11:55:21.46 spid10s SQL Server could not spawn FRunCommunicationsManager thread. Check the SQL Server error log and the Windows event logs for information about possible related problems.

WORKAROUND/SOLUTION

Based on my research with SQL Server, RODC and encryption, I found that this is reported by many clients on various forums and as per them it started after installation of KB 2992611 or KB 3000850. To work around this issue, you will need to perform the following registry key changes.

We need to create the following key:

  • Path : HKLM\Software\Microsoft\Cryptography\Protect\Providers\df9d8cd0-1501-11d1-8c7a-00c04fc297eb
  • Name: [ProtectionPolicy] (without square brackets !)
  • Value : 1 (DWORD)

When I searched my own blog history, I found that I another blog which talks about the setup issue SQL SERVER – System. Security. Cryptography. CryptographicException – There Was an Error Generating the XML Document

The solution in that blog is also same.

Have you encountered same error on RODC? Please comment and let me know.

Reference: Pinal Dave (https://blog.sqlauthority.com)

First appeared on SQL SERVER – Startup Issue – Unable to Use Domain Account as Service Account When Read Only Domain Controller (RODC) is Involved

SQL SERVER – PowerShell Script – Remove Old SQL Database Backup Files From Azure Storage

$
0
0

Earlier back, I wrote blog to help my blog reader SQL SERVER – Powershell Script – Remove Old SQL Database Backup Files from Azure Storage

As they say, there’s more than one way to skin a cat. One of my blog reader shared another script which can do the same thing.

SQL SERVER - PowerShell Script - Remove Old SQL Database Backup Files From Azure Storage removeazurebackup-800x383

SOLUTION/WORKAROUND

$context = New-AzureStorageContext -StorageAccountName "StorageAccountNameGoesHere" -StorageAccountKey "StorageKeyGoesHere"

# In the next line change .bak to the file extension of the file to be deleted

$blobs= Get-AzureStorageBlob -Container "ContainerNameGoesHere" -blob *.bak -Context $context
foreach ($blob in $blobs)
{
$modifieddate = $blob.LastModified
Write-Host $modifieddate

if ($modifieddate -ne $null)
    {
        # in below clause we need to put number of days for retention. I have put 10 days.

        $howold = ([DateTime]::Now - [DateTime]$modifieddate.LocalDateTime)
        if ($howold.TotalDays -ge 10)            {
                Remove-AzureStorageBlob -Blob $blob.Name -Container "ContainerNameGoesHere" -Context $context
                Write-Host $blob.Name
            }
    }
}  

As I wrote in an earlier blog, you need to fill the parameters based on your configuration.

Notes

  1. To run above, you need to have Azure PowerShell cmdlets installed.
  2. It can be run from anywhere, not necessarily SQL Server machine because it has nothing to do with SQL Server.
  3. In the above script, I am checking the LastModified date for each blob with extension with *. back and deleting those which are older than 10 days. You need to change the extension and time.
  4. When you copy paste from a blog, it might not parse correctly, so take extra care for special characters.

Do you have any better powershell script which can do the same? Please share via comments to help others.

Reference: Pinal Dave (https://blog.sqlauthority.com)

First appeared on SQL SERVER – PowerShell Script – Remove Old SQL Database Backup Files From Azure Storage

SQL SERVER – Upgrade Failure – The Cluster Resource is Not Online. Bring the Analysis Services Server Online Before Starting the Upgrade Process

$
0
0

SQL SERVER - Upgrade Failure - The Cluster Resource is Not Online. Bring the Analysis Services Server Online Before Starting the Upgrade Process fail Many customers want to do in-place upgrade of SQL Server instance to avoid the hardware cost and downtime. There are various pros and cons for doing in-place upgrade or parallel upgrade and one need to evaluate them before making a final choice. Let us see an error related to Upgrade Failure.

My client contacted me for an issue where in-place upgrade of a clustered instance was failing. I always believe that we should always start with error message while troubleshooting any issue. So, I asked for setup logs to investigate. If you are familiar with setup logs, there are two basic files, Summary.txt and Detail.txt. When I looked at Summary.txt, I found below.

Reason for failure: An error occurred for a dependency of the feature causing the setup process for the feature to fail.
Next Step: The upgrade process for SQL Server failed. To continue the upgrade process, use the following information to resolve the error. Next, uninstall SQL Server by using this command line: setup /q /action=uninstall /instanceid=MSSQLSERVER /features=SQLENGINE,FULLTEXT,REPLICATION. Then, run SQL Server Setup again.

SOLUTION/WORKAROUND

The information which is useful here is “Reason for failure”, “Error description” and “Next Step”. By looking at above information, it’s easy to come to the conclusion that there is something wrong with SSAS resource in the cluster. When we looked into the cluster, we found that there was no Analysis services resource on the cluster. We followed the Microsoft article to create SSAS resource manually in the failover cluster manager. We created a generic service resource and added the dependency on SQL Network name and disks. After that, we could bring SSAS resource online in a cluster.

Now, as mentioned in the log, we ran below command

setup /q /action=uninstall /instanceid=MSSQLSERVER /features=SQLENGINE, FULLTEXT, REPLICATION

I think this command would have taken care of removing various leftovers caused due to last unsuccessful installation.

After this, we ran setup.exe again and upgrade went fine.

Reference: Pinal Dave (https://blog.sqlauthority.com)

First appeared on SQL SERVER – Upgrade Failure – The Cluster Resource is Not Online. Bring the Analysis Services Server Online Before Starting the Upgrade Process

SQL SERVER – New Quality of Database Documentation – Dataedo

$
0
0

I recently stumbled upon an interesting tool – Dataedo, quite powerful database documentation tool. It enables describing each table and column (data dictionary), procedure and function, create ER diagrams from existing schema and generate a pretty HTML, PDF or Excel documents.

It is in freemium model, with free edition good enough to create documentation for practical applications.

SQL SERVER - New Quality of Database Documentation - Dataedo dataedo

What I think makes it special is:

  1. Ability to keep the data dictionary and ER diagrams in one model and in sync with the schema,
  2. Nice HTML and PDF exports,
  3. Convenient UI and rich text editor,
  4. Ability to group tables and other database objects into so called modules,
  5. Search functionality,
  6. Showing documentation progress

Documenting

One of the key functionalities is importing tables, columns and other database objects from your database and describing it with a convenient rich text editor.

As you can see below, repository browser displays progress of documentation – the extent to which elements are described. My database descriptions turn out to be only 9% complete.

SQL SERVER - New Quality of Database Documentation - Dataedo dataedo_editor

Seems like I my database isn’t documented as much as I thought, but it’s easy to fix by just typing in the Description column.

SQL SERVER - New Quality of Database Documentation - Dataedo dataedo_editor_columns

HTML Export

A strong side of this tool is its documentation export. It supports HTML, PDF and Excel export formats.

HTML is a clean and interactive page that is suitable to host online or share on a network drive.

You can see live example here.

SQL SERVER - New Quality of Database Documentation - Dataedo dataedo_html_export

SQL SERVER - New Quality of Database Documentation - Dataedo dataedo_html_export2

PDF Export

PDF export is a nice looking printable document.

SQL SERVER - New Quality of Database Documentation - Dataedo dataedo_pdf_export

Diagrams

One of the features that I liked the most was an ER diagrams module. The module has an ERD tab with a pane, you can drop tables and views to. For each table you may choose columns displayed on the diagram. That helps to keep the diagram clean when tables are large.

SQL SERVER - New Quality of Database Documentation - Dataedo dataedo_erd1

The existing foreign keys are automatically added to the diagram, but you can also add your own relations (see below) from the UI level, with no change to the actual database.

SQL SERVER - New Quality of Database Documentation - Dataedo dataedo_erd3

Search

Another cool feature of the tool is the search functionality. You can quickly search for tables and other objects by their name, column, description. This is useful not just for documenting but for querying and development of your database too.

SQL SERVER - New Quality of Database Documentation - Dataedo dataedo_search

Modules

In Dataedo you can create objects called module and then assign each object to a module (or multiple modules. You can use it to split large databases into smaller, more manageable pieces. Each module then becomes a separate chapter in a PDF document. You can provide a description of the  functionality of this area of the database using the rich text editor. You can also paste images and diagrams created with other tools.

SQL SERVER - New Quality of Database Documentation - Dataedo dataedo_modules

Keeping documentation up to date

Dataedo handles changes in the schema nicely. All it takes is to re-import schema with a few clicks and changes will be reflected in your documentation.

SQL SERVER - New Quality of Database Documentation - Dataedo dataed_schema_update

Repository and teamwork

Dataedo holds all the metadata in a repository – a regular SQL Server database or a file (SQL Server Compact). I like the idea of this repository because it enables multiple people to work on the documentation and you can access all the metadata with an SQL.

Automation

The tool comes with a command line support for schema updates and documentation exports. This enables automatic generation of database documentation in build scripts.

Conclusion

Dataedo is a good tool that will contribute to your toolbox and will help you better understand your databases.

Try yourself, download a free version or get a free 30 day trial.

Reference: Pinal Dave (https://blog.sqlauthority.com)

First appeared on SQL SERVER – New Quality of Database Documentation – Dataedo

SQL SERVER – FIX: Msg 15170, Level 16, This login is the Owner of 1 Job(s). You Must Delete or Reassign these Jobs Before the Login can be Dropped

$
0
0

In our real life, there are lots of dependencies and same is true with SQL Server as well. This blog also talks about inability to drop a login due to a dependency. Let us see the error related to login is the owner of the 1 job(s).

When you try to drop a login from SQL Server, you might run into the error. Here is what I received when I was trying to drop a login called “foo” from the SQL Server Management Studio.

This login is the owner of 1 job(s). You must delete or reassign these jobs before the login can be dropped. (Microsoft SQL Server, Error: 15170)

If the same action is tried from below T-SQL:

USE [master]
GO
DROP LOGIN [foo]
GO

Then we get this:

Msg 15170, Level 16, State 1, Line 4
This login is the owner of 1 job(s). You must delete or reassign these jobs before the login can be dropped.

WORKAROUND/SOLUTION

As mentioned in the error message, this is due to dependency of job on the account which we are trying to delete. We need to find out such jobs so that suggested action can be taken.

SELECT name,*
FROM msdb..sysjobs
WHERE owner_sid = SUSER_SID('foo')

You need to replace “foo” which the user name which you are trying to delete. The output of the query would show the jobs which are owned by this login. The next action would be to change the job owner as shown below.

SQL SERVER - FIX: Msg 15170, Level 16, This login is the Owner of 1 Job(s). You Must Delete or Reassign these Jobs Before the Login can be Dropped drop-foo-01-800x378

Have you faced any similar errors? If this blog has helped you in learning something new, please comment as let me know.

Reference: Pinal Dave (https://blog.sqlauthority.com)

First appeared on SQL SERVER – FIX: Msg 15170, Level 16, This login is the Owner of 1 Job(s). You Must Delete or Reassign these Jobs Before the Login can be Dropped

SQL SERVER – Unable to Restore from URL – The Specified URL Points to a Block Blob. Backup and Restore Operations on Block Blobs are not Permitted

$
0
0

SQL SERVER - Unable to Restore from URL - The Specified URL Points to a Block Blob. Backup and Restore Operations on Block Blobs are not Permitted backup With Microsoft Azure pitching in the market, I am getting few clients who want me to assist them for errors related to Azure as well. As a part of growth, I do learn them and try to help the clients. Let us learn about Block Blobs in this blog post.

My client was migrating their on-premise SQL Severs to SQL running under Azure virtual machines. They have decided to move database via backup restore.

  • Source SQL Server (On-Premise): SQL 2012 Standard.
  • Destination SQL Server (SQL on Azure VM): SQL 2014 Enterprise

While restoring from the Azure storage using “Restore … from URL” command, we were seeing below error in ERRORLOG.

BackupVirtualDeviceFile::DetermineFileSize: SetPosition(0,EOF) failure on backup device ‘https://sqlauth storagehdd.blob.core.windows.net/sqlbackup/DBName.bak’. Operating system error The specified URL points to a Block Blob. Backup and Restore operations on Block Blobs are not permitted.

BackupVirtualDeviceFile::DetermineFileSize: SetPosition(0,EOF) failure on backup device ‘https://sqlauth storagehdd.blob.core.windows.net/sqlbackup/DBName.bak’. Operating system error The specified URL points to a Block Blob. Backup and Restore operations on Block Blobs are not permitted.

I asked the method to transfer the data from the source server to Azure. They told that they have used AzCopy to copy the data from the local machine to Azure storage. So essentially, database backup was taken locally on On-Prem machine and then AzCopy was used to copy the backup files. They have not used “BACKUP … to URL”

Transfer data with the AzCopy on Windows

I looked into documentation of SQL 2012 and SQL 2014 and found below.

SQL Server Backup and Restore with Windows Azure Blob Storage Service

Blob: A file of any type and size. There are two types of blobs that can be stored in the Windows Azure Blob storage service: block and page blobs. SQL Server backup uses page Blobs as the Blob type. Blobs are addressable using the following URL format: https://<storage account>.blob.core.windows.net/<container>/<blob>

Caution
If you choose to copy and upload a backup file to the Windows Azure Blob storage service, use page blob as your storage option. Restores from Block Blobs are not supported. RESTORE from a block blob type fails with an error.

Separately, in SQL Server 2014, we were able to see the same limitation listed, but under a different topic: SQL Server Backup to URL

Blob: A file of any type and size. There are two types of blobs that can be stored in the Windows Azure Blob storage service: block and page blobs. SQL Server backup uses page Blobs as the Blob type. Blobs are addressable using the following URL format: https://<storage account>.blob.core.windows.net/<container>/<blob>

Warning
If you choose to copy and upload a backup file to the Windows Azure Blob storage service, use page blob as your storage option. Restores from Block Blobs are not supported. RESTORE from a block blob type fails with an error.

SOLUTION / WORKAROUND

It looks like, the backup file was turned into a block blob, and that explains the cause of the error during restore. I think the above is implying that the transfer tool (AZCopy) may have been configured to use block blob to transfer the backup file by default. After reading further about the tool, I found there is a parameter called /BlobType:Page. Once we used that parameter, restore worked like a charm.

Reference: Pinal Dave (https://blog.sqlauthority.com)

First appeared on SQL SERVER – Unable to Restore from URL – The Specified URL Points to a Block Blob. Backup and Restore Operations on Block Blobs are not Permitted

SQL SERVER – Msg 3168, Level 16 – The Backup of the System Database on the Device Cannot be Restored Because it was Created by a Different Version of the Server

$
0
0

SQL SERVER - Msg 3168, Level 16 - The Backup of the System Database on the Device Cannot be Restored Because it was Created by a Different Version of the Server backupswitch-800x506 In the recent past, I have written a blog about Ransomware. Here is the link. SQL SERVER – How to Protect Your Database from Ransomware?. In this blog post we are going to discuss about system database.

One of my client was hit with Ransomware and they contacted me. Luckily, they had database backups in another location and all they wanted was to build a new server and go back to the old state. They have reinstalled same version of operating system and installed the same version of SQL Server. Now, to go back to a previous state, they wanted to restore all databases from backup. While restoring master, they were getting error related to SQL version.

Msg 3168, Level 16, State 1, Line 1
The backup of the system database on the device cannot be restored because it was created by a different version of the server (10.50.2550) than this server (10.50.2500).
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.

The error message is about version mismatch. If you get the same error while restoring master (or msdb or models), you need to make a note of two things.

  1. The version on which backup was taken. (First build number in error message)
  2. Current version of SQL Server. (Second build number on error message.

WORKAROUND/SOLUTION

To restore any system database backup, #1 and #2 should match. If they don’t, then SQL would raise error message during restore. You should refer to http://sqlserverbuilds.blogspot.in and find the desired build number and download it.

  • If the current bid is lower and apply the desired patch.
  • If the current bid is higher than uninstall the patch (or patches) till both become same.

Hope this would help. If you have more ideas and thoughts, please share via comments.

Reference: Pinal Dave (https://blog.sqlauthority.com)

First appeared on SQL SERVER – Msg 3168, Level 16 – The Backup of the System Database on the Device Cannot be Restored Because it was Created by a Different Version of the Server


SQL SERVER – Error: Timeout (30000 milliseconds) Waiting for the SQL Server (MSSQLSERVER) Service to Connect

$
0
0

SQL SERVER - Error: Timeout (30000 milliseconds) Waiting for the SQL Server (MSSQLSERVER) Service to Connect stopwatch I have been dealing with a client who observed that SQL services not starting up after a server reboot. When I asked them to check event logs, they found below timeout error.

Event Type: Error
Event Source: Service Control Manager
Event Category: None
Event ID: 7009
User: N/A
Computer: SQLMachine
Description:
Timeout (30000 milliseconds) waiting for the SQL Server (MSSQLSERVER) service to connect.

They also informed me another interesting fact. Once the reboot is completed, they can login to machine and when they start SQL Service manually, it starts fine. So, it looks like the system is very busy during startup of the machine and within 30 seconds there was no response from SQL to service control manager. Due to this the error message was reported in the event log. “Timeout (30000 milliseconds) waiting for the SQL Server (MSSQLSERVER) service to connect.”

WORKAROUND/SOLUTION

If this issue happens only during startup and service starts fine while starting manually then we can try to increase the timeout from 30 seconds to 60 seconds. Here are the steps to change the timeout value.

  1. Click start->Run-> type regedit, and then click ok.
  2. Browse through the registry and then click the following registry sub key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
  3. Right-click on Control, point to New, and then click on DWORD Value.
  4. In the New Value #1 box, type ServicesPipeTimeout, and then press ENTER.
  5. Right-click ServicesPipeTimeout, and then clock Modify.
  6. Click Decimal, type the number of milliseconds that we want to wait until the service times out, and then click ok. For my client, we changed it to wait 60 seconds [60000 milliseconds])
  7. Quit Registry Editor, and then restart the computer.

For my client, there were many services and system performance was slow during startup. Adding the key helped them in getting the service started on reboot.

Have you ever used such trick to bypass performance issue? Please leave a comment.

Reference: Pinal Dave (https://blog.sqlauthority.com)

First appeared on SQL SERVER – Error: Timeout (30000 milliseconds) Waiting for the SQL Server (MSSQLSERVER) Service to Connect

SQL SERVER – FIX: Msg 3009, Level 16 – Could not Insert a Backup or Restore History Detail Record in the msdb Database

$
0
0

As most of my blogs, this blog is also an outcome of an interesting engagement with a client. While trying to help one of my clients to recover from a hardware failure, I learned something about a trace flag. Let us learn about backup or restore history.

My client was trying to restore a database from the backup. Even though it was a small database, SQL was executing restore for a very long time and as soon as they cancelled it, the output was as follows:

36 percent processed.
73 percent processed.
100 percent processed.
Processed 328 pages for database ‘MyDatabase’, file ‘MyDatabase_Logical_File’ on file 1.
Processed 8 pages for database ‘MyDatabase’, file ‘MyDatabase_Logical_File1’ on file 1.
Processed 8 pages for database ‘MyDatabase’, file ‘MyDatabase_Logical_File1’ on file 1.
Processed 3 pages for database ‘MyDatabase’, file ‘MyDatabase_log’ on file 1.
Processed 0 pages for database ‘MyDatabase’, file ‘MyDatabase_log1’ on file 1.
Processed 0 pages for database ‘MyDatabase’, file ‘MyDatabase_log1’ on file 1.
Msg 3009, Level 16, State 1, Line 2
Could not insert a backup or restore history/detail record in the msdb database. This may indicate a problem with the msdb database. The backup/restore operation was still successful.
Problems recording information in the msdb..suspect_pages table were encountered. This error does not interfere with any activity except maintenance of the suspect_pages table. Check the error log for more information.
RESTORE DATABASE successfully processed 347 pages in 0.578 seconds (4.683 MB/sec).
Msg 3204, Level 16, State 1, Line 2
The backup or restore was aborted.
Query was canceled by user.

When they checked the database, it was there and they were able to see all the data in it. This is the time they contacted me and wanted advice on what is happening.
I tried reproducing the same issue in my lab. To simulate logging issue to restore the history table in the msdb database, I have taken lock on the table using below statement.

begin tran
update [msdb].[dbo].[restorehistory] with (tablock)
set replace = 1

Note that, I have not issued rollback/commit and have tablock hint to cause locking. In another query window, I started to restore my database. I used below command

USE [master]
RESTORE DATABASE [Foo] FROM DISK = N'foo.bak'
WITH FILE = 1, NOUNLOAD, STATS = 20
GO

SQL SERVER - FIX: Msg 3009, Level 16 - Could not Insert a Backup or Restore History Detail Record in the msdb Database TF3001-01

20 percent processed.
40 percent processed.
60 percent processed.
80 percent processed.
100 percent processed.
Processed 63872 pages for database ‘Foo’, file ‘Foo’ on file 1.
Processed 3 pages for database ‘Foo’, file ‘Foo_log’ on file 1.

< <<<<<<<<<<<<< Stuck here >>>>>>>>>>>>>>>>>>>
< <<<<<<<<<<<<< Below appeared when I cancelled the query >>>>>>>>>>>>>>>>

Msg 3009, Level 16, State 1, Line 3
Could not insert a backup or restore history/detail record in the msdb database. This may indicate a problem with the msdb database. The backup/restore operation was still successful.
Problems recording information in the msdb..suspect_pages table were encountered. This error does not interfere with any activity except maintenance of the suspect_pages table. Check the error log for more information.
RESTORE DATABASE successfully processed 63875 pages in 14.750 seconds (33.831 MB/sec).
Msg 3204, Level 16, State 1, Line 3
The backup or restore was aborted.
Query was canceled by user.

When I checked the database, it was there. This means only logging didn’t happen in the MSDB database. Note that this is only a simulation of the issue and the logging might go wrong because of any reason. One of the reasons could be that MSDB database is not available.

WORKAROUND/SOLUTION

If you are not bothered about the history of logging messages in MSDB, then we can use undocumented Trace Flag 3001. (Referred to my websites)

SQL SERVER - FIX: Msg 3009, Level 16 - Could not Insert a Backup or Restore History Detail Record in the msdb Database TF3001-02

While doing above, I still had the same blocking, but due to trace flag, the logging didn’t happen to MSDB tables and restore completed without error.
Have you ever heard of such trace flags?

Reference: Pinal Dave (https://blog.sqlauthority.com)

First appeared on SQL SERVER – FIX: Msg 3009, Level 16 – Could not Insert a Backup or Restore History Detail Record in the msdb Database

MySQL – Fix – Error – Your Password does not Satisfy the Current Policy Requirements

$
0
0

Just the other day I received an email from a MySQL user who has been struggling to set up his password due to the current policy requirements in MySQL. Let us see how we can identify what is his root cause and how to fix the issue with password security.

Whenever the user tried to set any password in MySQL, he faced following error:

Your Password does not Satisfy the Current Policy Requirements

After a while, he really got frustrated by this Current Policy Requirements for a password. You can check the current variables related to validating password by running the following command:

SHOW VARIABLES LIKE 'validate_password%'

When you run above command it will return following output in MySQL.

MySQL - Fix - Error - Your Password does not Satisfy the Current Policy Requirements validatepassword

Now let us see how we can resolve our error.

WORKAROUND/SOLUTION

From the image you can clearly see that there are various variables are set up for password validation. You can now change these variables based on your requirements. I personally prefer that you keep your password policy to strong, but there are times when it is not practical or is a business requirement.

Let us see various methods to resolve this issue.

Method 1: Let us see how we can set the password_policy to low:

SET GLOBAL validate_password_policy=LOW;

Method 2: You can also set the same variable in my.cnf file as well.

[mysqld] validate_password_policy=LOW

Method 3: Uninstall Plugin which validates password

uninstall plugin validate_password;

Well, that’s it. As I said earlier, I strongly prefer that you keep your password complex and protect yourself from malicious attacks.

Reference: Pinal Dave (https://blog.sqlauthority.com)

First appeared on MySQL – Fix – Error – Your Password does not Satisfy the Current Policy Requirements

SQL SERVER – Could Not Load File or Assembly ‘SqlManagerUi, Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91’ or One of its Dependencies

$
0
0

Recently, one of my clients reported a weird issue to me. They explained that when they right click on the database, and try to read its properties they were getting the following error message. Let us learn about error related to could not load file or assembly.

Here is the text of the message:

SQL SERVER - Could Not Load File or Assembly 'SqlManagerUi, Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or One of its Dependencies SqlManagerUi-01-800x229


Could not load file or assembly ‘SqlManagerUi, Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91’ or one of its dependencies. The system cannot find the file specified. (mscorlib)

I asked to check if they can open ANY properties window of ANY object in SSMS? They tested and found that none of the additional windows, like creating database, properties were opening. When I searched, I found that last part of the error is the real issue. In our case we are seeing “The system cannot find the file specified”.

We partially know the file name as it should be having SqlManagerUi in the name. Whenever there is a file missing issue, I always use Process Monitor

WORKAROUND/SOLUTION

In process monitor, I filtered for SSMS.exe and found that SSMS was looking for SQLManagerUI.dll under C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio and it was missing from there. Note that the client’s SSMS version was SQL 2016. If you are using an older version, you might see path like C:\Program Files\Microsoft SQL Server\110\Tools\Binn\VSShell\Common7\IDE

When we compared this with a working machine, we also found that a huge number of files were missing from that folder. The common causes could be a (a) Viruses or other malware, (b) File system corruption and (c) Failing hard drive.

Finally, we had to repair the shared features, after that the issues were resolved. Here are the steps to repair the instance https://docs.microsoft.com/en-us/sql/database-engine/install-windows/repair-a-failed-sql-server-installation

Reference: Pinal Dave (https://blog.sqlauthority.com)

First appeared on SQL SERVER – Could Not Load File or Assembly ‘SqlManagerUi, Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91’ or One of its Dependencies

SQL SERVER – FIX: Rule “Reporting Services Catalog Database File Existence” Failed

$
0
0

Disasters are always bad. Recovering from disaster is a skill and needs a lot of planning and practice. One of my clients had a disaster and built a new machine to restore the backups. They tried a few attempts to install SQL Server but were having issues. Finally, they contacted me for consultation to fix rule, reporting services catalog database file existence.

I uninstalled SQL Server and started the installation again. At configuration rules checking screen, we got two items listed as failed.

SQL SERVER - FIX: Rule "Reporting Services Catalog Database File Existence" Failed SSRS-setup-error-01-800x596

Here is the text of the message when we click on the “Failed” hyperlink.

Rule “Reporting Services Catalog Database File Existence” failed.
The Reporting Services catalog database file exists. Select a Reporting Services files-only mode installation.

AND

Rule “Reporting Services Catalog Temporary Database File Existence” failed.
The Reporting Services catalog temporary database file exists. Select a Reporting Services files-only mode installation.

I searched on internet and found that its due to earlier files of ReportServer and ReportServerTempDB databases which are created as a part of SSRS installation. I wanted to check setup logs to see the path. Here is the snippet from Detail.txt file

Microsoft.SqlServer.Configuration.RSExtension.DoesTempCatalogExistBlocker
2017-06-30 12:23:09 RS: Initializing the check for exisiting catalog database and temp db files.
2017-06-30 12:23:09 RS: Getting the SQL data path
2017-06-30 12:23:09 RS: Current RS install mode is ‘DefaultNativeMode’
2017-06-30 12:23:09 RS: Using SQl data path E:\Program Files\Microsoft SQL Server\MSSQL12.SQL2014\DATA
2017-06-30 12:23:09 RS: Getting the RS database name
2017-06-30 12:23:09 RS: Using default database name.
2017-06-30 12:23:09 RS: Getting the RS database name
2017-06-30 12:23:09 RS: Using default database name.
2017-06-30 12:23:09 RS: Catalog Temp db file exists
2017-06-30 12:23:09 Slp: Evaluating rule : RS_DoesCatalogTempDBExist
2017-06-30 12:23:09 Slp: Rule running on machine: SQLCDBSVR
2017-06-30 12:23:09 Slp: Rule evaluation done : Failed
2017-06-30 12:23:09 Slp: Rule evaluation message: The Reporting Services catalog temporary database file exists. Select a Reporting Services files-only mode installation.

Now, using log we can see exact behavior of SQL Server Rule check and the location which we need to target.

WORKAROUNS/SOLUTION

If you get same error, try and look at SQL Setup logs and search for “DoesCatalogExistBlocker” and “DoesTempCatalogExistBlocker” and you should see path there. If we look at that path, we should see files like below.
• ReportServer.mdf
• ReportServer_log.LDF
• ReportServerTempDB.mdf
• ReportServerTempDB_log.LDF.
In case of named instance, files would be having instance name as well. In my case, the instance name was SQL2014, so files were as below.

SQL SERVER - FIX: Rule "Reporting Services Catalog Database File Existence" Failed SSRS-setup-error-02-800x233

As a safety measure, take a backup and remove the files from this location. Then we can use “rerun” button available on the same screen below the green bar. This should take care of making failed checks as Passed.

Reference: Pinal Dave (https://blog.sqlauthority.com)

First appeared on SQL SERVER – FIX: Rule “Reporting Services Catalog Database File Existence” Failed

SQL SERVER – The Patch Installer has Failed to Update the Shared Features

$
0
0

Applying a patch in SQL Server is a planned process which is followed across various companies. Most of the companies take time to apply the patch to make sure the stability of the patch can be validated. Let us see an error related to patch installer.

One of the client was trying to apply the patch on production and was under tremendous pressure due to the small amount of allocated downtime. They didn’t waste much time and contacted me to see what I can offer in a short amount of time.

Since it was urgent, I quickly join GoToMeeting and looked at the logs of failure.

Instance SAPPROD overall summary:
Final result: The patch installer has failed to update the shared features. To determine the reason for failure, review the log files.
Exit code (Decimal): -2068052374
Exit facility code: 1212
Exit error code: 1642
Exit message: The patch installer has failed to update the shared features. To determine the reason for failure, review the log files.
Start time: 2017-06-29 17:14:46
End time: 2017-06-29 17:15:20
Requested action: Patch
Log with failure: C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\20170629_171254\SAPPROD\SqlWriter_Cpu64_1.log

To decode 1642, I have used NET command.

SQL SERVER - The Patch Installer has Failed to Update the Shared Features vss-patch-01-800x117

Here is the text of the message shown in the above image.

The upgrade cannot be installed by the Windows Installer service because the program to be upgraded may be missing, or the upgrade may update a different version of the program. Verify that the program to be upgraded exists on your computer and that you have the correct upgrade.


MSI (s) (C8:78) [17:15:18:787]: Windows Installer installed an update. Product Name: Microsoft SQL Server VSS Writer. Product Version: 10.50.1600.1. Product Language: 1033. Manufacturer: Microsoft Corporation. Update Name: {8B9F68F5-8191-4F48-B6C5-4A98858642AF}. Installation success or error status: 1642.
MSI (s) (C8:78) [17:15:18:787]: Note: 1: 1708
MSI (s) (C8:78) [17:15:18:787]: Product: Microsoft SQL Server VSS Writer — Installation failed.
MSI (s) (C8:78) [17:15:18:787]: Windows Installer installed the product. Product Name: Microsoft SQL Server VSS Writer. Product Version: 10.50.1600.1. Product Language: 1033. Manufacturer: Microsoft Corporation. Installation success or error status: 1642.

Above lines also tell error 1642. So, we are sure that this is due to some missing patch files.

SOLUTION/WORKAROUND

In above logs, we know that issue is with “Microsoft SQL Server VSS Writer” so I went to Control Panel > Programs and Features > Microsoft SQL Server VSS Writer > right click > Repair. It failed as the location to where it was pointing did not show and sqlwriter.msi. We mounted base media and browsed to the file which it was asking for.

Using above trick, we successfully repaired the SQL Server VSS Writer. After this we applied the same patch which was failing earlier. This time, it was successful. We went to Control Panel > Programs and Features > View Installed Updates > in the updates for Microsoft SQL Server found that this hotfix was installed.

There might be other reasons of same error message, but in my case above worked. So you may want to search more on internet if the above trick doesn’t fix the issue.

Reference: Pinal Dave (https://blog.sqlauthority.com)

First appeared on SQL SERVER – The Patch Installer has Failed to Update the Shared Features

SQL SERVER – An Error Occurred While Obtaining the Dedicated Administrator Connection (DAC) Port

$
0
0

Microsoft SQL Server has given an option to connect to SQL Server when normal connections can’t be made because of any reasons. This feature is called as Dedicate Administrator Connection (DAC). You can read more about DAC over here. Diagnostic Connection for Database Administrators

During one of my online classes, I showed a demo to show how DAC can be useful in doing some basic diagnostics to find the cause of any issues. One of my students tried it after my class and he was not able to connect. Here is the error message which he shared with me.

SQL SERVER - An Error Occurred While Obtaining the Dedicated Administrator Connection (DAC) Port DAC-error-01

 

A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 43 – An error occurred while obtaining the dedicated administrator connection (DAC) port. Make sure that SQL Browser is running, or check the error log for the port number) (Microsoft SQL Server, Error: -1)

We verified that SQL Browser was running, and it was a local connection. I asked to check my favorite file to look for any errors related to DAC. Interestingly, we found below

2017-07-05 18:24:10.84 Server Error: 17182, Severity: 16, State: 1.
2017-07-05 18:24:10.84 Server TDSSNIClient initialization failed with error 0x2, status code 0x22. Reason: Unable to retrieve dynamic TCP/IP ports registry settings for Dedicated Administrator Connection. The system cannot find the file specified.

2017-07-05 18:24:10.84 Server, Dedicated admin connection support was not started because of error 0x2, status code: 0x1. This error typically indicates a socket-based error, such as a port already in use.

There are two messages here. First one says: “The system cannot find the file specified” and based on complete message, it looks like SQL is looking for a certain registry key. A second message is a side effect of the first message and not because of the port used by any other process.

SOLUTION/WORKAROUND

I compared it with my system and found that under below the key:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL13.SQL2016\MSSQLServer\SuperSocketNetLib\AdminConnection\Tcp

We were not seeing TcpDynamicPorts key, which is precisely reported by SQL ErrorLog. So, we created key as shown below.

SQL SERVER - An Error Occurred While Obtaining the Dedicated Administrator Connection (DAC) Port DAC-error-02

On my server MSSSQL13 is for SQL Server 2016 and SQL2016 is the instance name. If you have default instance of SQL Server 2016 then it would be MSSQL13.MSSQLSERVER. Based on your SQL Server version and instance name you need to create appropriate key.

Have you solved any issue using DAC? Please share via comments.

Reference: Pinal Dave (https://blog.sqlauthority.com)

First appeared on SQL SERVER – An Error Occurred While Obtaining the Dedicated Administrator Connection (DAC) Port


SQL SERVER – Unable to Start SQL When Service Account is Removed From Local Administrators Group. Why?

$
0
0

SQL SERVER - Unable to Start SQL When Service Account is Removed From Local Administrators Group. Why? errorexit One of my clients wanted to secure their SQL Server. One of the rules was that wanted to avoid running SQL Server service with an account which is part of local “Administrators” group. They wanted to provide the minimal permissions needed for the SQL server service account for SQL Server to function.

Below are the respective articles for each version that outline the permissions assigned to the service accounts:

Configure Windows Service Accounts and Permissions (SQL Server 2016 and later)
https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/configure-windows-service-accounts-and-permissions

Configure Windows Service Accounts and Permissions (SQL Server 2014)
https://msdn.microsoft.com/en-US/library/ms143504(SQL.120).aspx#Windows

Configure Windows Service Accounts and Permissions (SQL Server 2012)
https://msdn.microsoft.com/en-US/library/ms143504(SQL.110).aspx#Windows

Setting Up Windows Service Accounts (SQL Server 2008 R2)
http://msdn.microsoft.com/en-us/library/ms143504(v=sql.105).aspx#Review_NT_rights

Setting Up Windows Service Accounts (SQL Server 2008)
http://msdn.microsoft.com/en-us/library/ms143504(v=sql.100).aspx#Review_NT_rights

Setting Up Windows Service Accounts (SQL Server 2005)
http://msdn.microsoft.com/en-us/library/ms143504(v=sql.90).aspx#Review_NT_rights

When I spoke to my client, they already removed service account from the Administrators group. As per article, we have permissions in security policy, but still we were not able to start SQL Service. By looking further into the Event Viewer, under Application Log we see the error :

“initerrlog: Could not open error log file ”. Operating system error = 3(The system cannot find the path specified.)”.

SQL SERVER – Event 17058 – initerrlog: Could not Open Error Log File

If we provide incorrect path, we generally see below message.

initerrlog: Could not open error log file ‘C:\BadPath\Errorlog.txt’. Operating system error = 3(The system cannot find the path specified.).”

Notice the blank path in an error message.  Later, we used one of my favorite tools called as Process Monitor and ran the tool to look for registry read activity. We knew that the service was queried for the for the start-up parameters which are saved in the registry and we wanted to check how it does it. We saw we were getting Access Denied for the Account: Americas\SAPPROD_SQLSvc on the registry hive:

HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQLServer\Parameters

Seeing that, we went to the registry hive and checked if the service account had permission and found that the user did not have permission, we also saw that the there was a group, SQLServerMSSQLUser$MPNA01$MSSQLSERVER

WORKAORUND/SOLUTION

We were able to fix the issue by adding Service Account Americas\SAPPROD_SQLSvc to the group SQLServerMSSQLUser$MPNA01$MSSQLSERVER

Reference: Pinal Dave (https://blog.sqlauthority.com)

First appeared on SQL SERVER – Unable to Start SQL When Service Account is Removed From Local Administrators Group. Why?

SQL SERVER – Setup Rule: Microsoft .NET Application Security. The computer cannot access the Internet

$
0
0

There are many rules in SQL Server setup which are checked to make sure that the user is not seeing failure at the end of the installation. Most of the rules are generally passed, but few of them are known to generate warnings. One of such rule is Microsoft .NET Application Security which can be seen below.

SQL SERVER - Setup Rule: Microsoft .NET Application Security. The computer cannot access the Internet setup-dotnet-warning-01

If we click on a hyperlink, we would see below.

SQL SERVER - Setup Rule: Microsoft .NET Application Security. The computer cannot access the Internet setup-dotnet-warning-02

Here is the text of the message.

“The computer cannot access the Internet. There might be delays in starting a .NET application like Management Studio. If navigate to http://crl.microsoft.com/pki/crl/products/MicrosoftRootAuthority.crl and are prompted to download the MicrosoftRootAuthority.crl file you should not have .NET security validation issues. It is not necessary to download the MicrosoftRootAuthority.crl file.”

In my case, the machine, on which I was installing SQL Server, was not having a connection to the internet, so I was getting the warning.

WORKAROUND / SOLUTION

As explained in the warning message, if we have SSMS installed on this machine, we might see slowness in opening it. While I don’t know how to bypass the warning, but I do know trick to launch SSMS faster.

Based on my limited knowledge of .NET, the reason why it is slow is because .Net Runtime tries to contact crl.microsoft.com to ensure that the certificate validity. If then there is no direct route out to the internet to crl.microsoft.com to validate the certificate(s) and it eventually times out after 30 to 45 seconds.

To bypass above, we can make changes to the HOSTS file. By this we can force the certificate checks to crl.microsoft.com to route to the local host which immediately fails and the certificate checks are ignored. Here are the steps

  1. Press the keys [Win] + [R]
  2. Enter the following..

notepad %systemroot%\system32\drivers\etc\hosts

  1. Append the following..

127.0.0.1    crl.microsoft.com

  1. Save the file.

This will not bypass the warning, but an issue which might be caused in the future would be resolved.

Reference: Pinal Dave (https://blog.sqlauthority.com)

First appeared on SQL SERVER – Setup Rule: Microsoft .NET Application Security. The computer cannot access the Internet

SQL SERVER – Missing Columns and Other Folders in SQL Server Management Studio (SSMS) in Object Explorer

$
0
0

On Random basis, I do get some emails and comments on my blog which makes me do some research and write more blogs to share my thoughts and findings. This blog is an outcome of one such email communication with a user. Let us learn about missing columns in SSMS.

User informed me that they don’t see certain folders in SSMS for system tables. Below is the screenshot (msdb > Tables > System Tables)

SQL SERVER - Missing Columns and Other Folders in SQL Server Management Studio (SSMS) in Object Explorer missing-folder-01

When they check tables under user tables, it was showing all folders.

SQL SERVER - Missing Columns and Other Folders in SQL Server Management Studio (SSMS) in Object Explorer missing-folder-02

WORKAROUND / SOLUTION

If there is any unexpected behavior in SQL Server, always upgrade to the latest version and check. In this scenario, I used the latest version of SQL Server Management Studio, which is freely available for download now. Here is the shortcut link to get to the SSMS download page http://aka.ms/ssms

SQL SERVER - Missing Columns and Other Folders in SQL Server Management Studio (SSMS) in Object Explorer missing-folder-03

Once I download and installed, I connect to same SQL instance and found below.

This reminds me that we should be constantly updating our tools to get maximum return on investment from our product.

Have you found this blog useful? Let me know if you have faced this error before? I would love to hear your opinion.

Reference: Pinal Dave (https://blog.sqlauthority.com)

First appeared on SQL SERVER – Missing Columns and Other Folders in SQL Server Management Studio (SSMS) in Object Explorer

SQL SERVER – Why Edition Upgrade is Not Upgrading Edition of SQL Server?

$
0
0

Sometimes many DBAs are so expert in many areas like performance tuning or backup/restore, they miss simple stuff. One of my DBA friends was running Standard Edition of SQL Server 2016 in production and want to upgrade the edition to Enterprise – core based edition. Let us learn about Edition Upgrade issue.

They got the media from their licensing team and performed “Edition Upgrade” using below options in Installation Center. (Below the image is from SQL 2008 setup, but true for all other versions also)

SQL SERVER - Why Edition Upgrade is Not Upgrading Edition of SQL Server? Ent-Upgarde-01

The issue for which he contacted me was that even after completing setup with no errors, the SQL Server edition was staying at Standard Edition. When he contacted me, I asked him to run Discovery Report as well.

SQL SERVER – Discovery Report – How to Find Information About Installed Features?

All of them were showing same, Standard edition, which made me think to look at his setup screens. I also asked him to try setup in front of me to have a second eye when he is doing an edition upgrade. He said that all he did was Next… Next… Next…  So, we launched edition upgrade UI again. I noticed that PID was already populated.

SQL SERVER - Why Edition Upgrade is Not Upgrading Edition of SQL Server? Ent-Upgarde-02

On the screen and as soon as we look at “License Terms” pages, I saw Standard Edition there and I think that was the clue.

SQL SERVER - Why Edition Upgrade is Not Upgrading Edition of SQL Server? Ent-Upgarde-03

He realized his mistake that instead of using new media of enterprise edition, which licensing team gave, he was using old media of the Standard Edition.

WORKAROUND / SOLUTION

If you come across such situations, there are two things which you can do.

  1. Use the media of New Edition.
  2. Use the PID which is available in a DefaultSetup.ini file in the new media.

As soon as we entered right PID in a previous screen, we got Enterprise in the License Terms page and upgrade went fine.

Reference: Pinal Dave (https://blog.sqlauthority.com)

First appeared on SQL SERVER – Why Edition Upgrade is Not Upgrading Edition of SQL Server?

NuoDB – 3 Important Features of Elastic SQL Database Every One Must Know

$
0
0

NuoDB - 3 Important Features of Elastic SQL Database Every One Must Know SQLAuthority-Blog-800x445 During a consulting engagement, I was asked if I know anything about NuoDB and what is my opinion about it. Well, NuoDB has been my favorite Elastic SQL Database and I have been using it for a while where I find relational database hits their limits and NewSQL solution NuoDB is the solution.

Let us see three important features of this elastic SQL Database I believe everyone must know.

Elastic SQL

Traditional relational SQL databases are great for on-premises, single data center environments, but they lose their significance as the needs of the organizations become more distributed, less predictable, and higher in volume. NoSQL solutions satisfy scale-out and continuous availability needs, but compromise strict transactional consistency, guaranteed durability, and the familiarity of a SQL interface. Many NewSQL products maintain SQL as they scale, but are often limited to highly specialized use cases.

Recently a new class of SQL databases has emerged that are purpose-built to deliver elasticity, strict transactional consistency, rich ANSI-SQL support, and continuous availability. NuoDB is an elastic SQL Database and overcomes the limitations of various traditional databases.

Elastic Scalability

Scaling is never an easy solution. Scaling a traditional relational database requires expensive provisioning, risky recreating procedures, sharding, or complicated clustering strategies. Similarly scaling NoSQL means adding development burdens on your application team. This also requires substantial rewrites to the application to incorporate data management logic now abandoned by the database.

NuoDB preserves ACID guarantees and a standards-based SQL interface while providing simple and elastic scaling. That means you add capacity only when you need it – and let go of it when you don’t.

Active Active Database

Who does not want to their database to Always on and Always available. For critical customer business operations, you need to deliver data fast and around the clock. The business success depends on the availability of the data. Most of the traditional databases either does not offer active-active infrastructure as well as they want users to pay extra for add-ons if they have any provision of the databases. Trust me my experience says that need of active active database has been always there, but there is no good solution for this particular product.

The NuoDB’s elastic SQL database offers an active-active benefits as part of the database, eliminating the need for additional software. It also supports read and write to multiple available host following ACID guarantees.

Next Action – I suggest just like me, you should try out NuoDB.

Reference: Pinal Dave (https://blog.sqlauthority.com)

First appeared on NuoDB – 3 Important Features of Elastic SQL Database Every One Must Know

Viewing all 594 articles
Browse latest View live