Insert or update statements seems to be locking entire page or table rather than locking
the corresponding row to be inserted or updated.
lets assume the table with 3 rows.
scenario 1)
In transaction A, I'm updating the 3'rd row. and in another transaction B I'm reading
row 1.
Transaction B seems to be waiting for transaction A to finish before returning the select results.
Scenario 2)
In transaction A, I'm inserting new row (4'th row) and in another transaction B I'm reading
row 1.
here as well trasaction B does not return the row 1 unless transaction A is complete.
Select operation is blocked due to insert.
Ideally in both the scenarios , read operation should have returned the results without waiting
for update/insert to finish. As the read is being done on different rows than that of being updated
or inserted.
I have tried both the insert/update as well as select queries with all the possible locking hints
such as ROWLOCK, READCOMMITED, UPDLOCK etc...
The only way select query returns the row without blocking is by using the NOLOCK locking hint. But then this is
not the proper solution as it gives us the dirty read.
Please suggest me any solution or workaround for above issue.
We are running SQL Server 2000 with SP4. This server has been running for the past six months with no SQL server problems. A Max of 10 users have access to the application running on this server.
The Event Viewer Log shows the Source: MSSQLServer Category: (2) Type: Error EventID: 17052 Description: The MSSQLSERVER service terminated unexpectedly.
No other error messages were seen in the SQL server log or windows event viewer. The time when it terminated was not during peak load/activity.
The server is Windows 2003 with SP1. Any help would be appreciated.
We are using an Access 2000 project to view our SQL Tables and using Access 2000 Runtime to Access the forms in the project. We have written in a locking system in VB and removed the video controls to prevent users from accessing the same records. But of course now we need to make the video controls available. This has now thrown up the problem of multiple users accessing the same records. We have tried to write code to lock records when then video controls are used but this is not working as well as we hoped. Can anyone please suggest any way of setting up locking on SQL using triggers from the Access frontend? or any other types of locking systems that could be written in the Access front end.
Hi,We have encountered deadlock on a table which is used to generatesequential numbers for different categories eg typical entriesCategory ValueTRADE_NO 1456JOB_NO 267.....The applications reference the relevant category applicable to themand updatethe Value accordingly. This is table is very small, occupying 1 page.However, it has no index as it was not seen to be appropriate for atable this size.However, can someone please advise whether1. An index is required for row level locking2. If an index on a table as small as above is likely to reduce thedeadlock rate.Also, please consider the following but which I am not sure isrelevant for above query.We noted that when we migrated the database concerned from SQL 6.5 toSQL 2000, using DTS, that the database was NOT strictly in SQL 2000format for non clustered indexes (NC) ie the clustered key was notpart of the NC index until the clustered index was rebuilt.Given this should I just rebuild this table with a fake index and dropit thereafter.We are aware of the different techniques used to avoid deadlocks (egtables accessed in same order etc) and have , as much as possible,implemented those practices.I thank you in advance for any help you may be able to offer.ThanksPuvendran
Hi, I wonder if anyone can shed some light on this issue -
We have a client/server program for MSSQL7 and MSSQL2000. When running client/server - we have our own broker, etc, the program ends up locking itself on SQL2000; this is not a problem on SQL7. We noticed that it seems some system tables locking tempdb. We also noticed that SQL2000 no longer has insert-into/bulkcopy option like SQL7. But, here we don't have temporary tables at all. It's just that we found the lockings in tempdb caused by some sysobjects, sysindexes, etc. Also, this does not happen to all the systems we have. Some of our machine does not have the self-lock problem; most of the machines have this problem though.
If we don't run client/server, then the program works fine. Same logic, the difference is when we use client/server logic to connect to the remote SQLServer 2000 server, the locking might happen on most of our machines.
Anyone is familiar with tempdb and locking issues, please provide some hint??? Is it possible that there are some system parameters that we can set to avoid the problem. We haven't found out why some of our machines do not have problem, while most of the machines have this locking problem.
We are running a 3rd party ETL tool to populate a denormailized version of a production database for reports. Everything works fine 95% of the time. However there is a semi-rare occurence of the ETL tool hanging up. The norm is for the tool to take about 5 times longer than usual, but it still works. Over the weekend however it through an error saying:
The SQL Server cannot obtain a LOCK resource at this time. Rerun your statement when there are fewer active users or ask the system administrator to check the SQL Server lock and memory configuration.
The reports are run through Crystal using stored procs and are all basically select statements
So my question(s) are the following: 1. What kind of lock would a report put on a table (select statement) 2. Would it make sense to change stored procs to use WITH NOLOCK? 3. Or is something else going on?
HiIs it possible to force row level locking in one or more tables insome database. We have some problems when SQL Server decides to choosepage- or table-level locking.We are using SQL Server 2000.Best regardsAarno
I hope that I am not asking a question which has been answered many times in the past, I did a search but could not find an answer. These may be beginner questions, so bear with me as I am something of a beginner.
This week our organization updated from SQL 2000 to SQL 2005. We are using a Microsoft Access front end for this data and the information is entered through forms into the correct tables. When our researchers are enter the information they also have to sometimes search existing information to ensure they do not duplicate what is already in there. For this we use several access queries. This has worked well on the SQL 2000 server without any issues. However, now that we are on 2005 we are starting to recieve ODBC Call fail errors and errors which specify that they are a result of a deadlock. My first question is, are the ODBC call fail errors possibly locks which caused the ODBC connection to time out? My second question is why am I recieving these errors in 2005 but not 2000?
On the Start menu, point to All Programs, point to Microsoft SQL Server 2005, point to Configuration Tools, and then click SQL Server Configuration Manager.
In SQL Server Configuration Manager, expand Services, and then click SQL Server (MSSQLSERVER).There is no MSSQLSERVER to click!!!!!!!!
The Microsoft SQL Server icon is showing on my task bar but with a white (blank) circle "stamped" over the bottom right of the icon.
To me it seems that the implication is that somehow the server is not being recognized as (local)etSDK.
Resting the mouse arrow on the Server icon displays: unknown - \ - MSSQLServer
Needless to say something is quite wrong and I cannot open nor create ANY DATA while on WebMatrix.
If I right-click on the server icon and select "Start" I get the following error: "Invalid handle" which apparently is error number 6.
Previously, after many try-outs I managed to at least put the server icon on the task bar by making use of a setup.ini file that reads as shown below (and then typing from the MSDE sub directory while in MSDOS "setup.exe").
I am seeing a strange scenario in performance monitor that i am hoping someone could help shed some light on. I have a 8 processor box running only sql configured to utilize all processors. When watching the sqlservr process it seems to max out at times of high traffic. Does this not use all processors? Any know problems with this service maxing out?
MSSQLSERVER won't restart. I can't uninstall SS7, either, because it says I have MSSEARCH running, which Task Manager can't kill (access denied, even to me the administrator). Tried changing the registry keys for MSSQL to MSSQL_old and then the install goes forward but fails at the end because some of the TEMPDB files cannot be activated. This trick worked on my Win98SE once, for the same problem. I ignorantly deleted IE4 from the server's C:drive because I needed more room to reinstall. I tried reinstalling the SS7 "components" (no apparent problem, except it detects that I have now installed IE5.5)(IE5.5 automatically installs to C:Program FilesMicrosoft or thereabouts, not C: where IE4 was, by the way). I was up to SP2 on SS7, and SP6 on NT4. The name of the server hasn't changed, but the name of the c:drive is new. Why would a new install care? I ran scandisk inbetween reboots as a caution, but the install always fails. Should I be choosing the default "allow 5 connections" rather than "5 per computer licenses"? TIA, Jeb
I installed SQL server 2005 on a win2003 server box.
When I open the Connect to Server dialog box, I choose server type: Database Engine. There is no Servername listed, so I put in the name of the PC.
I get a long error message when I try to connect:
Cannot connect to PCName.... ...error: 40 - Could not open a connection to SQL Server)...
When I try to go into the Surface area Configuration, I get this message: "No sql server 2005 components were found on the specified computer. Either no components are installed, or you are not an administrator on this computer. (SQLSAC)"
I am logged in as Administrator in the PC, so did I do something seriously wrong with the installation?
In the services window, I can not fine MSSQLserver (not sure if this is relevant).
Help! I just took over for a new company and after logging in to one of the servers I tried to click on the Symantec Backup Exec on the desktop. It failed and said that none of the services are started, looking in my services I can not get any of the services related to sql to start. In the bottom right hand corner in the system tray I have a red dot on the sql server and it is stopped. All the event logs say that: During redoing of a logged operation in database 'master', an error occurred at log record ID (199:200:5). Typically, the specific failure is previously logged as an error in the Windows Event Log service. Restore the database from a full backup, or repair the database.
I installed a copy of SQL server 2005 on a Win 2003 machine. I connected remotely from another machine and started Sql Server Configuration manager. The MSSQLServer is stopped. So, I click to start and it failed. The error it gave me was that it time out. I am new to SQL 2005 and I thought the next step after installing was to configure. Can anyone help me please.
I have a statment that checks fine in query analyser but fails in my webmatrix asp net page. I wonder if it's being too picky?Dim queryString As String =SELECT distinct [CSULOG5].[status] , [CSULOG5].[lmca_nbr] FROM [CSULOG5] works butDim queryString As String = SELECT distinct [CSULOG5].[status] + [CSULOG5].[lmca_nbr] FROM [CSULOG5] does not
I have a ABC service on a server1 that is dependent on MSSQLSERVER service running on server2. Does anyone know how to setup the service ABC on server1 to have a dependancy on MSSQLSERVER running on server2?
Straight from the sqlagent error file: (the username and login I'm providing is correct. for testing purposes only its and admin account and works on another instance)
2007-05-14 15:12:07 - ! [298] SQLServer Error: 10061, TCP Provider: No connection could be made because the target machine actively refused it. [SQLSTATE 08001] 2007-05-14 15:12:07 - ! [165] ODBC Error: 0, Login timeout expired [SQLSTATE HYT00] 2007-05-14 15:12:07 - ! [298] SQLServer Error: 10061, An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. [SQLSTATE 08001] 2007-05-14 15:12:07 - ! [000] Unable to connect to server '(local)'; SQLServerAgent cannot start 2007-05-14 15:12:38 - ! [298] SQLServer Error: 10061, TCP Provider: No connection could be made because the target machine actively refused it. [SQLSTATE 08001] 2007-05-14 15:12:38 - ! [165] ODBC Error: 0, Login timeout expired [SQLSTATE HYT00] 2007-05-14 15:12:38 - ! [298] SQLServer Error: 10061, An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. [SQLSTATE 08001] 2007-05-14 15:12:38 - ! [382] Logon to server '(local)' failed (DisableAgentXPs) 2007-05-14 15:12:39 - ? [098] SQLServerAgent terminated (normally)
Hi, i just installed SQL 2005, and to get started im trying to follow the reporting service tutorial the Creating a Basic Report'whehave to do is n im at lesson 3 i have to 'setting up connection information' i have to create a new dataset, called adventure works when im trying to add it i get the following error:
'a connection cannot be made to the database set and test the connection suesttring'additional information: Cannot open database 'Adventureworks'requested by the login. The login failed. Login failed for user 'SRVDBTESTAdministrator'. (microsoft SQL Server, Error: 4060)
I have configured SQL Server 2005 Mirroring using witness server.I have used certification method for authentication.Mirroring is working fine .
I am continously geting below error.Please tell me how to avoid this error.and How I can supress this error popping into eventlogs?
Event Type: Error Event Source: MSSQLSERVER Event Category: (2) Event ID: 1479 Date: 3/31/2008 Time: 2:32:23 PM User: N/A Computer: BLR-BKP-DBS Description: The mirroring connection to "TCP://TPA-Grouper-DBS.indorion.org:7024" has timed out for database "intranet_team_db" after 10 seconds without a response. Check the service and network connections.
i had sqlserver2000 (including the enterprise manager and desktop engine) and .net 2003 installed in my development machine, I developed a vb.net application that communicates with a locally hosted mssql db.
recently i had .net 2005 and MS Server 2005 installed, then I converted my application in .net 2005, after, I started having problem deploying the application and db together to client machine and even on my own development machine, it's all database communication sort of problems. (now i have SQL Server Management Studio Express CTP installed)
Did i make any mistake? should i uninstall sqlserver2000, .net 2003 before installing server2005 and .net 2005?
btw, in my explorer, C:Program FilesMicrosoft SQL Server, i have 5 subfolders: "80", "90", "MSSQL", "MSSQL.1" and "MSSQL$SETUPTESTAPPINS". i know that 80 and MSSQL are the folders for server2000, 90 and MSSQL.1 are probably server2005 folders. but what is "MSSQL$SETUPTESTAPPINS"? from the readme.txt i found it's related to server2000, but what is it about?
also, in my registry, HKEY_Local_Machine/Software/Microsoft/Microsoft SQL Server/, the value of "InstalledInstances" is MSSQL SETUP TESTAPPINS SQLEXPRESS, after i removed SQLServer2000 stuff, the key value became "SETUP TESTAPPINS SQLEXPRESS", Now i dont have server2000 in my system anymore, how come SETUP TESTAPPIN is still there?
When we try to connect the Sql server from our client, the MSSQLServer service stops and when we try to restart the service it goes back to the stop state after few seconds.
Server Configuration in order of installation, 1.WINNT 4. 2.SP4 3.SQL SERVER 6.5 4.Service PAck 5a for Sql Server 6.5 5.SP6a for NT
Workstation setup. 1.Member of the domain inwhich the SQL SERVER 6.5 is present 2.Sql client 6.5 3.SP4(for NT) 4.SP6a(for NT) No Service packs were installed in the workstation.
When we try to connect the server from the server the MSSQLServer service stops.We even tried reinstalling the entire setup from scratch. Kindly help us in this regard.
I am experiencing an issue with the MSSQLSERVER shutting down automically at 6:00 every 3 days. I do have 2 jobs that run at this time, but they run everyday. We did not install anything additional on the server and we are running SP3a. This just started on April 15, 2006. The Windows Event log displays the following message:
4/21/20066:00:08 PMMSSQLSERVERError(2)17052N/A<server name>The MSSQLSERVER service terminated unexpectedly.
The service stops and does not restart. It required me to restart the service manually.
For 15 days now my SQL server service is terminating with the following error
MSSQLSERVER service terminated unexpectedly. It has done this 2 Time(s). This service terminates and restarts automatically and sometimes doesnt restart we have to mannuly start it again. Event ID: 7034.
Version Details
Version: MSSQL Server 2000 Service Pack: 3a Build: 8.0.0.760
I have checked many forums most of them suggest to apply the latest service pack. But the same error has been reported by sites having SP4 also. Kindly help.
HII have server MSDE 2000 SP3frequently server stopped, and print in log file information:1)17310 :SqlDumpExceptionHandler: Process 1984 generated fatal exception c0000005EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.2)17311 :SQL Server is aborting. Fatal exception c0000005 caught.3)The MSSQLSERVER service terminated unexpectedly.
I am using Visual Studio 2005. I am creating an SQL database with a web enabled front end. I am using Microsoft SQL Server Management Studio to create the database objects and an ASP.NET web page created in Visual Studio for the front end. My problem is centered around the two server instances which come with Visual Studio (MSSQLSERVER and SQLEXPRESS). The database objects are being created on MSSQLSERVER by Microsoft SQL Server Management Studio. However, in a Visual Studio ASP.NET web page, when I create a new conection string using the menu functionality, in the SQLDATASOURCE object or in the server explorer, only (My Computer Name)SQLEXPRESS shows up as an option. I have tried typing (My Computer Name)MSSQLSERVER in but the database list just comes up blank. I know that MSSQLSERVER exists because I have one active connection string to it created by a friend. They had to juggle a lot of things to make MSSQLSERVER appear and since I was just getting started then it went over my head. Whatever they did was temporary though and I havn't been able to repeat it to add new connection strings. To eliminate some of the obvious things in other posts:
*MSSQLSERVER is Started in the Services Screen *In the configuration manager MSSQLSERVER has shared memory enabled *On the advice of one post or proceedure I enabled TCP/IP and restarted the service (I think this is actually for remote connections everything I am doing is on one PC)
What I really want is to have things permanently set up so MSSQLSERVER always shows up as an option when creating a connection string in Visual Studio. If this means getting rid of SQLEXPRESS I won't shed too many tears.
As you have noticed everything in this is centered around Visual Studio's menu functionality. I am currently make thee code paradigm shifts.
Form -> ASP.NET VB6 -> VB .method ADO -> SQL
I have created some pages in ASP.NET and have started creating objects using source instead of designer. I have automated some of the functionality on those pages using VB .method programing While I have created some simple SQL select and bulk insert statements my SQL is still pretty weak and I haven't learned connection strings or driving changes back to the database using Transact-SQL
I have designed a database on a SQLServer Express. When I am going to backup it, I provide a filename like as "c:/test.bak" but when executing I recieve a message that SQLServer cannot open the backup device with the name above.