Sql error 983

This informative blog shows you how to Fix Microsoft SQL Server Error 983 (AlwaysOn Availability groups) using different methods

Different Scenarios to Handle SQL Server Error 983

SQL Server primary purpose is to archive, manipulate and retrieve data as per requested by other several software applications. These applications may run either on identical computers or on different systems connected via the Internet (or a network). To handle such large amount of data, which can also be lost or damaged due to some issue, there is a very common feature in SQL server i.e. AlwaysOn Availability groups. This feature aims to provide high-availability and disaster recovery solution, generally, providing an alternative to business-level users to backup their database.

In addition, there may occur multiple errors in SQL server like SQL Server error 983, SQL Server error 976, SQL Server 156, etc. Therefore, in this article. we are going to discuss SQL Server Error 983 and different scenarios, which will help you to get rid of this error.

Error: 983, Severity: 14, State: 1.
Unable to access database ‘HADB’ because its replica role is RESOLVING which does not allow connections. Try the operation again later.

Scenario 1: Examine Value of FailureConditionLevel

For setting the conditions related to AlwaysOn feature, we require an additional property named as FailureConditionLevel. This property performs controlling when failover occurs either from failover cluster or from AlwaysOn availability group. In SQL Server, by default, the value of FailureConditionLevel is 3 and one can also modify this value using T-SQL script.

To resolve the Microsoft SQL Server error 983, first examine whether the condition of SQL server service is down or not. If it is down, then increase up the service; else check the conditions described in below snapshot.

sql-server-error-983-1

NOTE: Perform the Cluster action only if any sub-system encounters any kind of error, do not perform any action when a warning occurs.

Scenario 2: Cluster Diagnostic

The Cluster Diagnostic logs (or Cluster log) are situated in the log directory of MS SQL server and are different from log files. These files are of the format:

ServerName_InstanceName_SQLDIAG_*.xel

When you double-click on the cluster log file, you will find several events present in it. Multiple attributes of the events will display in front of you.

These attributes define the health status of SQL server i.e. whether sp_server_diagnostics displays an error or not. The error occurs when the resource is performing its functioning and suddenly an interruption named Failure, occurs. Such failure occurs due to FailureConditionLevel set up & display that the resources are unhealthy i.e. NOTHEALTH

Scenario 3: AlwaysOn Extended Event Log

SQL Server comprises of multiple extended events log files, which are related to AlwaysOn feature. To view such files, make use of the following query:

SELECT * FROM sys.dm_xe_objects WHERE name LIKE ‘%hadr%’

One such extended event log file is AlwaysOn Health Extended Event log, which deals with the AlwaysOn availability group related to diagnostics like State changes for Group, errors report, expiration days, etc. These files are of the format:

AlwaysOn_health*.xel

One can double-click on the health file and view the events related to such file. Sometimes, we find that availability groups are to be expired, and warned to go for failover that will migrate the states from PRIMARY_NORMAL to RESOLVING_NORMAL.

Scenario 4: Dealing with Cluster Log Files

In this scenario, we are going to deal with restart operation of nodes. Within cluster log files, one can see the ‘restart action’ command, which indicates that a restart is tried on a present node before performing failover to the previous node. Therefore, if restart action is successful it denotes that failing over was unsuccessful to previous node.

In addition, we have a property box that confirms the Restart action of node.

sql-server-error-983-2

Scenario 5: ErrorLog of SQL Server

Microsoft SQL Server Error 983 occurs due to multiple reasons. Commonly, it is the outcome of SAP performing re-connection during its working process. In addition, we have several events (in sequence) initially documented in stack of SQL Server ErrorLog.

sql-server-error-983-3

Conclusion

There are multiple reasons behind occurrence of Microsoft SQL Server error 983, but when it comes to resolving it different scenario helps us to troubleshoot this error. A User should learn about these scenarios and then perform activities accordingly.

I was faced an situation in AlwaysOn on one of  the Production server which was showing the error message as
Error: 983, Severity: 14, State: 1.

Unable to access database ‘DBNAME’ because its replica role is RESOLVING which does not allow connections. Try the operation again later.

When googling about the issue i found an useful blog in MSDN which iam sharing below :

Thanks to Denzil Ribeiro for posting this article.

I was dealing with an issue where we had an AlwaysOn availability group with 2 replicas configured for Automatic failover. There was a 30 second glitch where folks could not connect to the Database on the primary and automatic failover did not kick in. Well, that was our initial impression at least. The purpose of this post is to expose you to the different logs available in troubleshooting AlwaysOn Availability group issues, not so much on this particular problem itself.

Symptoms on Primary:  Connections failed for a brief moment with the error below and then was all good.

Error: 983, Severity: 14, State: 1.

Unable to access database ‘HADB’ because its replica role is RESOLVING which does not allow connections. Try the operation again later.

So there were 3 questions to answer:

a.      What was the reason for the error?

b.      Why didn’t automatic failover kick in? Or did it?

c.      Was it supposed to fail over to the other node?

First of all we need to understand the FailureConditionLevel which controls when failover occurs both from an SQL FCI (failover cluster) or AlwaysOn Availability group Automatic failover perspective.  For detailed information regarding Failover Policies for Failover Cluster Instances, refer to this article:  http://msdn.microsoft.com/en-us/library/ff878664.aspxclip_image002

In my case the FailoverConditionLevel is set to 5 (Default is 3).  This setting can be altered with the following TSQL script:

clip_image004

If I look at the article referenced above, I notice that the FailoverConditionLevel has the following attributes:

5

Indicates that a server restart or failover will be triggered if any of the following conditions are raised:

  • SQL Server service is down.

  • SQL Server instance is not responsive (Resource DLL cannot receive data from sp_server_diagnostics within the HealthCheckTimeout settings).

  • System stored procedure sp_server_diagnostics returns ‘system error’.

  • System stored procedure sp_server_diagnostics returns ‘resource error’.

  • System stored procedure sp_server_diagnostics returns ‘query_processing error’.

One thing to note here is that the Cluster action is only if any of the subsystems report an “error”, no action is taken on a warning.

So effectively what happens is the following:

  •          Cluster service runs LooksAlive check

  •          Sp_server_diagnostics results sent to Resource Monitor DLL

  •          Resource Monitor DLL detects any error state and notifies the cluster service

  •          Cluster Service takes the resource offline

  •          Notifies SQL Server to issue an internal command to take the availability group offline.

  • There is also the whole concept of a lease that is explained here:

In order to understand this better I attempted and was able to reproduce the scenario.

I then looked at the Cluster Diagnostic extended event Log, the AlwaysOn extended event log, the cluster log, and the SQL Server error log to try to piece together what exactly happened.

Cluster Diagnostic Extended Event Log:

We see from this log that the System component did throw an error. Which equates to there were N number of dumps created and or a spinlock orhpaned after an Access violation or a detected Memory scribbler condition

The  Cluster Diagnostics Logs are located in the Log directory as shown below  and are different log files than the cluster log itself.

They are of the format : ServerName_InstanceName_SQLDIAG_*.xel

clip_image005

As we can see below, you see the component_health_result indicate that the system component of sp_server_diagnostics returned an error, when the resource monitor than interpretted as a Failure due to the FailureConditionLevel set, and propagated the resource “NOTHEALTH” to the cluster service which triggered the LooksAlive check to return “not alive” or false status.

clip_image006

AlwaysOn Extended Event log

The AlwaysOn Health Extended Event logs cover the Availability Group related diagnostics such as State changes for the Group or Replica or Databases, errors reported, lease expiration and any Availability Group Related DDL that is executed. The format of the logs is:AlwaysOn_health*.xel

clip_image008

If we look at the log snippet below, we see that the AG lease expired, and that triggered us to attempt a failover which in turn changes the state from PRIMARY_NORMAL to RESOLVING_NORMAL.

clip_image010

Cluster Log

Note: The times are in UTC so you have to convert them to match up with the other log files.

00006918.00015978::2013/04/03-18:54:37.251 INFO  [RES] SQL Server Availability Group: [hadrag] SQL Server component ‘system’ health state has been changed from ‘warning’ to ‘error’ at 2013-04-03 11:54:37.247

00006918.00014ef4::2013/04/03-18:54:37.970 ERR   [RES] SQL Server Availability Group: [hadrag] Failure detected, the state of system component is error

00006918.00014ef4::2013/04/03-18:54:37.970 ERR   [RES] SQL Server Availability Group< 2012AG>: [hadrag] Availability Group is not healthy with given HealthCheckTimeout and FailureConditionLevel

00006918.00014ef4::2013/04/03-18:54:37.970 ERR   [RES] SQL Server Availability Group< 2012AG>: [hadrag] Resource Alive result 0.

00006918.00014ef4::2013/04/03-18:54:37.970 ERR   [RES] SQL Server Availability Group< 2012AG>: [hadrag] Resource Alive result 0.

00006918.00014ef4::2013/04/03-18:54:37.970 WARN  [RHS] Resource 2012AG IsAlive has indicated failure.

00019d20.00000e5c::2013/04/03-18:54:37.970 INFO  [RCM] HandleMonitorReply: FAILURENOTIFICATION for ‘2012AG’, gen(0) result 1.

00019d20.00000e5c::2013/04/03-18:54:37.970 INFO  [RCM] TransitionToState(2012AG) Online–>ProcessingFailure.

00019d20.00000e5c::2013/04/03-18:54:37.970 INFO  [RCM] rcm::RcmGroup::UpdateStateIfChanged: (2012AG, Online –> Failed)

00019d20.00000e5c::2013/04/03-18:54:37.970 INFO  [RCM] resource 2012AG: failure count: 1, restartAction: 2.

00019d20.00000e5c::2013/04/03-18:54:37.970 INFO  [RCM] Will restart resource in 500 milliseconds.

        If you see the “restart action” highlighted above, a restart is attempted on the current node first before failing over to the other node and in this case the restart is successful so it doesn’t really fail over to the other node. If we take a look at the cluster Availability group Resource Properties, you can confirm that the Restart action does indicate that a restart will be attempted on the current node first

        clip_image012

00019d20.00019418::2013/04/03-18:55:06.079 INFO  [RCM] TransitionToState(2012AG) DelayRestartingResource–>OnlineCallIssued.

00019d20.00019418::2013/04/03-18:55:06.079 INFO  [RCM] HandleMonitorReply: ONLINERESOURCE for ‘2012AG’, gen(1) result 997.

00019d20.00019418::2013/04/03-18:55:06.079 INFO  [RCM] TransitionToState(2012AG) OnlineCallIssued–>OnlinePending.

00006918.0001f1c0::2013/04/03-18:55:07.298 INFO  [RHS] Resource 2012AG has come online. RHS is about to report status change to RCM

SQL Server Errorlog

2013-04-03 11:54:43.59 Server      Error: 19407, Severity: 16, State: 1.

2013-04-03 11:54:43.59 Server      The lease between availability group ‘2012AG’ and the Windows Server Failover Cluster has expired. A connectivity issue occurred between the instance of SQL Server and the Windows Server Failover Cluster. To determine whether the availability group is failing over correctly, check the corresponding availability group resource in the Windows Server Failover Cluster.

2013-04-03 11:54:43.64 Server      AlwaysOn: The local replica of availability group ‘2012AG’ is going offline because either the lease expired or lease renewal failed. This is an informational message only. No user action is required.

2013-04-03 11:54:43.64 Server      The state of the local availability replica in availability group ‘2012AG’ has changed from ‘PRIMARY_NORMAL’ to ‘RESOLVING_NORMAL’. The replica state changed because of either a startup, a failover, a communication issue, or a cluster error. For more information, see the availability group dashboard, SQL Server error log, Windows Server Failover Cluster management console or Windows Server Failover Cluster log.

2013-04-03 11:54:43.84 spid31s     The availability group database «HADB» is changing roles from «PRIMARY» to «RESOLVING» because the mirroring session or availability group failed over due to role synchronization. This is an informational message only. No user action is required.

2013-04-03 11:54:43.84 spid27s     AlwaysOn Availability Groups connection with secondary database terminated for primary database ‘HADB’ on the availability replica with Replica ID: {89c5680c-371b-45b9-ae19-2042d8eec27b}. This is an informational message only. No user action is required.

n  The error below can occur if the Local Log records are hardened but quorum is lost with the cluster so the remote harden cannot be completed.

2013-04-03 11:54:45.16 spid58      Remote harden of transaction ‘user_transaction’ (ID 0x00000000001ee9e2 0000:000006eb) started at Apr  3 2013 11:54AM in database ‘HADB’ at LSN (37:28:204) failed.

2013-04-03 11:54:46.42 spid31s     Nonqualified transactions are being rolled back in database HADB for an AlwaysOn Availability Groups state change. Estimated rollback completion: 100%. This is an informational message only. No user action is required.

n  This phase is after the “restart action” as seen in the cluster log where we are attempting a restart on the same node before failing over to the other node.

2013-04-03 11:55:06.25 spid58      AlwaysOn: The local replica of availability group ‘2012AG’ is preparing to transition to the primary role in response to a request from the Windows Server Failover Clustering (WSFC) cluster. This is an informational message only. No user action is required.

2013-04-03 11:55:07.27 spid58      The state of the local availability replica in availability group ‘2012AG’ has changed from ‘RESOLVING_NORMAL’ to ‘PRIMARY_PENDING’. The replica state changed because of either a startup, a failover, a communication issue, or a cluster error. For more information, see the availability group dashboard, SQL Server error log, Windows Server Failover Cluster management console or Windows Server Failover Cluster log.

2013-04-03 11:55:07.55 Server      The state of the local availability replica in availability group ‘2012AG’ has changed from ‘PRIMARY_PENDING’ to ‘PRIMARY_NORMAL’. The replica state changed because of either a startup, a failover, a communication issue, or a cluster error. For more information, see the availability group dashboard, SQL Server error log, Windows Server Failover Cluster management console or Windows Server Failover Cluster log.

So in answering the 3 prior questions I had with the logs

a.      The reason we got into this state was the system component reported an error ( was a bunch of exceptions), we won’t go into those here

b.      Failover was attempted, but initial attempt is to restart on the same node and it did end up coming online on that node.

c.      No, it should not have failed over to the other node

Hope the exposure to these logs is helpful in troubleshooting AlwaysON Availability group issues

Ref : https://blogs.msdn.microsoft.com/sql_pfe_blog/2013/04/08/sql-2012-alwayson-availability-groups-automatic-failover-doesnt-occur-or-does-it-a-look-at-the-logs/

SQL Server Failover Clustered Instances (FCI) and Availability Groups (AG) depend a lot on Windows Server Failover Clustering (WSFC). Understanding how the underlying WSFC platform works can help us maintain availability of our databases

This blog post is the second in a series that talks about the process that I follow when troubleshooting availability of SQL Server failover clustered instances and Availability Groups. Note that the focus of this series is primarily on availability – identifying and dealing with downtime. 

As I was driving out of my driveway, I noticed something that is considered to be every car owner’s worst nightmare: the check engine light. And what’s frustrating about it is that it comes without a warning and no explanation whatsoever.

I’ve seen this light go off in the past. So, I did what I did before to get it to turn off. I opened the gas tank, cleaned the gas cap and the surrounding area and closed it real tight. That didn’t work. I was hoping to save a few hundred bucks and a trip to the car mechanic. I was unlucky. I had to take it to the mechanic.

Modern vehicles are equipped with sensors and mini-computers that track what’s wrong with your car. Your car dealer or mechanic will have devices that can read these sensors and mini-computers to identify the code that is triggered the check engine light. If you really want to know what caused that check engine light to turn on, you have to read the error codes with a scanner tool. See, even cars have error codes.

The SQL Server error log contains information about the operational aspects of your databases. Depending on how you log operational events, it can contain everything from failed logins, corrupted data pages, failed (and annoyingly successful) backups, out-of-memory issues, etc. Reading the SQL Server error log can be overwhelming, especially if you don’t know what you’re looking for.

Troubleshooting availability issues with a SQL Server failover clustered instance (FCI) or Availability Groups (AGs) can feel like reading the codes that triggered your car’s check engine light. But, hey, you don’t need any special code reader to do it. You can use any text editor/reader to open the SQL Server error log even when the SQL Server instance is offline. In fact, this is one common misconception about reading the SQL Server error log: you can read it even when the SQL Server instance is offline. You just need to know where to find it.

Two Common Keywords That Identify Potential Availability Issues

I could list a ton of reasons why a SQL Server FCI or AG is offline. Which is why my first step in troubleshooting availability issues on a SQL Server FCI or AG is to look at the Cluster Dependency Report. More often than not, you can quickly identify availability issues for a SQL Server FCI using the Cluster Dependency Report. The most common availability issues for a SQL Server FCI are caused by the underlying Windows Server Failover Cluster (WSFC). Just take a look at this Failover Cluster Troubleshooting guide to see what I mean.

But what about SQL Server AGs?

Because SQL Server AGs work on the database-level, anything related to availability issues at the database-level can cause issues at the AG-level. Below are two of the common keywords that identify SQL Server AG availability issues. You can use them to filter the results in the SQL Server error log. These are simply meant to give you a sense of how you can use the SQL Server error log to start identifying availability issues.

RESOLVING

This could be caused by a number of different reasons. Here’s one example.

Error 983, Severity 14: Unable to access database ‘%.*ls’ because its replica role is RESOLVING which does not allow connections.

This could be caused by a network communication issue between the primary and the secondary.

Here’s a tip that helps me simplify this idea: Think of this as a typical client-server communication issue with the primary replica acting as the client (sending log records) to the secondary replica and vice versa.

  • firewall – Windows Firewall or otherwise
  • endpoint permissions – the SQL Server service account does not have access to the endpoint
  • bad cable – you need to keep rats off your data center
  • corrupted storage on the secondary – this renders your database offline regardless
  • offline secondary WSFC node – this renders your database server offline regardless
  • large number of VLFs on database that is taking time to analyze during a restart of the secondary – this is just like any other databases undergoing crash recovery
  • Transparent Data Encryption enabled on the primary but not on the secondary

I could go on and on and list other reasons. But the point is to find this keyword in the SQL Server error log and think of reasons why your primary replica could not connect to the secondary and vice versa.

Now, this does not mean that your SQL Server AG is offline. If the WSFC is properly configured and you have proper quorum, your SQL Server AG will still be online with the primary replica just happily doing its thing. It’s like being able to drive your car even with the check engine light on.

FAILOVER

This could be related to the previous item RESOLVING. Now, you can be as paranoid as I am to get alerted when a SQL Server AG (or FCI) failover occurred so that you can quickly identify what caused it. But you can also be confident that your system just works as expected.

The failover process is initiated by the WSFC. But in order for the WSFC to automatically failover the SQL Server AG from the primary to the secondary replica, the following conditions should be met.

  • The WSFC has quorum and can decide to automatically failover
  • Maximum failure threshold has not been exceeded
  • Cluster service on the secondary replica is running and healthy
  • The secondary replica configured for automatic failover is fully synchronized

Noticed that the first three items in the list all pertain the WSFC. The last item applies specifically to the database. Which is why you need to quickly identify and resolve any error messages that contain the keyword RESOLVING to guarantee automatic failover.

Here’s an example error message.

Error 19406, Severity 10: The state of the local availability replica in availability group ‘%.*ls’ has changed from ‘%ls’ to ‘%ls’. 

Of course, you won’t see anything like this when a SQL Server FCI fails over because that is no different from starting a SQL Server instance. The SQL Server error log would be recycled as a side effect of the failover.

NOTE: Automatic failover is not available on SQL Server AGs when one of the replicas is running a SQL Server FCI because the SQL Server FCI automatic failover takes precedence over the SQL Server AG automatic failover.

Reading the SQL Server Errror Log

I’ve been using the undocumented sp_readerrorlog (was xp_readerrorlog) system stored procedure ever since I can remember to search for keywords inside the SQL Server error log. I’m still not good with SQL Server Management Studio, even SQL Server Enterprise Manager from the good old days of SQL Server 2000 and earlier. To use the sp_readerrorlog stored procedure to search the current SQL Server error log for the RESOLVING keyword,

--to search for the RESOLVING keyword

--in the current SQL Server error log

sp_readerrorlog 0,1, 'RESOLVING'

My friend and SQL Server senior escalation engineer Balmukund Lakhani (blog | Twitter) wrote about the different parameters that you can use when calling this system stored procedure. This makes it easy for me to search the SQL Server error log to look for these keywords.

UPDATE:  I’ve included Rob Sewell’s (blog | Twitter) one-line PowerShell script example below. This just demonstrates how powerful PowerShell is when performing tasks like this.

(Get-SQLErrorLog -Server SERVER/INSTANCE).Where{$_.Message -like '*Resolving*' -or $_.Message -like '*Failover*'}

Additional Resources

  • Troubleshooting automatic failover problems in SQL Server 2012 AlwaysOn environments
  • Troubleshoot SQL Server AlwaysOn
  • Troubleshoot Always On Availability Groups Configuration (SQL Server)
  • Failover Cluster Troubleshooting guide
  • Troubleshooting AlwaysOn Issues

  • All, I have this error in a logfile «Unable to access availability database because the database replica is not in the PRIMARY or SECONDARY role. Connections to an availability database is permitted only when the database replica is in the PRIMARY or SECONDARY role. Try the operation again later.

    2016-06-26 19:43:31.60 Logon Error: 983, Severity: 14, State: 1.

    Not freaking out but would like to know on how to solve.

  • TheSQLGuru

    SSC Guru

    Points: 134017

    What is the status of the other database? Is it suspect, offline or something like that?

    Best,
    Kevin G. Boles
    SQL Server Consultant
    SQL MVP 2007-2012
    TheSQLGuru on googles mail service

  • johnwalker10

    SSCrazy Eights

    Points: 9124

  • Chitown

    Hall of Fame

    Points: 3237

    TheSQLGuru (6/27/2016)


    What is the status of the other database? Is it suspect, offline or something like that?

    All DBs are online and in sync

    This was the error in the log file

    AlwaysOn: The availability replica manager is going offline because the local Windows Server Failover Clustering (WSFC) node has lost quorum.

  • TheSQLGuru

    SSC Guru

    Points: 134017

    Chitown (6/28/2016)


    TheSQLGuru (6/27/2016)


    What is the status of the other database? Is it suspect, offline or something like that?

    All DBs are online and in sync

    This was the error in the log file

    AlwaysOn: The availability replica manager is going offline because the local Windows Server Failover Clustering (WSFC) node has lost quorum.

    The error tells you quite directly what the issue is. There are a number of possible scenarios and recoveries here. Can’t advise you without details of your environment. But WSFC quorum stuff is easily searchable …

    Best,
    Kevin G. Boles
    SQL Server Consultant
    SQL MVP 2007-2012
    TheSQLGuru on googles mail service

  • Perry Whittle

    SSC Guru

    Points: 233806

    Chitown (6/28/2016)


    TheSQLGuru (6/27/2016)


    What is the status of the other database? Is it suspect, offline or something like that?

    All DBs are online and in sync

    This was the error in the log file

    AlwaysOn: The availability replica manager is going offline because the local Windows Server Failover Clustering (WSFC) node has lost quorum.

    Check the event logs and the cluster events, my guess is a network comm issue.

    Can you provide more detail on the networks used for the WSFC, also does a cluster validation report come back clean

    ————————————————————————————————————

    «Ya can’t make an omelette without breaking just a few eggs» 😉

  • Chitown

    Hall of Fame

    Points: 3237

    The validation report didn’t come clean. There are some network related issues we are experiencing. For time being, I have deleted Always ON. (T logs backup are in place every 15 minutes). Question. Do I shutdown failover cluster as well and leave it as it is? Because I am still seeing connectivity issues.

Viewing 7 posts — 1 through 6 (of 6 total)

Hello Experts,

Good day! We encountered a problem with our production system which are running on two-node WSFC/SQL AlwaysOn environment, and SQL AG was stuck in ‘RESOLVING’ state on 2016/04/13 from 21:17:19 to 21:18:15.(About 1 min).

This two-node are running Windows Server 2012 Standard, and DBMS are running SQL Server 2012 Service Pack 3.

Microsoft SQL Server 2012 (SP3) (KB3072779) — 11.0.6020.0 (X64)

Oct 20 2015 15:36:27 Copyright (c) Microsoft Corporation Enterprise Edition: Core-based Licensing (64-bit) on Windows NT 6.2 <X64> (Build 9200: ))

In some research, we’ve conducted to read some MS-KB article which mentioned similar situation issues/problem are listed below.

KB2699013-FIX_SQL Server 2012, SQL Server 2008 R2 or SQL Server 2008 stops responding and a ‘Non-yielding Scheduler’ error is logged
KB3081074-FIX_A stalled dispatcher system dump forces a failover and service outage in SQL Server 2014 or SQL Server 2012
KB3112363-Improvements for SQL Server AlwaysOn Lease Timeout supportability in SQL Server 2012

I thought/bold assumption this version of service pack/cumulative update was supposed to fix related problem, or not?

Anyway, finally the issue has initiative found us, I just want to clarify and know, Is it still a unresolved potential bug?

Any recommendation or advice is highly appreciated, thanks a lot!

Kevin

=====================================================================

SQL Error Log                                                                                            

=====================================================================  

04/13/2016 21:18:15,spid30s,Unknown,AlwaysOn Availability Groups connection with secondary database established for primary database ‘QAP’ on the availability replica with Replica ID: {ad0236ba-a1cf-449d-b1c1-ce7d3c86e9cc}. This is an
informational message only. No user action is required.

04/13/2016 21:18:01,spid164,Unknown,The log shipping secondary database DL980-4.QAP has restore threshold of 45 minutes and is out of sync. No restore was performed for 520600 minutes. Restored latency is 10 minutes. Check agent log and
logshipping monitor information.

04/13/2016 21:18:01,spid164,Unknown,Error: 14421<c/> Severity: 16<c/> State: 1.

04/13/2016 21:17:40,Logon,Unknown,Unable to access database ‘QAP’ because its replica role is RESOLVING which does not allow connections. Try the operation again later.

04/13/2016 21:17:40,Logon,Unknown,Error: 983<c/> Severity: 14<c/> State: 1.

04/13/2016 21:17:40,spid49s,Unknown,Nonqualified transactions are being rolled back in database QAP for an AlwaysOn Availability Groups state change. Estimated rollback completion: 100%. This is an informational message only. No user action
is required.

04/13/2016 21:17:40,Logon,Unknown,Unable to access database ‘QAP’ because its replica role is RESOLVING which does not allow connections. Try the operation again later.

04/13/2016 21:17:40,Logon,Unknown,Error: 983<c/> Severity: 14<c/> State: 1.

………………………………………

04/13/2016 21:17:23,Logon,Unknown,Unable to access database ‘QAP’ because its replica role is RESOLVING which does not allow connections. Try the operation again later.

04/13/2016 21:17:23,Logon,Unknown,Error: 983<c/> Severity: 14<c/> State: 1.

04/13/2016 21:17:23,Logon,Unknown,Unable to access database ‘QAP’ because its replica role is RESOLVING which does not allow connections. Try the operation again later.

04/13/2016 21:17:23,Logon,Unknown,Error: 983<c/> Severity: 14<c/> State: 1.

04/13/2016 21:17:23,Logon,Unknown,Unable to access database ‘QAP’ because its replica role is RESOLVING which does not allow connections. Try the operation again later.

04/13/2016 21:17:23,Logon,Unknown,Error: 983<c/> Severity: 14<c/> State: 1.

04/13/2016 21:17:23,Logon,Unknown,Unable to access database ‘QAP’ because its replica role is RESOLVING which does not allow connections. Try the operation again later.

04/13/2016 21:17:23,Logon,Unknown,Error: 983<c/> Severity: 14<c/> State: 1.

………………………………………

04/13/2016 21:17:09,spid49s,Unknown,The availability group database «QAP» is changing roles from «PRIMARY» to «RESOLVING» because the mirroring session or availability group failed over due to role
synchronization. This is an informational message only. No user action is required.

04/13/2016 21:17:09,Server,Unknown,Stopped listening on virtual network name ‘dbgrpqap’. No user action is required.

 ………………………………………

04/13/2016 21:17:09,spid49s,Unknown,AlwaysOn Availability Groups connection with secondary database terminated for primary database ‘QAP’ on the availability replica with Replica ID: {ad0236ba-a1cf-449d-b1c1-ce7d3c86e9cc}. This is an informational
message only. No user action is required.

04/13/2016 21:17:09,Server,Unknown,The state of the local availability replica in availability group ‘AGQAP’ has changed from ‘PRIMARY_NORMAL’ to ‘RESOLVING_NORMAL’. The replica state changed because of either a startup<c/> a failover<c/>
a communication issue<c/> or a cluster error. For more information<c/> see the availability group dashboard<c/> SQL Server error log<c/> Windows Server Failover Cluster management console or Windows Server Failover Cluster log.

04/13/2016 21:17:09,Server,Unknown,AlwaysOn: The local replica of availability group ‘AGQAP’ is going offline because either the lease expired or lease renewal failed. This is an informational message only. No user action is required.

04/13/2016 21:17:08,Server,Unknown,Process 0:0:0 (0xfe4) Worker 0x0000000006B16160 appears to be non-yielding on Scheduler 28. Thread creation time: 13102488101502. Approx Thread CPU Used: kernel 1591 ms<c/> user 0 ms. Process
Utilization 7%. System Idle 94%. Interval: 74565 ms.

04/13/2016 21:17:08,Server,Unknown,The lease between availability group ‘AGQAP’ and the Windows Server Failover Cluster has expired. A connectivity issue occurred between the instance of SQL Server and the Windows Server Failover
Cluster. To determine whether the availability group is failing over correctly<c/> check the corresponding availability group resource in the Windows Server Failover Cluster.

04/13/2016 21:17:08,Server,Unknown,Error: 19407<c/> Severity: 16<c/> State: 1.

 ………………………………………

04/13/2016 21:17:08,Server,Unknown,DoMiniDump () encountered error (0x80004005) — Unspecified error

04/13/2016 21:17:07,Server,Unknown,Timeout waiting for external dump process 8480.

04/13/2016 21:17:07,Server,Unknown,Windows Server Failover Cluster did not receive a process event signal from SQL Server hosting availability group ‘AGQAP’ within the lease timeout period.

04/13/2016 21:17:07,Server,Unknown,Error: 19419<c/> Severity: 16<c/> State: 1.

04/13/2016 21:16:18,Server,Unknown,Stack Signature for the dump is 0x000000000000036A

04/13/2016 21:16:18,Server,Unknown,* *******************************************************************************

04/13/2016 21:16:18,Server,Unknown,*

04/13/2016 21:16:18,Server,Unknown,* Non-yielding Scheduler

04/13/2016 21:16:18,Server,Unknown,*

04/13/2016 21:16:18,Server,Unknown,*   04/13/16 21:16:18 spid 3976

04/13/2016 21:16:18,Server,Unknown,* BEGIN STACK DUMP:

04/13/2016 21:16:18,Server,Unknown,*

04/13/2016 21:16:18,Server,Unknown,* *******************************************************************************

04/13/2016 21:16:18,Server,Unknown,***Unable to get thread context for spid 0

=====================================================================

BugCheck Dump                                                                                             

=====================================================================  

Current time is 21:16:17 04/13/16.                                                          
                   
                                     
                                           

This file is generated by Microsoft SQL Server                                                                  

version 11.0.6020.0                                                                                             

upon detection of fatal unexpected error. Please return this file,                                              

the query or program that produced the bugcheck, the database and                                               

the error log, and any other pertinent information with a Service Request.                                       
                                                                         
                                 

Computer type is Intel(R) Xeon(R) CPU           X7560  @ 2.27GHz.                      
                         

Bios Version is HP     — 2                                                                                      

128 X64 level 8664, 2 Mhz processor (s).                                                                        

Windows NT 6.2 Build 9200 CSD .                                                                                 

Memory                              

MemoryLoad = 99%                    

Total Physical = 1048565 MB          

Available Physical = 3472 MB        

Total Page File = 1348565 MB        

Available Page File = 364906 MB     

Total Virtual = 8388607 MB          

Available Virtual = 7188925 MB      

***Unable to get thread context for spid 0                                                                       

* *******************************************************************************                               

*                                                                                  
                             

* BEGIN STACK DUMP:                                                                                             

*   04/13/16 21:16:18 spid 3976                                                                                
 

*                                                                                                               

* Non-yielding Scheduler                                                                                        

*                                                                                                                

* *******************************************************************************    

=====================================================================
SQL Server Memory Configuration & Availability Group Properties

=====================================================================

Memory_usedby_Sqlserver_MB Locked_pages_used_Sqlserver_MB Total_VAS_in_MB      process_physical_memory_low process_virtual_memory_low
————————— —————————— ——————— ————————— —————————
960375                     950171                         8388607              0          
                0

=====================================================================  

Object                        Name                          Value                    
    Type
——                        —-                          ——                    
    —-
AGQAP                         VerboseLogging                0                            
UInt32
AGQAP                         LeaseTimeout                  100000                        UInt32
AGQAP                         FailureConditionLevel         1                             UInt32
AGQAP                         HealthCheckTimeout            150000                        UInt32

Environment

-> I was working on an application connectivity issue. It was advised that the application had trouble connecting to database server.

-> When we checked the database server, database that the application connects to is part of Always On availability group. This database was online and synchronized. We did not see any issue at a higher level.

-> In the meantime, application team advised back in sometime while we were checking that Application services were restarted and now Application is working fine.

-> I started checking the SQL Server error log and could see below messages,

2020-12-08 02:11:25.51 Server Error: 19421, Severity: 16, State: 1.
2020-12-08 02:11:25.51 Server SQL Server hosting availability group ‘JBAG’ did not receive a process event signal from the Windows Server Failover Cluster within the lease timeout period.

2020-12-08 02:11:25.60 spid466 Remote harden of transaction ‘implicit_transaction’ (ID 0x00000001d7cac619 0005:b58e22ae) started at Dec 8 2020 02:11AM in database ‘JBDB1’ at LSN (1430698:161982:3) failed.

2020-12-08 02:11:25.88 Server Error: 19407, Severity: 16, State: 1.
2020-12-08 02:11:25.88 Server The lease between availability group ‘JBAG’ and the Windows Server Failover Cluster has expired. A connectivity issue occurred between the instance of SQL Server and the Windows Server Failover Cluster. To determine whether the availability group is failing over correctly, check the corresponding availability group resource in the Windows Server Failover Cluster.

2020-12-08 02:11:25.98 Server Always On: The local replica of availability group ‘JBAG’ is going offline because either the lease expired or lease renewal failed. This is an informational message only. No user action is required.
2020-12-08 02:11:26.47 Server The state of the local availability replica in availability group ‘JBAG’ has changed from ‘PRIMARY_NORMAL’ to ‘RESOLVING_NORMAL’. The state changed because the lease between the local availability replica and Windows Server Failover Clustering (WSFC) has expired. For more information, see the SQL Server error log, Windows Server Failover Clustering (WSFC) management console, or WSFC log.

2020-12-08 02:11:26.47 spid214s Always On Availability Groups connection with secondary database terminated for primary database ‘JBDB1’ on the availability replica ‘JBSAG2’ with Replica ID: {9c105a39-d2cc-4b31-a913-b21b02b3ddf4}. This is an informational message only. No user action is required.

2020-12-08 02:11:26.47 spid531 Remote harden of transaction ‘implicit_transaction’ (ID 0x00000001d7cac805 0005:b58e22b8) started at Dec 8 2020 02:11AM in database ‘JBDB1’ at LSN (1430698:162003:15) failed.

2020-12-08 02:11:26.48 spid285s The availability group database “JBDB2” is changing roles from “PRIMARY” to “RESOLVING” because the mirroring session or availability group failed over due to role synchronization. This is an informational message only. No user action is required.

2020-12-08 02:11:26.48 spid428s The availability group database “JBDB” is changing roles from “PRIMARY” to “RESOLVING” because the mirroring session or availability group failed over due to role synchronization. This is an informational message only. No user action is required.

2020-12-08 02:11:26.48 spid300s The availability group database “JBDB1” is changing roles from “PRIMARY” to “RESOLVING” because the mirroring session or availability group failed over due to role synchronization. This is an informational message only. No user action is required.

2020-12-08 02:11:26.48 spid75 Remote harden of transaction ‘INSERT’ (ID 0x00000001d7caca99 0000:01445700) started at Dec 8 2020 02:11AM in database ‘JBDB’ at LSN (1099:57413:3) failed.

2020-12-08 02:11:26.48 spid248 Remote harden of transaction ‘implicit_transaction’ (ID 0x00000001d7cac8e7 0005:b58e22ba) started at Dec 8 2020 02:11AM in database ‘JBDB1’ at LSN (1430698:162008:9) failed.

2020-12-08 02:11:26.54 Logon Error: 983, Severity: 14, State: 1.
2020-12-08 02:11:26.54 Logon Unable to access availability database ‘JBDB1’ because the database replica is not in the PRIMARY or SECONDARY role. Connections to an availability database is permitted only when the database replica is in the PRIMARY or SECONDARY role. Try the operation again later.

2020-12-08 02:11:26.54 Backup Error: 18210, Severity: 16, State: 1.
2020-12-08 02:11:30.79 spid52 Always On: The local replica of availability group ‘JBAG’ is preparing to transition to the resolving role in response to a request from the Windows Server Failover Clustering (WSFC) cluster. This is an informational message only. No user action is required.

2020-12-08 02:11:39.53 Server Started listening on virtual network name ‘JBDBAG’. No user action is required.
2020-12-08 02:11:39.54 Server The lease worker of availability group ‘JBAG’ is now sleeping the excess lease time (156313 ms) supplied during online. This is an informational message only. No user action is required.

-> From the messages, I could see that there was a lease time out. LeaseTimeout which happens only on the primary replica controls the lease mechanism and when the lease expires there is a very high probability of a system wide event taking place.

-> The SQL Server resource DLL is responsible for the lease heartbeat activity. Every 1/4 of the LeaseTimeout setting the dedicated, lease thread wakes up and attempts to renew the lease. The lease is a simple handshake between the resource DLL and the SQL Server instance supporting the AG on the same node. For a lease to expire the server lease worker is not able to wait on and respond to the event handshake when it is dedicated to the task and running at a priority above most threads on the system.

-> Details from SQL Server error log,

Initial failure

2020-12-08 02:11:25.51 Server SQL Server hosting availability group ‘JBAG’ did not receive a process event signal from the Windows Server Failover Cluster within the lease timeout period.

2020-12-08 02:11:25.88 Server Error: 19407, Severity: 16, State: 1.
2020-12-08 02:11:25.88 Server The lease between availability group ‘JBAG’ and the Windows Server Failover Cluster has expired. A connectivity issue occurred between the instance of SQL Server and the Windows Server Failover Cluster. To determine whether the availability group is failing over correctly, check the corresponding availability group resource in the Windows Server Failover Cluster.

2020-12-08 02:11:25.98 Server Always On: The local replica of availability group ‘JBAG’ is going offline because either the lease expired or lease renewal failed. This is an informational message only. No user action is required.

2020-12-08 02:11:26.47 Server The state of the local availability replica in availability group ‘JBAG’ has changed from ‘PRIMARY_NORMAL’ to ‘RESOLVING_NORMAL’. The state changed because the lease between the local availability replica and Windows Server Failover Clustering (WSFC) has expired. For more information, see the SQL Server error log, Windows Server Failover Clustering (WSFC) management console, or WSFC log.

Availability group getting online automatically

2020-12-08 02:11:39.53 spid54 The state of the local availability replica in availability group ‘JBAG’ has changed from ‘RESOLVING_NORMAL’ to ‘PRIMARY_PENDING’. The state changed because the availability group is coming online. For more information, see the SQL Server error log, Windows Server Failover Clustering (WSFC) management console, or WSFC log.

2020-12-08 02:11:39.53 Server Started listening on virtual network name ‘JBDBAG’. No user action is required.

2020-12-08 02:11:40.68 Server The state of the local availability replica in availability group ‘JBAG’ has changed from ‘PRIMARY_PENDING’ to ‘PRIMARY_NORMAL’. The state changed because the local replica has completed processing Online command from Windows Server Failover Clustering (WSFC). For more information, see the SQL Server error log, Windows Server Failover Clustering (WSFC) management console, or WSFC log.

2020-12-01 18:06:34.90 spid48s The availability group database “JBDB” is changing roles from “RESOLVING” to “PRIMARY” because the mirroring session or availability group failed over due to role synchronization. This is an informational message only. No user action is required.

-> Details from Cluster.log

You can generate cluster.log using this article.

539453 00003926.00009z60::2020/12/07-20:41:26.485 ERR [RES] SQL Server Availability Group : [hadrag] Availability Group lease is no longer valid

539454 00003926.00009z60::2020/12/07-20:41:26.485 ERR [RES] SQL Server Availability Group : [hadrag] Resource Alive result 0.

539455 00003926.00009z60::2020/12/07-20:41:26.485 ERR [RES] SQL Server Availability Group : [hadrag] Availability Group lease is no longer valid

539456 00003926.00009z60::2020/12/07-20:41:26.485 ERR [RES] SQL Server Availability Group : [hadrag] Resource Alive result 0.

539458 00002546.00008ge4::2020/12/07-20:41:26.485 INFO [RCM] HandleMonitorReply: FAILURENOTIFICATION for ‘JBAG’, gen(0) result 1/0.

539472 00003926.00005h38::2020/12/07-20:41:26.544 ERR [RES] SQL Server Availability Group : [hadrag] Lease renewal failed because the existing lease is no longer valid.

539473 00003926.00005h38::2020/12/07-20:41:26.544 ERR [RES] SQL Server Availability Group : [hadrag] The lease is expired. The lease should have been renewed by 2020/12/07-20:41:15.482

-> It is clear from the entries in cluster.log that SQL Server did not complete the handshake with resource DLL and this caused the lease time out. This resulted in Availability group going into resolving state and the database was not accessible.

-> In this case Availability group JBAG went to resolving state and then recovered automatically in sometime. There are many reason why lease time out fails, but most of the time it is due to a resource issue on the Primary replica.

-> Fortunately in my case we capture performance monitor logs on all database server. I checked the logs and was able to see that CPU utilization at that time was 100% when the lease timeout happened.

-> High resource utilization on the database server would have resulted SQL server not to respond for sometime and this SQL Server freeze like situation would have resulted in lease timeout.

-> I checked the process counter in Perfmon BLG file and was able to see SQL Server utilizing most of the CPU and some system processes “Privileged time” was also high. We get to know that application load at that time was very high and that could be a contributing factor. But we couldn’t get more details as what queries within SQL server could have increased SQL Server CPU utilization as we did not have any trace at that time.

-> In case this issue occurrence is frequent, we can try increasing the LeaseTimeout value.

-> But increasing LeaseTimeout value will just be a workaround for time being, but the actual resolution will be to understand the reason behind high CPU utilization. A typical performance troubleshooting on the database server will be required/enough to understand the reason and fix it.

More Reads

How It Works: SQL Server AlwaysOn Lease Timeout | Microsoft Docs
Diagnose Unexpected Failover or Availability Group in RESOLVING State | Microsoft Docs

Thank You,
Vivek Janakiraman

Disclaimer:
The views expressed on this blog are mine alone and do not reflect the views of my company or anyone else. All postings on this blog are provided “AS IS” with no warranties, and confers no rights.

List of error messages between 1 and 999 in SQL Server 2017.

These error messages are all available by querying the sys.messages catalog view on the master database.

message_id severity is_event_logged text 21 20 0 Warning: Fatal error %d occurred at %S_DATE. Note the error and time, and contact your system administrator. 101 15 0 Query not allowed in Waitfor. 102 15 0 Incorrect syntax near ‘%.*ls’. 103 15 0 The %S_MSG that starts with ‘%.*ls’ is too long. Maximum length is %d. 104 15 0 ORDER BY items must appear in the select list if the statement contains a UNION, INTERSECT or EXCEPT operator. 105 15 0 Unclosed quotation mark after the character string ‘%.*ls’. 106 16 0 Too many table names in the query. The maximum allowable is %d. 107 15 0 The column prefix ‘%.*ls’ does not match with a table name or alias name used in the query. 108 15 0 The ORDER BY position number %ld is out of range of the number of items in the select list. 109 15 0 There are more columns in the INSERT statement than values specified in the VALUES clause. The number of values in the VALUES clause must match the number of columns specified in the INSERT statement. 110 15 0 There are fewer columns in the INSERT statement than values specified in the VALUES clause. The number of values in the VALUES clause must match the number of columns specified in the INSERT statement. 111 15 0 ‘%ls’ must be the first statement in a query batch. 112 15 0 Variables are not allowed in the %ls statement. 113 15 0 Missing end comment mark ‘*/’. 114 15 0 Browse mode is invalid for a statement that assigns values to a variable. 115 15 0 The FOR UPDATE clause is invalid for statements containing set operators. 116 15 0 Only one expression can be specified in the select list when the subquery is not introduced with EXISTS. 117 15 0 The %S_MSG name ‘%.*ls’ contains more than the maximum number of prefixes. The maximum is %d. 119 15 0 Must pass parameter number %d and subsequent parameters as ‘@name = value’. After the form ‘@name = value’ has been used, all subsequent parameters must be passed in the form ‘@name = value’. 120 15 0 The select list for the INSERT statement contains fewer items than the insert list. The number of SELECT values must match the number of INSERT columns. 121 15 0 The select list for the INSERT statement contains more items than the insert list. The number of SELECT values must match the number of INSERT columns. 122 15 0 The %ls option is allowed only with %ls syntax. 123 15 0 Batch/procedure exceeds maximum length of %d characters. 124 15 0 CREATE PROCEDURE contains no statements. 125 15 0 Case expressions may only be nested to level %d. 126 15 0 Invalid pseudocolumn «%.*ls». 127 15 0 A TOP N or FETCH rowcount value may not be negative. 128 15 0 The name «%.*s» is not permitted in this context. Valid expressions are constants, constant expressions, and (in some contexts) variables. Column names are not permitted. 129 15 0 Fillfactor %d is not a valid percentage; fillfactor must be between 1 and 100. 130 16 0 Cannot perform an aggregate function on an expression containing an aggregate or a subquery. 131 15 0 The size (%d) given to the %S_MSG ‘%.*ls’ exceeds the maximum allowed for any data type (%d). 132 15 0 The label ‘%.*ls’ has already been declared. Label names must be unique within a query batch or stored procedure. 133 15 0 A GOTO statement references the label ‘%.*ls’ but the label has not been declared. 134 15 0 The variable name ‘%.*ls’ has already been declared. Variable names must be unique within a query batch or stored procedure. 135 15 0 Cannot use a BREAK statement outside the scope of a WHILE statement. 136 15 0 Cannot use a CONTINUE statement outside the scope of a WHILE statement. 137 15 0 Must declare the scalar variable «%.*ls». 138 15 0 Correlation clause in a subquery not permitted. 139 15 0 Cannot assign a default value to a local variable. 140 15 0 Can only use IF UPDATE within a CREATE TRIGGER statement. 141 15 0 A SELECT statement that assigns a value to a variable must not be combined with data-retrieval operations. 142 15 0 Incorrect syntax for definition of the ‘%ls’ constraint. 144 15 0 Cannot use an aggregate or a subquery in an expression used for the group by list of a GROUP BY clause. 145 15 0 ORDER BY items must appear in the select list if SELECT DISTINCT is specified. 146 15 0 Could not allocate ancillary table for a subquery. Maximum number of tables in a query (%d) exceeded. 147 15 0 An aggregate may not appear in the WHERE clause unless it is in a subquery contained in a HAVING clause or a select list, and the column being aggregated is an outer reference. 148 15 0 Incorrect time syntax in time string ‘%.*ls’ used with WAITFOR. 149 15 0 Time value ‘%.*ls’ used with WAITFOR is not a valid value. Check date/time syntax. 150 15 0 Time value %d used with MAX_DURATION is not a valid value; MAX_DURATION wait time must be greater or equal to 0 and less or equal to %d. 151 15 0 ‘%.*ls’ is an invalid money value. 152 15 0 The same large data placement option «%.*ls» has been specified twice. 153 15 0 Invalid usage of the option %.*ls in the %ls statement. 154 15 0 %S_MSG is not allowed in %S_MSG. 155 15 0 ‘%.*ls’ is not a recognized %ls option. 156 15 0 Incorrect syntax near the keyword ‘%.*ls’. 157 15 0 An aggregate may not appear in the set list of an UPDATE statement. 158 15 0 An aggregate may not appear in the OUTPUT clause. 159 15 0 Must specify the table name and index name for the DROP INDEX statement. 160 15 0 Rule does not contain a variable. 161 15 0 Rule contains more than one variable. 162 15 0 Invalid expression in a TOP or OFFSET clause. 164 15 0 Each GROUP BY expression must contain at least one column that is not an outer reference. 165 16 0 Privilege %ls may not be granted or revoked. 166 15 0 ‘%ls’ does not allow specifying the database name as a prefix to the object name. 167 15 0 Cannot create %S_MSG on a temporary object. 168 15 0 The floating point value ‘%.*ls’ is out of the range of computer representation (%d bytes). 169 15 0 A column has been specified more than once in the order by list. Columns in the order by list must be unique. 171 15 0 Browse mode cannot be used with INSERT, SELECT INTO, or UPDATE statements. 172 15 0 Cannot use HOLDLOCK in browse mode. 173 15 0 The definition for column ‘%.*ls’ must include a data type. 174 15 0 The %.*ls function requires %d argument(s). 175 15 0 An aggregate may not appear in a computed column expression or check constraint. 176 15 0 The FOR BROWSE clause is no longer supported in views. 177 15 0 The IDENTITY function can only be used when the SELECT statement has an INTO clause. 178 15 0 A RETURN statement with a return value cannot be used in this context. 179 15 0 Cannot use the OUTPUT option when passing a constant to a stored procedure. 180 15 0 There are too many parameters in this %ls statement. The maximum number is %d. 181 15 0 Cannot use the OUTPUT option in a DECLARE, CREATE AGGREGATE or CREATE FUNCTION statement. 182 15 0 Table and column names must be supplied for the READTEXT or WRITETEXT utility. 183 15 0 The scale (%d) for column ‘%.*ls’ must be within the range %d to %d. 184 16 0 DEFAULT cannot be specified more than once for filegroups of the same content type. 185 15 0 Data stream is invalid for WRITETEXT statement in bulk form. 186 15 0 Data stream missing from WRITETEXT statement. 187 16 0 The valid range for MAX_QUEUE_READERS is 0 to 32767. 188 15 0 Cannot specify a log file in a CREATE DATABASE statement without also specifying at least one data file. 189 15 0 The %ls function requires %d to %d arguments. 190 15 0 An invalid date or time was specified in the statement. 191 15 0 Some part of your SQL statement is nested too deeply. Rewrite the query or break it up into smaller queries. 192 16 0 The scale must be less than or equal to the precision. 193 15 0 The object or column name starting with ‘%.*ls’ is too long. The maximum length is %d characters. 194 15 0 A SELECT INTO statement cannot contain a SELECT statement that assigns values to a variable. 195 15 0 ‘%.*ls’ is not a recognized %S_MSG. 196 15 0 SELECT INTO must be the first query in a statement containing a UNION, INTERSECT or EXCEPT operator. 197 15 0 EXECUTE cannot be used as a source when inserting into a table variable. 198 15 0 Browse mode is invalid for statements containing a UNION, INTERSECT or EXCEPT operator. 199 15 0 An INSERT statement cannot contain a SELECT statement that assigns values to a variable. 201 16 0 Procedure or function ‘%.*ls’ expects parameter ‘%.*ls’, which was not supplied. 202 16 0 Invalid type ‘%s’ for WAITFOR. Supported data types are CHAR/VARCHAR, NCHAR/NVARCHAR, and DATETIME. WAITFOR DELAY supports the INT and SMALLINT data types. 203 16 0 The name ‘%.*ls’ is not a valid identifier. 204 20 1 Normalization error in node %ls. 205 16 0 All queries combined using a UNION, INTERSECT or EXCEPT operator must have an equal number of expressions in their target lists. 206 16 0 Operand type clash: %ls is incompatible with %ls 207 16 0 Invalid column name ‘%.*ls’. 208 16 0 Invalid object name ‘%.*ls’. 209 16 0 Ambiguous column name ‘%.*ls’. 210 16 0 Conversion failed when converting datetime from binary/varbinary string. 211 23 1 Corruption in database ID %I64d, object ID %ld possibly due to schema or catalog inconsistency. Run DBCC CHECKCATALOG. 212 16 0 Expression result length exceeds the maximum. %d max, %d found. 213 16 0 Column name or number of supplied values does not match table definition. 214 16 0 Procedure expects parameter ‘%ls’ of type ‘%ls’. 215 16 0 Parameters supplied for object ‘%.*ls’ which is not a function. If the parameters are intended as a table hint, a WITH keyword is required. 216 16 0 Parameters were not supplied for the function ‘%.*ls’. 217 16 0 Maximum stored procedure, function, trigger, or view nesting level exceeded (limit %d). 218 16 0 Could not find the type ‘%.*ls’. Either it does not exist or you do not have the necessary permission. 219 16 0 The type ‘%.*ls’ already exists, or you do not have permission to create it. 220 16 0 Arithmetic overflow error for data type %ls, value = %ld. 221 10 0 FIPS Warning: Implicit conversion from %ls to %ls. 222 16 0 The base type «%.*ls» is not a valid base type for the alias data type. 223 11 0 Object ID %ld specified as a default for table ID %ld, column ID %d is missing or not of type default. 224 11 0 Object ID %ld specified as a rule for table ID %ld, column ID %d is missing or not of type default. 225 16 0 The parameters supplied for the %ls «%.*ls» are not valid. 226 16 0 %ls statement not allowed within multi-statement transaction. 227 15 0 «%.*ls» is not a valid function, property, or field. 228 15 0 Method ‘%.*ls’ of type ‘%.*ls’ in assembly ‘%.*ls’ does not return any value. 229 14 0 The %ls permission was denied on the object ‘%.*ls’, database ‘%.*ls’, schema ‘%.*ls’. 230 14 0 The %ls permission was denied on the column ‘%.*ls’ of the object ‘%.*ls’, database ‘%.*ls’, schema ‘%.*ls’. 231 11 0 No such default. ID = %ld, database ID = %d. 232 16 0 Arithmetic overflow error for type %ls, value = %f. 233 16 0 The column ‘%.*ls’ in table ‘%.*ls’ cannot be null. 234 16 0 There is insufficient result space to convert a money value to %ls. 235 16 0 Cannot convert a char value to money. The char value has incorrect syntax. 236 16 0 The conversion from char data type to money resulted in a money overflow error. 237 16 0 There is insufficient result space to convert a money value to %ls. 239 16 0 Duplicate common table expression name ‘%.*ls’ was specified. 240 16 0 Types don’t match between the anchor and the recursive part in column «%.*ls» of recursive query «%.*ls». 241 16 0 Conversion failed when converting date and/or time from character string. 242 16 0 The conversion of a %ls data type to a %ls data type resulted in an out-of-range value. 243 16 0 Type %.*ls is not a defined system type. 244 16 0 The conversion of the %ls value ‘%.*ls’ overflowed an %hs column. Use a larger integer column. 245 16 0 Conversion failed when converting the %ls value ‘%.*ls’ to data type %ls. 246 16 0 No anchor member was specified for recursive query «%.*ls». 247 16 0 An anchor member was found in the recursive part of recursive query «%.*ls». 248 16 0 The conversion of the %ls value ‘%.*ls’ overflowed an int column. 249 16 0 The type «%ls» is not comparable. It cannot be used in the %ls clause. 251 16 0 Could not allocate ancillary table for query optimization. Maximum number of tables in a query (%d) exceeded. 252 16 0 Recursive common table expression ‘%.*ls’ does not contain a top-level UNION ALL operator. 253 16 0 Recursive member of a common table expression ‘%.*ls’ has multiple recursive references. 254 16 0 Prefixed columns are not allowed in the column list of a PIVOT operator. 255 16 0 Pseudocolumns are not allowed in the column list of a PIVOT operator. 256 16 0 The data type %ls is invalid for the %ls function. Allowed types are: char/varchar, nchar/nvarchar, and binary/varbinary. 257 16 0 Implicit conversion from data type %ls to %ls is not allowed. Use the CONVERT function to run this query. 258 15 0 Cannot call methods on %ls. 259 16 0 Ad hoc updates to system catalogs are not allowed. 260 16 0 Disallowed implicit conversion from data type %ls to data type %ls, table ‘%.*ls’, column ‘%.*ls’. Use the CONVERT function to run this query. 261 16 0 ‘%.*ls’ is not a recognized function. 262 16 0 %ls permission denied in database ‘%.*ls’. 263 16 0 Must specify table to select from. 264 16 0 The column name ‘%.*ls’ is specified more than once in the SET clause or column list of an INSERT. A column cannot be assigned more than one value in the same clause. Modify the clause to make sure that a column is updated only once. If this statement updates or inserts columns into a view, column aliasing can conceal the duplication in your code. 265 16 0 The column name «%.*ls» specified in the %ls operator conflicts with the existing column name in the %ls argument. 266 16 0 Transaction count after EXECUTE indicates a mismatching number of BEGIN and COMMIT statements. Previous count = %ld, current count = %ld. 267 16 0 Object ‘%.*ls’ cannot be found. 268 16 0 Cannot run SELECT INTO in this database. The database owner must run sp_dboption to enable this option. 270 16 0 Object ‘%.*ls’ cannot be modified. 271 16 0 The column «%.*ls» cannot be modified because it is either a computed column or is the result of a UNION operator. 272 16 0 Cannot update a timestamp column. 273 16 0 Cannot insert an explicit value into a timestamp column. Use INSERT with a column list to exclude the timestamp column, or insert a DEFAULT into the timestamp column. 275 16 0 Prefixes are not allowed in value or pivot columns of an UNPIVOT operator. 276 16 0 Pseudocolumns are not allowed as value or pivot columns of an UNPIVOT operator. 277 16 0 The column «%.*ls» is specified multiple times in the column list of the UNPIVOT operator. 278 16 0 The text, ntext, and image data types cannot be used in a GROUP BY clause. 279 16 0 The text, ntext, and image data types are invalid in this subquery or aggregate expression. 280 16 0 Only base table columns are allowed in the TEXTPTR function. 281 16 0 %d is not a valid style number when converting from %ls to a character string. 282 10 0 The ‘%.*ls’ procedure attempted to return a status of NULL, which is not allowed. A status of 0 will be returned instead. 283 16 0 READTEXT cannot be used on inserted or deleted tables within an INSTEAD OF trigger. 284 16 0 Rules cannot be bound to text, ntext, or image data types. 285 16 0 The READTEXT, WRITETEXT, and UPDATETEXT statements cannot be used with views or functions. 286 16 0 The logical tables INSERTED and DELETED cannot be updated. 287 16 0 The %ls statement is not allowed within a trigger. 288 16 0 The PATINDEX function operates on char, nchar, varchar, nvarchar, text, and ntext data types only. 289 16 0 Cannot construct data type %ls, some of the arguments have values which are not valid. 290 16 0 Invalid EXECUTE statement using object «%ls», method «%ls». 291 16 0 CAST or CONVERT: invalid attributes specified for type ‘%.*ls’ 292 16 0 There is insufficient result space to convert a smallmoney value to %ls. 293 16 0 Cannot convert char value to smallmoney. The char value has incorrect syntax. 294 16 0 The conversion from char data type to smallmoney data type resulted in a smallmoney overflow error. 295 16 0 Conversion failed when converting character string to smalldatetime data type. 297 16 0 The user does not have permission to perform this action. 300 14 0 %ls permission was denied on object ‘%.*ls’, database ‘%.*ls’. 301 16 0 Query contains an outer-join request that is not permitted. 302 16 0 The newsequentialid() built-in function can only be used in a DEFAULT expression for a column of type ‘uniqueidentifier’ in a CREATE TABLE or ALTER TABLE statement. It cannot be combined with other operators to form a complex scalar expression. 303 16 0 The table ‘%.*ls’ is an inner member of an outer-join clause. This is not allowed if the table also participates in a regular join clause. 304 16 0 ‘%I64d’ is out of range for index/statistics option ‘%.*ls’. See sp_configure option ‘%ls’ for valid values. 305 16 0 The XML data type cannot be compared or sorted, except when using the IS NULL operator. 306 16 0 The text, ntext, and image data types cannot be compared or sorted, except when using IS NULL or LIKE operator. 307 16 0 Index ID %d on table ‘%.*ls’ (specified in the FROM clause) does not exist. 308 16 0 Index ‘%.*ls’ on table ‘%.*ls’ (specified in the FROM clause) does not exist. 309 16 0 Cannot use index «%.*ls» on table «%.*ls» in a hint. XML indexes are not allowed in hints. 310 15 0 The value %d specified for the MAXRECURSION option exceeds the allowed maximum of %d. 311 16 0 Cannot use text, ntext, or image columns in the ‘inserted’ and ‘deleted’ tables. 312 16 0 Cannot reference text, ntext, or image columns in a filter stored procedure. 313 16 0 An insufficient number of arguments were supplied for the procedure or function %.*ls. 314 16 0 Cannot use GROUP BY ALL with the special tables INSERTED or DELETED. 315 16 0 Index «%.*ls» on table «%.*ls» (specified in the FROM clause) is disabled or resides in a filegroup which is not online. 316 16 0 The index ID %d on table «%.*ls» (specified in the FROM clause) is disabled or resides in a filegroup which is not online. 317 16 0 Table-valued function ‘%.*ls’ cannot have a column alias. 318 16 0 The table (and its columns) returned by a table-valued method need to be aliased. 319 16 0 Incorrect syntax near the keyword ‘with’. If this statement is a common table expression, an xmlnamespaces clause or a change tracking context clause, the previous statement must be terminated with a semicolon. 320 16 0 The compile-time variable value for ‘%.*ls’ in the OPTIMIZE FOR clause must be a literal. 321 15 0 «%.*ls» is not a recognized table hints option. If it is intended as a parameter to a table-valued function or to the CHANGETABLE function, ensure that your database compatibility mode is set to 90. 322 15 0 The variable «%.*ls» is specified in the OPTIMIZE FOR clause, but is not used in the query. 324 15 0 The ‘ALL’ version of the %.*ls operator is not supported. 325 15 0 Incorrect syntax near ‘%.*ls’. You may need to set the compatibility level of the current database to a higher value to enable this feature. See help for the SET COMPATIBILITY_LEVEL option of ALTER DATABASE. 326 16 0 Multi-part identifier ‘%.*ls’ is ambiguous. Both columns ‘%.*ls’ and ‘%.*ls’ exist. 327 16 0 Function call ‘%.*ls’ is ambiguous: both a user-defined function and a method call with this name exist. 328 16 0 A cursor plan could not be generated for the given statement because the textptr() function was used on a LOB column from one of the base tables. 329 16 0 Each GROUP BY expression must contain at least one column reference. 330 15 0 The target ‘%.*ls’ of the OUTPUT INTO clause cannot be a view or common table expression. 331 15 0 The target table ‘%.*ls’ of the OUTPUT INTO clause cannot have any enabled triggers. 332 15 0 The target table ‘%.*ls’ of the OUTPUT INTO clause cannot be on either side of a (primary key, foreign key) relationship. Found reference constraint ‘%ls’. 333 15 0 The target table ‘%.*ls’ of the OUTPUT INTO clause cannot have any enabled check constraints or any enabled rules. Found check constraint or rule ‘%ls’. 334 15 0 The target table ‘%.*ls’ of the DML statement cannot have any enabled triggers if the statement contains an OUTPUT clause without INTO clause. 335 16 0 Function call cannot be used to match a target table in the FROM clause of a DELETE or UPDATE statement. Use function name ‘%.*ls’ without parameters instead. 336 15 0 Incorrect syntax near ‘%.*ls’. If this is intended to be a common table expression, you need to explicitly terminate the previous statement with a semi-colon. 337 10 0 Warning: the floating point value ‘%.*ls’ is too small. It will be interpreted as 0. 338 16 0 READEXT, WRITETEXT, and UPDATETEXT statements cannot be used with views, remote tables, and inserted or deleted tables inside triggers. 339 16 0 DEFAULT or NULL are not allowed as explicit identity values. 340 16 0 Cannot create the trigger «%.*ls» on view «%.*ls». AFTER triggers cannot be created on views. 341 16 0 Replication filter procedures may not contain columns of large object, large value, XML or CLR type. 342 16 0 Column «%.*ls» is not allowed in this context, and the user-defined function or aggregate «%.*ls» could not be found. 343 15 0 Unknown object type ‘%.*ls’ used in a CREATE, DROP, or ALTER statement. 344 16 0 Remote function reference ‘%.*ls’ is not allowed, and the column name ‘%.*ls’ could not be found or is ambiguous. 345 16 0 Function ‘%.*ls’ is not allowed in the OUTPUT clause, because it performs user or system data access, or is assumed to perform this access. A function is assumed by default to perform data access if it is not schemabound. 346 15 0 The parameter «%.*ls» can not be declared READONLY since it is not a table-valued parameter. 347 16 0 The table-valued parameter «%.*ls» cannot be declared as an OUTPUT parameter. 348 16 0 The table variable «%.*ls» can not be passed to a stored procedure with the OUTPUT option. 349 16 0 The procedure «%.*ls» has no parameter named «%.*ls». 350 16 0 The column «%.*ls» does not have a valid data type. A column cannot be of a user-defined table type. 351 16 0 Column, parameter, or variable %.*ls. : Cannot find data type %.*ls. 352 15 0 The table-valued parameter «%.*ls» must be declared with the READONLY option. 353 16 0 Function ‘%.*ls’ is not allowed in the %S_MSG clause when the FROM clause contains a nested INSERT, UPDATE, DELETE, or MERGE statement. This is because the function performs user or system data access, or is assumed to perform this access. By default, a function is assumed to perform data access if it is not schema-bound. 354 16 0 The target ‘%.*ls’ of the INSERT statement cannot be a view or common table expression when the FROM clause contains a nested INSERT, UPDATE, DELETE, or MERGE statement. 355 16 0 The target table ‘%.*ls’ of the INSERT statement cannot have any enabled triggers when the FROM clause contains a nested INSERT, UPDATE, DELETE, or MERGE statement. 356 16 0 The target table ‘%.*ls’ of the INSERT statement cannot be on either side of a (primary key, foreign key) relationship when the FROM clause contains a nested INSERT, UPDATE, DELETE, or MERGE statement. Found reference constraint ‘%ls’. 357 16 0 The target table ‘%.*ls’ of the INSERT statement cannot have any enabled rules when the FROM clause contains a nested INSERT, UPDATE, DELETE, or MERGE statement. Found rule ‘%ls’. 358 16 0 The target table ‘%.*ls’ of the MERGE statement cannot have any enabled rules. Found rule ‘%ls’. 359 16 0 The target ‘%.*ls’ of an OUTPUT INTO clause has an index with the ignore_dup_key option and cannot be used when an OUTPUT clause is also used. 360 16 0 The target column list of an INSERT, UPDATE, or MERGE statement cannot contain both a sparse column and the column set that contains the sparse column. Rewrite the statement to include either the sparse column or the column set, but not both. 361 16 0 The number of target columns that are specified in an INSERT, UPDATE, or MERGE statement exceeds the maximum of %d. This total number includes identity, timestamp, and columns that have default values. To correct this error, change the query to target a sparse column set instead of single sparse columns. 362 16 0 The query processor could not produce a query plan because the name ‘%.*ls’ in the FORCESEEK hint on table or view ‘%.*ls’ did not match the key column names of the index ‘%.*ls’. 363 16 0 The query processor could not produce a query plan because the FORCESEEK hint on table or view ‘%.*ls’ cannot be used with the %S_MSG specified by index ‘%.*ls’. 364 16 0 The query processor could not produce a query plan because the FORCESEEK hint on view ‘%.*ls’ is used without a NOEXPAND hint. Resubmit the query with the NOEXPAND hint or remove the FORCESEEK hint on the view. 365 16 0 The query processor could not produce a query plan because the FORCESEEK hint on table or view ‘%.*ls’ specified more seek columns than the number of key columns in index ‘%.*ls’. 366 16 0 The query processor could not produce a query plan because the FORCESEEK hint on table or view ‘%.*ls’ cannot be used with the column store index ‘%.*ls’. 367 16 0 The hint ‘%.*ls’ is valid only with memory optimized tables. 369 16 0 This operation is not supported on Windows Azure SQL Database with the TRCFLG_AUTO_PARTITION_REPLICATE traceflag turned on. 401 16 0 Unimplemented statement or expression %ls. 402 16 0 The data types %s and %s are incompatible in the %s operator. 403 16 0 Invalid operator for data type. Operator equals %ls, type equals %ls. 404 16 0 The column reference «%ls.%.*ls» is not allowed because it refers to a base table that is not being modified in this statement. 405 16 0 A remote table cannot be used as a DML target in a statement which includes an OUTPUT clause or a nested DML statement. 406 16 0 %ls cannot be used in the PIVOT operator because it is not invariant to NULLs. 407 16 0 Internal error. The string routine in file %hs, line %d failed with HRESULT 0x%x. 408 16 0 A constant expression was encountered in the ORDER BY list, position %i. 412 16 0 The column «%.*ls» is not updatable because it is derived or constant. 413 16 0 Correlated parameters or sub-queries are not supported by the inline function «%.*ls». 414 16 0 UPDATE is not allowed because the statement updates view «%.*ls» which participates in a join and has an INSTEAD OF UPDATE trigger. 415 16 0 DELETE is not allowed because the statement updates view «%.*ls» which participates in a join and has an INSTEAD OF DELETE trigger. 416 16 0 The service queue «%.*ls» cannot be directly updated. 417 16 0 TOP is not allowed in an UPDATE or DELETE statement against a partitioned view. 418 16 0 Objects exposing CLR type columns are not allowed in distributed queries. Use a pass-through query to access the remote object ‘%.*ls’. 421 16 0 The %ls data type cannot be selected as DISTINCT because it is not comparable. 422 16 0 Common table expression defined but not used. 423 16 0 Xml data type methods are not supported in check constraints. Create a scalar user-defined function to wrap the method invocation. The error occurred at table «%.*ls». 424 16 0 Xml data type methods are not supported in computed column definitions of table variables and return tables of table-valued functions. The error occurred at column «%.*ls», table «%.*ls», in the %ls statement. 425 16 0 Data type %ls of receiving variable is not equal to the data type %ls of column ‘%.*ls’. 426 16 0 The length %d of the receiving variable is less than the length %d of the column ‘%.*ls’. 427 20 1 Could not load the definition for constraint ID %d in database ID %d. Run DBCC CHECKCATALOG to verify the integrity of the database. 428 16 0 Insert bulk cannot be used in a multi-statement batch. 432 16 0 Xml data type methods are not supported in check constraints anymore. Please drop the constraint or create a scalar user-defined function to wrap the method invocation. The error occurred at table «%.*ls». 434 16 0 Function ‘%ls’ is not allowed in the OUTPUT clause. 435 16 0 Xml data type methods are not supported in computed column definitions. Create a scalar user-defined function to wrap the method invocation. The error occurred at column «%.*ls», table «%.*ls», in the %ls statement. 438 16 0 Xml data type methods are not allowed in rules. The error occurred at table «%.*ls». 440 16 0 Internal query compilation error. The stack overflow could not be handled. 441 16 0 Cannot use the ‘%ls’ function on a remote data source. 442 16 0 The NEST argument must be a column reference. Expressions are not allowed. 443 16 0 Invalid use of a side-effecting operator ‘%s’ within a function. 444 16 0 Select statements included within a function cannot return data to a client. 446 16 0 Cannot resolve collation conflict between «%ls» and «%ls» in %ls operator for %ls operation. 447 16 0 Expression type %ls is invalid for COLLATE clause. 448 16 0 Invalid collation ‘%.*ls’. 449 16 0 Collation conflict caused by collate clauses with different collation ‘%.*ls’ and ‘%.*ls’. 450 16 0 Code page translations are not supported for the text data type. From: %d To: %d. 451 16 0 Cannot resolve collation conflict between «%ls» and «%ls» in %ls operator occurring in %ls statement column %d. 452 16 0 COLLATE clause cannot be used on user-defined data types. 453 16 0 Collation ‘%.*ls’ is supported on Unicode data types only and cannot be set at the database or server level. 454 16 0 The UNNEST argument must be a nested table column. 455 16 0 The last statement included within a function must be a return statement. 456 16 0 Implicit conversion of %ls value to %ls cannot be performed because the resulting collation is unresolved due to collation conflict between «%ls» and «%ls» in %ls operator. 457 16 0 Implicit conversion of %ls value to %ls cannot be performed because the collation of the value is unresolved due to a collation conflict between «%ls» and «%ls» in %ls operator. 458 16 0 Cannot create the SELECT INTO target table «%.*ls» because the xml column «%.*ls» is typed with a schema collection «%.*ls» from database «%.*ls». Xml columns cannot refer to schemata across databases. 459 16 0 Collation ‘%.*ls’ is supported on Unicode data types only and cannot be applied to char, varchar or text data types. 460 16 0 DISTINCT operator is not allowed in the recursive part of a recursive common table expression ‘%.*ls’. 461 16 0 The TOP or OFFSET operator is not allowed in the recursive part of a recursive common table expression ‘%.*ls’. 462 16 0 Outer join is not allowed in the recursive part of a recursive common table expression ‘%.*ls’. 463 16 0 Functions with parameters are not allowed in the recursive part of a recursive common table expression ‘%.*ls’. 464 16 0 Functions with side effects are not allowed in the recursive part of a recursive common table expression ‘%.*ls’. 465 16 0 Recursive references are not allowed in subqueries. 466 16 0 UNION operator is not allowed in the recursive part of a recursive common table expression ‘%.*ls’. 467 16 0 GROUP BY, HAVING, or aggregate functions are not allowed in the recursive part of a recursive common table expression ‘%.*ls’. 468 16 0 Cannot resolve the collation conflict between «%.*ls» and «%.*ls» in the %ls operation. 469 16 0 An explicit column list must be specified for target table ‘%.*ls’ when table hint KEEPIDENTITY is used and the table contains an identity column. 470 16 0 The synonym «%.*ls» referenced synonym «%.*ls». Synonym chaining is not allowed. 471 16 0 Only one of the three options, SINGLE_BLOB, SINGLE_CLOB or SINGLE_NCLOB, can be specified. 472 16 0 Either a format file or one of the three options SINGLE_BLOB, SINGLE_CLOB, or SINGLE_NCLOB must be specified. 473 16 0 The incorrect value «%.*ls» is supplied in the PIVOT operator. 474 16 0 Unable to load the computed column definitions for table «%.*ls». 475 16 0 Invalid SAMPLE clause. Only table names in the FROM clause of SELECT, UPDATE, and DELETE queries may be sampled. 476 16 0 Invalid PERCENT tablesample size «%f» for table «%.*ls». The PERCENT tablesample size must be between 0 and 100. 477 16 0 Invalid ROWS value or REPEATABLE seed in the TABLESAMPLE clause for table «%.*ls». The value or seed must be an integer. 478 16 0 The TABLESAMPLE clause cannot be used in a view definition or inline table function definition. 479 16 0 Invalid ROWS value or REPEATABLE seed «%I64d» in the TABLESAMPLE clause for table «%.*ls». The value or seed must be greater than 0. 480 16 0 The TABLESAMPLE clause cannot be used with the table function «%.*ls». 481 16 0 The TABLESAMPLE clause cannot be used with the linked server table «%.*ls». 482 16 0 Non-constant or invalid expression is in the TABLESAMPLE or the REPEATABLE clause. 483 16 0 The OUTPUT clause cannot be used in an INSERT…EXEC statement. 484 16 0 Cannot declare more than %d local variables. 485 16 0 Views and inline functions cannot return xml columns that are typed with a schema collection registered in a database other than current. Column «%.*ls» is typed with the schema collection «%.*ls», which is registered in database «%.*ls». 486 16 0 «%.*ls» does not allow specifying a schema name as a prefix to the assembly name. 487 16 0 An invalid option was specified for the statement «%.*ls». 488 16 0 %s columns must be comparable. The type of column «%.*ls» is «%s», which is not comparable. 489 16 0 The OUTPUT clause cannot be specified because the target view «%.*ls» is a partitioned view. 490 16 0 The resync functionality is temporarily disabled. 491 16 0 A correlation name must be specified for the bulk rowset in the from clause. 492 16 0 Duplicate column names are not allowed in result sets obtained through OPENQUERY and OPENROWSET. The column name «%.*ls» is a duplicate. 493 16 0 The column ‘%.*ls’ that was returned from the nodes() method cannot be used directly. It can only be used with one of the four XML data type methods, exist(), nodes(), query(), and value(), or in IS NULL and IS NOT NULL checks. 494 16 0 The TABLESAMPLE clause can only be used with local tables. 495 16 0 The return table column «%.*ls» is not the same type as the type it was created with. Drop and recreate the module using a two-part name for the type, or use sp_refreshsqlmodule to refresh its parameters metadata. 496 16 0 The parameter «%.*ls» is not the same type as the type it was created with. Drop and recreate the module using a two-part name for the type, or use sp_refreshsqlmodule to refresh its parameters metadata. 497 16 0 Variables are not allowed in the TABLESAMPLE or REPEATABLE clauses. 498 16 0 Invalid value in the TABLESAMPLE or the REPEATABLE clause. 499 16 0 Invalid parameter for the getchecksum function. 500 16 0 Trying to pass a table-valued parameter with %d column(s) where the corresponding user-defined table type requires %d column(s). 505 16 0 The current user account was invoked with SETUSER or SP_SETAPPROLE. Changing databases is not allowed. 506 16 0 The invalid escape character «%.*ls» was specified in a %ls predicate. 507 16 0 Invalid argument for SET ROWCOUNT. Must be a non-null non-negative integer. 509 11 0 User name ‘%.*ls’ not found. 510 16 0 Cannot create a worktable row larger than allowable maximum. Resubmit your query with the ROBUST PLAN hint. 511 16 0 Cannot create a row of size %d which is greater than the allowable maximum row size of %d. 512 16 0 Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression. 513 16 0 A column insert or update conflicts with a rule imposed by a previous CREATE RULE statement. The statement was terminated. The conflict occurred in database ‘%.*ls’, table ‘%.*ls’, column ‘%.*ls’. 515 16 0 Cannot insert the value NULL into column ‘%.*ls’, table ‘%.*ls’; column does not allow nulls. %ls fails. 517 16 0 Adding a value to a ‘%ls’ column caused an overflow. 518 16 0 Cannot convert data type %ls to %ls. 522 16 0 The WAITFOR thread was evicted. 523 16 0 A trigger returned a resultset and/or was running with SET NOCOUNT OFF while another outstanding result set was active. 524 16 0 A trigger returned a resultset and the server option ‘disallow results from triggers’ is true. 525 16 0 The column that was returned from the nodes() method cannot be converted to the data type %ls. It can only be used with one of the four XML data type methods, exist(), nodes(), query(), and value(), or in IS NULL and IS NOT NULL checks. 526 16 0 %ls of XML types constrained by different XML schema collections and/or DOCUMENT/CONTENT option is not allowed. Use the CONVERT function to run this query. 527 16 0 Implicit conversion between XML types constrained by different XML schema collections is not allowed. Use the CONVERT function to run this query. 529 16 0 Explicit conversion from data type %ls to %ls is not allowed. 530 16 0 The statement terminated. The maximum recursion %d has been exhausted before statement completion. 531 10 0 Cannot set NOCOUNT to OFF inside the trigger execution because the server option «disallow_results_from_triggers» is true or we are inside LOGON trigger execution. 532 16 0 The timestamp (changed to %S_TS) shows that the row has been updated by another user. 533 15 0 Cannot set XACT ABORT to OFF inside the trigger execution. 534 16 0 ‘%.*ls’ failed because it is not supported in the edition of this SQL Server instance ‘%.*ls’. See books online for more details on feature support in different SQL Server editions. 535 16 0 The %.*ls function resulted in an overflow. The number of dateparts separating two date/time instances is too large. Try to use %.*ls with a less precise datepart. 536 16 0 Invalid length parameter passed to the %ls function. 537 16 0 Invalid length parameter passed to the LEFT or SUBSTRING function. 539 16 0 Schema changed after the target table was created. Rerun the Select Into query. 540 16 1 There is insufficient system memory to run RAISERROR. 541 16 0 There is not enough stack to execute the statement 542 16 0 An invalid datetime value was encountered. Value exceeds the year 9999. 543 16 0 Creation of a return table failed for the table valued function ‘%.*ls’. 544 16 0 Cannot insert explicit value for identity column in table ‘%.*ls’ when IDENTITY_INSERT is set to OFF. 545 16 0 Explicit value must be specified for identity column in table ‘%.*ls’ either when IDENTITY_INSERT is set to ON or when a replication user is inserting into a NOT FOR REPLICATION identity column. 547 16 0 The %ls statement conflicted with the %ls constraint «%.*ls». The conflict occurred in database «%.*ls», table «%.*ls»%ls%.*ls%ls. 548 16 0 The insert failed. It conflicted with an identity range check constraint in database ‘%.*ls’, replicated table ‘%.*ls’%ls%.*ls%ls. If the identity column is automatically managed by replication, update the range as follows: for the Publisher, execute sp_adjustpublisheridentityrange; for the Subscriber, run the Distribution Agent or the Merge Agent. 549 16 0 The collation ‘%.*ls’ of receiving variable is not equal to the collation ‘%.*ls’ of column ‘%.*ls’. 550 16 0 The attempted insert or update failed because the target view either specifies WITH CHECK OPTION or spans a view that specifies WITH CHECK OPTION and one or more rows resulting from the operation did not qualify under the CHECK OPTION constraint. 552 16 0 CryptoAPI function ‘%ls’ failed. Error 0x%x: %ls 555 16 0 User-defined functions are not yet enabled. 556 16 0 INSERT EXEC failed because the stored procedure altered the schema of the target table. 557 16 0 Only functions and some extended stored procedures can be executed from within a function. 558 16 0 Remote function calls are not allowed within a function. 561 16 0 Failed to access file ‘%.*ls’ 562 16 0 Failed to access file ‘%.*ls’. Files can be accessed only through shares 563 14 0 The transaction for the INSERT EXEC statement has been rolled back. The INSERT EXEC operation will be terminated. 564 16 0 Attempted to create a record with a fixed length of ‘%d’. Maximum allowable fixed length is ‘%d’. 565 18 0 A stack overflow occurred in the server while compiling the query. Please simplify the query. 566 21 1 An error occurred while writing an audit trace. SQL Server is shutting down. Check and correct error conditions such as insufficient disk space, and then restart SQL Server. If the problem persists, disable auditing by starting the server at the command prompt with the «-f» switch, and using SP_CONFIGURE. 567 16 0 File ‘%.*ls’ is not a recognizable trace file. 568 16 0 Encountered an error or an unexpected end of trace file ‘%.*ls’. 569 16 0 The handle that was passed to %ls was invalid. 570 15 0 INSTEAD OF triggers do not support direct recursion. The trigger execution failed. 571 16 0 The specified attribute value for %ls is invalid. 572 16 0 Invalid regular expression «%.*ls» near the offset %d. 573 16 0 Evaluation of the regular expression is too complex: ‘%.*ls’. 574 16 0 %ls statement cannot be used inside a user transaction. 575 16 0 A LOGON trigger returned a resultset. Modify the LOGON trigger to not return resultsets. 576 16 0 Cannot create a row that has sparse data of size %d which is greater than the allowable maximum sparse data size of %d. 577 16 0 The value provided for the timeout is not valid. Timeout must be a valid integer between 0 and 2147483647. 578 16 0 Insert Exec not allowed in WAITFOR queries. 579 16 0 Can not execute WAITFOR query with snapshot isolation level. 582 16 0 Offset is greater than the length of the column to be updated in write. 583 16 0 Negative offset or length in write. 584 16 0 Select Into not allowed in WAITFOR queries. 585 16 0 Changing database context is not allowed when populating the resource database. 586 16 0 The prepared statement handle %d is not valid in this context. Please verify that current database, user default schema, and ANSI_NULLS and QUOTED_IDENTIFIER set options are not changed since the handle is prepared. 587 16 0 An invalid delayed CLR type fetch token is provided. 588 16 0 Multiple tasks within the session are using the same delayed CLR type fetch token at the same time. 589 16 0 This statement has attempted to access data whose access is restricted by the assembly. 590 16 0 RPC was aborted without execution. 591 16 0 %ls: The formal parameter «%ls» was defined as OUTPUT, but the actual parameter was not declared as OUTPUT. 592 16 0 Cannot find %S_MSG ID %d in database ID %d. 593 10 0 fn_trace_gettable: XML conversion of trace data for event 165 failed. 594 10 0 fn_trace_gettable: XML conversion of trace data is not supported in fiber mode. 595 16 0 Bulk Insert with another outstanding result set should be run with XACT_ABORT on. 596 16 0 Cannot continue the execution because the session is in the kill state. 597 16 0 The execution of in-proc data access is being terminated due to errors in the User Datagram Protocol (UDP). 598 16 0 An error occurred while executing CREATE/ALTER DB. Please look at the previous error for more information. 599 16 0 %.*ls: The length of the result exceeds the length limit (2GB) of the target large type. 601 12 0 Could not continue scan with NOLOCK due to data movement. 602 21 1 Could not find an entry for table or index with partition ID %I64d in database %d. This error can occur if a stored procedure references a dropped table, or metadata is corrupted. Drop and re-create the stored procedure, or execute DBCC CHECKDB. 603 21 1 Could not find an entry for table or index with object ID %d (partition ID %I64d) in database %d. This error can occur if a stored procedure references a dropped table, or metadata is corrupted. Drop and re-create the stored procedure, or execute DBCC CHECKDB. 605 21 1 Attempt to fetch logical page %S_PGID in database %d failed. It belongs to allocation unit %I64d not to %I64d. 606 21 1 Metadata inconsistency. Filegroup id %ld specified for table ‘%.*ls’ does not exist. Run DBCC CHECKDB or CHECKCATALOG. 608 16 1 No catalog entry found for partition ID %I64d in database %d. The metadata is inconsistent. Run DBCC CHECKDB to check for a metadata corruption. 609 16 0 BTree is not empty when waking up on RowsetBulk. 610 16 1 Invalid header value from a page. Run DBCC CHECKDB to check for a data corruption. 611 16 0 Cannot insert or update a row because total variable column size, including overhead, is %d bytes more than the limit. 613 21 0 Could not find an entry for worktable rowset with partition ID %I64d in database %d. 614 16 0 Could not locate bookmark due to data movement. 615 21 1 Could not find database ID %d, name ‘%.*ls’. The database may be offline. Wait a few minutes and try again. 617 20 1 Descriptor for object ID %ld in database ID %d not found in the hash table during attempt to unhash it. A work table is missing an entry. Rerun the query. If a cursor is involved, close and reopen the cursor. 622 16 0 The filegroup «%.*ls» has no files assigned to it. Tables, indexes, text columns, ntext columns, and image columns cannot be populated on this filegroup until a file is added. 627 16 0 Cannot use SAVE TRANSACTION within a distributed transaction. 628 16 0 Cannot issue SAVE TRANSACTION when there is no active transaction. 650 16 0 You can only specify the READPAST lock in the READ COMMITTED or REPEATABLE READ isolation levels. 651 16 0 Cannot use the %ls granularity hint on the table «%.*ls» because locking at the specified granularity is inhibited. 652 16 0 The index «%.*ls» for table «%.*ls» (RowsetId %I64d) resides on a read-only filegroup («%.*ls»), which cannot be modified. 657 16 0 Could not disable support for %ls in database ‘%.*ls’ because %S_MSG. 658 16 0 Could not enable support for %ls in database ‘%.*ls’ because %S_MSG. 661 16 0 Cannot enable support for %ls in database ‘%.*ls’ because support for %ls is enabled and both are mutually exclusive. 666 16 0 The maximum system-generated unique value for a duplicate group was exceeded for index with partition ID %I64d. Dropping and re-creating the index may resolve this; otherwise, use another clustering key. 667 16 0 The index «%.*ls» for table «%.*ls» (RowsetId %I64d) resides on a filegroup («%.*ls») that cannot be accessed because it is offline, is being restored, or is defunct. 669 22 0 The row object is inconsistent. Please rerun the query. 670 16 0 Large object (LOB) data for table «%.*ls» resides on an offline filegroup («%.*ls») that cannot be accessed. 671 16 0 Large object (LOB) data for table «%.*ls» resides on a read-only filegroup («%.*ls»), which cannot be modified. 672 10 0 Failed to queue cleanup packets for orphaned rowsets in database «%.*ls». Some disk space may be wasted. Cleanup will be attempted again on database restart. 674 10 1 Exception occurred in destructor of RowsetNewSS 0x%p. This error may indicate a problem related to releasing pre-allocated disk blocks used during bulk-insert operations. Restart the server to resolve this problem. 675 10 1 Worktable with partition ID %I64d was dropped successfully after %d repeated attempts. 676 10 1 Error occurred while attempting to drop worktable with partition ID %I64d. 677 10 1 Unable to drop worktable with partition ID %I64d after repeated attempts. Worktable is marked for deferred drop. This is an informational message only. No user action is required. 678 10 1 Active rowset for partition ID %I64d found at the end of the batch. This error may indicate incorrect exception handling. Use the current activity window in SQL Server Management Studio or the Transact-SQL KILL statement to terminate the server process identifier (SPID) responsible for generating the error. 679 16 0 One of the partitions of index ‘%.*ls’ for table ‘%.*ls'(partition ID %I64d) resides on a filegroup («%.*ls») that cannot be accessed because it is offline, restoring, or defunct. This may limit the query result. 680 10 1 Error [%d, %d, %d] occurred while attempting to drop allocation unit ID %I64d belonging to worktable with partition ID %I64d. 681 16 0 Attempting to set a non-NULL-able column’s value to NULL. 682 16 0 Internal error. Buffer provided to read column value is too small. Run DBCC CHECKDB to check for any corruption. 683 22 0 An internal error occurred while trying to convert between variable-length and fixed-length decimal formats. Run DBCC CHECKDB to check for any database corruption. 684 22 0 An internal error occurred while attempting to convert between compressed and uncompressed storage formats. Run DBCC CHECKDB to check for any corruption. 685 22 0 An internal error occurred while attempting to retrieve a backpointer for a heap forwarded record. 686 22 0 The maximum level of the B-Tree for rowset %I64d has been reached. SQL Server only supports upto 255 levels. 687 16 0 Cannot compress a nchar or nvarchar column that has an odd number of bytes. 688 16 0 Operation not allowed due to an active online index build. 689 16 0 Operation not allowed because of pending cleanup of online index build. Wait for cleanup to complete and re-run the operation. 691 16 1 An internal error occurred. Error code %X. 692 16 0 Internal error. Buffer provided to write a fixed column value is too large. Run DBCC CHECKDB to check for any corruption. 694 16 0 Internal error. Unable to create a block blob in Azure storage. 695 16 0 Internal error. Unable to delete a block blob in Azure storage. 696 16 0 Internal error. Unable to gain access to the tombstone table. 697 16 0 Internal error. Unable to get a blob storage container. 701 19 1 There is insufficient system memory in resource pool ‘%ls’ to run this query. 708 10 1 Server is running low on virtual address space or machine is running low on virtual memory. Reserved memory used %d times since startup. Cancel query and re-run, decrease server load, or cancel other applications. 801 20 1 A buffer was encountered with an unexpected status of 0x%x. 802 17 0 There is insufficient memory available in the buffer pool. 803 10 1 simulated failure (DEBUG only) 805 10 1 restore pending 806 10 1 audit failure (a page read from disk failed to pass basic integrity checks) 807 10 1 (no disk or the wrong disk is in the drive) 808 10 1 Insufficient bytes transferred. Common causes are backup configuration, insufficient disk space, or other problems with the storage subsystem such as corruption or hardware failure. Check errorlogs/application-logs for detailed messages and correct error conditions. 821 20 1 Could not unhash buffer at 0x%p with a buffer page number of %S_PGID and database ID %d with HASHED status set. The buffer was not found. %S_PAGE. Contact Technical Support. 822 21 1 Could not start I/O operation for request %S_BLKIOPTR. Contact Technical Support. 823 24 1 The operating system returned error %ls to SQL Server during a %S_MSG at offset %#016I64x in file ‘%ls’. Additional messages in the SQL Server error log and operating system error log may provide more detail. This is a severe system-level error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online. 824 24 1 SQL Server detected a logical consistency-based I/O error: %ls. It occurred during a %S_MSG of page %S_PGID in database ID %d at offset %#016I64x in file ‘%ls’. Additional messages in the SQL Server error log or operating system error log may provide more detail. This is a severe error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online. 825 10 1 A read of the file ‘%ls’ at offset %#016I64x succeeded after failing %d time(s) with error: %ls. Additional messages in the SQL Server error log and operating system error log may provide more detail. This error condition threatens database integrity and must be corrected. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online. 826 10 1 incorrect pageid (expected %d:%d; actual %d:%d) 829 21 1 Database ID %d, Page %S_PGID is marked RestorePending, which may indicate disk corruption. To recover from this state, perform a restore. 830 10 0 stale page (a page read returned a log sequence number (LSN) (%u:%u:%u) that is older than the last one that was written (%u:%u:%u)) 831 20 0 Unable to deallocate a kept page. 832 24 1 A page that should have been constant has changed (expected checksum: %08x, actual checksum: %08x, database %d, file ‘%ls’, page %S_PGID). This usually indicates a memory failure or other hardware or OS corruption. 833 10 0 SQL Server has encountered %d occurrence(s) of I/O requests taking longer than %d seconds to complete on file [%ls] in database id %d. The OS file handle is 0x%p. The offset of the latest long I/O is: %#016I64x 835 16 0 The operating system returned error %ls to SQL Server. It failed creating event for a %S_MSG at offset %#016I64x in file ‘%ls’. Additional messages in the SQL Server error log and operating system error log may provide more detail. This is a severe system-level error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online. 844 10 0 Time out occurred while waiting for buffer latch — type %d, bp %p, page %d:%d, stat %#x, database id: %d, allocation unit id: %I64d%ls, task 0x%p : %d, waittime %d seconds, flags 0x%I64x, owning task 0x%p. Continuing to wait. 845 17 0 Time-out occurred while waiting for buffer latch type %d for page %S_PGID, database ID %d. 846 10 0 A time-out occurred while waiting for buffer latch — type %d, bp %p, page %d:%d, stat %#x, database id: %d, allocation unit Id: %I64d%ls, task 0x%p : %d, waittime %d seconds, flags 0x%I64x, owning task 0x%p. Not continuing to wait. 847 10 1 Timeout occurred while waiting for latch: class ‘%ls’, id %p, type %d, Task 0x%p : %d, waittime %d seconds, flags 0x%I64x, owning task 0x%p. Continuing to wait. 848 10 1 Using large pages in the memory manager. 849 10 1 Using locked pages in the memory manager. 850 10 1 %I64u MB of large page memory allocated. 851 10 0 the page is in an OFFLINE file which cannot be read 852 10 1 Using conventional memory in the memory manager. 853 10 0 Latch acquire failed due to too many concurrent latches. type %d, Task 0x%p : %d 854 10 1 Machine supports memory error recovery. SQL memory protection is enabled to recover from memory corruption. 855 10 1 Uncorrectable hardware memory corruption detected. Your system may become unstable. Please check the operating system error log for more details. 856 10 1 SQL Server has detected hardware memory corruption in database ‘%ls’, file ID: %u, page ID; %u, memory address: 0x%I64x and has successfully recovered the page. 857 10 0 Buffer pool extension «%.*ls» has been initialized successfully with size is %I64d MB. 858 10 0 Failed to create buffer pool extension of size %I64d MB on path «%.*ls». 859 10 1 Buffer pool extension configuration «%.*ls» is in wrong format. The format should be «<extension directory>,<size in GB>». 860 10 1 %ls. BUF address 0x%x. Bufno %u. Extension offset %1I64d. Error code %d. Database file id %u. Database file offset %2I64d. 861 10 1 Buffer pool extension size must be larger than the physical memory size %I64d MB. Buffer pool extension is not enabled. 862 10 1 Attempt to disable buffer pool extension when in state %ls is not allowed. 863 10 1 Attempt to enable buffer pool extension when in state %ls is not allowed. 864 10 1 Attempted to initialize buffer pool extension of size %1ld KB, but maximum allowed size is %2ld KB. 865 10 1 Buffer pool extension is only supported on Standard and Enterprise Editions of SQL Server. 866 10 1 Buffer pool extension is not supported on the %ls architecture. 867 10 0 Buffer pool extension has been disabled successfully. Deleting buffer pool extension «%.*ls». 868 10 1 Buffer pool extension size must be larger than the current memory allocation threshold %I64d MB. Buffer pool extension is not enabled. 869 10 1 Buffer pool extension «%.*ls» cannot be closed because %ld asynchronous I/Os are outstanding. 870 10 1 BPE feature switch is on! 871 10 1 Buffer pool extension size from RG Setting is %d GB (%I64d bytes). 872 10 1 Buffer pool extension is already enabled. No action is necessary. 873 10 1 Buffer pool extension is already disabled. No action is necessary. 874 10 0 Failed to initialize resilient buffer pool extension of size %I64d MB on path «%.*ls». 875 10 0 Resilient buffer pool extension «%.*ls» has been started successfully with size is %I64d MB. 876 10 0 Failed to startup resilient buffer pool extension of size %I64d MB on path «%.*ls». 877 10 0 Resilient buffer pool extension «%.*ls» has been enabled successfully with size %I64d MB. 878 10 0 Failed to create resilient buffer pool extension of size %I64d MB on path «%.*ls». 879 10 0 Failed to start resilient buffer pool extension because database %d is not memory optimized. 880 10 0 Failed to find the metadata of resilient buffer pool extension in database %d. 881 10 1 Resilient buffer pool extension is already disabled. No action is necessary. 882 22 0 The schema of a table created by InternalBaseTable is corrupt. 883 16 0 Could not create the Write Page Recorder table: wpr_bucket_table for database %ls. 884 16 0 Could not persist a bucket to the Write Page Recorder table: wpr_bucket_table for database %ls. 885 16 1 An internal error occurred. Error code %X. Context: «%ls::%d». 886 10 1 Resilient buffer pool extension is already enabled. No action is necessary. 891 10 1 Buffer pool extension is not supported on %ls platform. 902 16 0 To change the %ls, the database must be in state in which a checkpoint can be executed. 904 16 0 Database %ld cannot be autostarted during server shutdown or startup. 905 21 1 Database ‘%.*ls’ cannot be started in this edition of SQL Server because it contains a partition function ‘%.*ls’. Only Enterprise edition of SQL Server supports partitioning. 907 16 0 The database «%ls» has inconsistent database or file metadata. 908 10 1 Filegroup %ls in database %ls is unavailable because it is %ls. Restore or alter the filegroup to be available. 909 21 1 Database ‘%.*ls’ cannot be started in this edition of SQL Server because part or all of object ‘%.*ls’ is enabled with data compression or vardecimal storage format. Data compression and vardecimal storage format are only supported on SQL Server Enterprise Edition. 910 10 0 Database ‘%.*ls’ is upgrading script ‘%.*ls’ from level %d to level %d. 911 16 0 Database ‘%.*ls’ does not exist. Make sure that the name is entered correctly. 912 21 0 Script level upgrade for database ‘%.*ls’ failed because upgrade step ‘%.*ls’ encountered error %d, state %d, severity %d. 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. 913 22 1 Could not find database ID %d. Database may not be activated yet or may be in transition. Reissue the query once the database is available. If you do not think this error is due to a database that is transitioning its state and this error continues to occur, contact your primary support provider. Please have available for review the Microsoft SQL Server error log and any additional information relevant to the circumstances when the error occurred. 914 21 0 Script level upgrade for database ‘%.*ls’ failed because upgrade step ‘%.*ls’ was aborted before completion. If the abort 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. 915 21 0 Unable to obtain the current script level for database ‘%.*ls’. If the error happened during startup 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 script upgrade may run to completion. 916 14 0 The server principal «%.*ls» is not able to access the database «%.*ls» under the current security context. 917 21 0 An upgrade script batch failed to execute for database ‘%.*ls’ due to compilation error. Check the previous error message for the line which caused compilation to fail. 918 21 0 Failed to load the engine script metadata from script DLL ‘%.*ls’. The error code reported by the operating system was %d. This is a serious error condition, which usually indicates a corrupt or incomplete installation. Repairing the SQL Server instance may help resolve this error. 919 10 0 User ‘%.*ls’ is changing database script level entry %d to a value of %d. 920 20 0 Only members of the sysadmin role can modify the database script level. 921 14 0 Database ‘%.*ls’ has not been recovered yet. Wait and try again. 922 14 0 Database ‘%.*ls’ is being recovered. Waiting until recovery is finished. 923 14 0 Database ‘%.*ls’ is in restricted mode. Only the database owner and members of the dbcreator and sysadmin roles can access it. 924 14 0 Database ‘%.*ls’ is already open and can only have one user at a time. 925 19 1 Maximum number of databases used for each query has been exceeded. The maximum allowed is %d. 926 14 0 Database ‘%.*ls’ cannot be opened. It has been marked SUSPECT by recovery. See the SQL Server errorlog for more information. 927 14 0 Database ‘%.*ls’ cannot be opened. It is in the middle of a restore. 928 20 1 During upgrade, database raised exception %d, severity %d, state %d, address %p. Use the exception number to determine the cause. 929 20 1 Unable to close a database that is not currently open. The application should reconnect and try again. If this action does not correct the problem, contact your primary support provider. 930 21 1 Attempting to reference recovery unit %d in database ‘%ls’ which does not exist. Contact Technical Support. 931 21 1 Attempting to reference database fragment %d in database ‘%ls’ which does not exist. Contact Technical Support. 932 21 1 SQL Server cannot load database ‘%.*ls’ because change tracking is enabled. The currently installed edition of SQL Server does not support change tracking. Either disable change tracking in the database by using a supported edition of SQL Server, or upgrade the instance to one that supports change tracking. 933 21 1 Database ‘%.*ls’ cannot be started because some of the database functionality is not available in the current edition of SQL Server. 934 21 1 SQL Server cannot load database ‘%.*ls’ because Change Data Capture is enabled. The currently installed edition of SQL Server does not support Change Data Capture. Either restore database without KEEP_CDC option, or upgrade the instance to one that supports Change Data Capture. 935 21 1 The script level for ‘%.*ls’ in database ‘%.*ls’ cannot be downgraded from %d to %d, which is supported by this server. This usually implies that a future database was attached and the downgrade path is not supported by the current installation. Install a newer version of SQL Server and re-try opening the database. 936 16 0 Database ‘%.*ls’ can not be used in this edition of SQL Server. 937 21 1 Database ‘%.*ls’ cannot be upgraded because ‘%.*ls’ functionality is not available in the current edition of SQL Server. 938 21 1 The target database version %d is not supported by the current code version %d. Change target version to a supported level and restart the server. 941 16 0 Database ‘%.*ls’ cannot be opened because it is not started. Retry when the database is started. 942 14 0 Database ‘%.*ls’ cannot be opened because it is offline. 943 14 0 Database ‘%.*ls’ cannot be opened because its version (%d) is later than the current server version (%d). 944 10 0 Converting database ‘%.*ls’ from version %d to the current version %d. 945 16 0 Database ‘%.*ls’ cannot be opened due to inaccessible files or insufficient memory or disk space. See the SQL Server errorlog for details. 946 14 1 Cannot open database ‘%.*ls’ version %d. Upgrade the database to the latest version. 947 16 1 Error while closing database ‘%.*ls’. Check for previous additional errors and retry the operation. 948 20 1 The database ‘%.*ls’ cannot be opened because it is version %d. This server supports version %d and earlier. A downgrade path is not supported. 949 16 0 tempdb is skipped. You cannot run a query that requires tempdb 950 20 1 Database ‘%.*ls’ cannot be upgraded because its non-release version (%d) is not supported by this version of SQL Server. You cannot open a database that is incompatible with this version of sqlservr.exe. You must re-create the database. 951 10 0 Database ‘%.*ls’ running the upgrade step from version %d to version %d. 952 16 0 Database ‘%.*ls’ is in transition. Try the statement later. 954 14 0 The database «%.*ls» cannot be opened. It is acting as a mirror database. 955 14 0 Database %.*ls is enabled for Database Mirroring, but the database lacks quorum: the database cannot be opened. Check the partner and witness connections if configured. 956 14 0 Database %.*ls is enabled for Database Mirroring, but has not yet synchronized with its partner. Try the operation again later. 957 17 0 Database ‘%.*ls’ is enabled for database mirroring or has joined an availability group. The name of the database cannot be changed. 958 10 1 The resource database build version is %.*ls. This is an informational message only. No user action is required. 959 20 1 The resource database version is %d and this server supports version %d. Restore the correct version or reinstall SQL Server. 960 10 0 Warning: User «sys» (principal_id = %d) in database «%.*ls» has been renamed to «%.*ls». «sys» is a reserved user or schema name in this version of SQL Server. 961 10 0 Warning: Index «%.*ls» (index_id = %d) on object ID %d in database «%.*ls» was renamed to «%.*ls» because its name is a duplicate of another index on the same object. 962 10 0 Warning: Primary key or Unique constraint «%.*ls» (object_id = %d) in database «%.*ls» was renamed to «%.*ls» because its index was renamed. 963 10 0 Warning: Database «%.*ls» was marked suspect because of actions taken during upgrade. See errorlog or eventlog for more information. Use ALTER DATABASE to bring the database online. The database will come online in restricted_user state. 964 10 0 Warning: System user ‘%.*ls’ was found missing from database ‘%.*ls’ and has been restored. This user is required for SQL Server operation. 965 10 0 Warning: A column nullability inconsistency was detected in the metadata of index «%.*ls» (index_id = %d) on object ID %d in database «%.*ls». The index may be corrupt. Run DBCC CHECKTABLE to verify consistency. 966 10 0 Warning: Assembly «%.*ls» in database «%.*ls» has been renamed to «%.*ls» because the name of the assembly conflicts with a system assembly in this version of SQL Server. 967 10 0 Warning: The index «%.*ls» on «%.*ls».»%.*ls» is disabled because the XML data bound to it may contain negative values for xs:date and xs:dateTime which are not longer supported. 968 10 0 Warning: The XML facet on type «%.*ls» in schema collection «%.*ls» is updated from «%.*ls» to «%.*ls» because Sql Server does not support negative years inside values of type xs:date or xs:dateTime. 969 10 0 Warning: The default or fixed value on XML element or attribute «%.*ls» in schema collection «%.*ls» is updated from «%.*ls» to «%.*ls» because Sql Server does not support negative years inside values of type xs:date or xs:dateTime. 970 10 0 Warning: The XML instances in the XML column «%.*ls.%.*ls.%.*ls» may contain negative simple type values of type xs:date or xs:dateTime. It will be impossible to run XQuery or build a primary or selective XML index on these XML instances. 971 10 0 The resource database has been detected in two different locations. Attaching the resource database in the same directory as sqlservr.exe at ‘%.*ls’ instead of the currently attached resource database at ‘%.*ls’. 972 17 0 Could not use database ‘%d’ during procedure execution. 974 10 0 Attaching the resource database in the same directory as sqlservr.exe at ‘%.*ls’ failed as the database files do not exist. 975 10 1 System objects could not be updated in database ‘%.*ls’ because it is read-only. 976 14 0 The target database, ‘%.*ls’, is participating in an availability group and is currently not accessible for queries. Either data movement is suspended or the availability replica is not enabled for read access. To allow read-only access to this and other databases in the availability group, enable read access to one or more secondary availability replicas in the group. For more information, see the ALTER AVAILABILITY GROUP statement in SQL Server Books Online. 977 10 0 Warning: Could not find associated index for the constraint ‘%.*ls’ on object_id ‘%d’ in database ‘%.*ls’. 978 14 0 The target database (‘%.*ls’) is in an availability group and is currently accessible for connections when the application intent is set to read only. For more information about application intent, see SQL Server Books Online. 979 14 0 The target database (‘%.*ls’) is in an availability group and currently does not allow read only connections. For more information about application intent, see SQL Server Books Online. 980 21 1 SQL Server cannot load database ‘%.*ls’ because it contains a columnstore index. The currently installed edition of SQL Server does not support columnstore indexes. Either disable the columnstore index in the database by using a supported edition of SQL Server, or upgrade the instance of SQL Server to a version that supports columnstore index. 981 10 0 Database manager will be using %d target database version. 982 14 0 Unable to access the ‘%.*ls’ database because no online secondary replicas are enabled for read-only access. Check the availability group configuration to verify that at least one secondary replica is configured for read-only access. Wait for an enabled replica to come online, and retry your read-only operation. 983 14 0 Unable to access availability database ‘%.*ls’ because the database replica is not in the PRIMARY or SECONDARY role. Connections to an availability database is permitted only when the database replica is in the PRIMARY or SECONDARY role. Try the operation again later. 984 21 1 Failed to perform a versioned copy of sqlscriptdowngrade.dll from Binn to BinnCache folder. VerInstallFile API failed with error code %d. 985 10 1 Successfully installed the file ‘%ls’ into folder ‘%ls’. 986 10 0 Couldn’t get a clean bootpage for database ‘%.*ls’ after %d tries. This is an informational message only. No user action is required. 987 23 1 A duplicate key insert was hit when updating system objects in database ‘%.*ls’. 988 14 0 Unable to access database ‘%.*ls’ because it lacks a quorum of nodes for high availability. Try the operation again later. 989 16 0 Failed to take the host database with ID %d offline when one or more of its partition databases is marked as suspect. 990 16 0 Taking the host database with ID %d offline because one or more of its partition databases is marked as suspect. 991 16 0 Failed to take the host database ‘%.*ls’ offline when one or more of its partition databases is marked as suspect. 992 16 0 Failed to get the shared lock on database ‘%.*ls’. 993 10 0 Redo for database ‘%.*ls’ applied version upgrade step from %d to %d. 994 10 0 Warning: Index «%.*ls» on «%.*ls».»%.*ls» is disabled because it contains a computed column. 995 10 0 Warning: Index «%.*ls» on «%.*ls».»%.*ls» is disabled. It cannot be upgraded as it resides on a read-only filegroup. 996 10 0 Warning: Index «%.*ls» on «%.*ls».»%.*ls» is disabled. This columnstore index cannot be upgraded, likely because it exceeds the row size limit of ‘%d’ bytes.

Понравилась статья? Поделить с друзьями:
  • Sql error 937 42000 ora 00937 групповая функция не является одногруппной
  • Sql error 933 42000 ora 00933 неверное завершение sql предложения
  • Sql error 933 42000 ora 00933 sql command not properly ended
  • Sql error 926
  • Sql error 922 42000 ora 00922 отсутствует или неверна опция