SQL Server - row locking

I'm running a test migration against a production SQL Server database. Unfortunately when the workbench accesses the SQL Server table it's locking rows. Is there anyway to tell workbench to access in read only/no row lock mode?

Hi,
I don't think only rows are locked but tables are.
It's completely normal that there're locks especially during data migration.
This is to respect the data integrity.
If during your migration, updates on your SQL server database has been made you could get incoherences without this locks.
Regards
Mireille MEGE

Similar Messages

  • SQL Server TG Locking Issues

    We are using Oracle Transparent Gateway 9.0.1.1.1 to connect an Oracle (Windows 2000) 9.1.7.4.0 database to a SQL Server 2000 SP2 database.
    Using the TG, we have noticed that inserting/updating a SQL Server table locks the entire table so that nothing can be queried from the table until a commit/rollback. Inserting the same record from SQL Server creates a "page lock" but does not affect the entire table.
    Anyone familiar with the locking rules or any parameters that affect the locking behavior?
    Scott D. Allen
    [email protected]

    Scott,
    The gateway does not create any type of locks. Could you provide the sql statements in your session. Also take a look at the trace generated by the SQL Server profiler

  • Lock sql server table through DG4ODBC?

    Hi
    I'm using DG4ODBC to connect to SQL server 2008, querying data and insert to Oracle. Is it possible to lock the remote table in sql server, prohibit it from inserting any new record?
    My Oracle version is 11.1.0.7.0, OS version : Red Hat Enterprise Linux Server release 5.3.
    Thanks
    Edited by: user1152556 on 21:20 06-05-2013

    by default the gateway starts its own transaction on the SQL Server side and as soon as you even execute a select it locks the data until you execute a commit (even when only selecting data). Unfortunately the amount of data being locked now depends on the SQL Server version and on the lock mode chosen by the SQl Server (row/page/table).
    Another option would be to explicit set a transaction isolation level for your gateway session using the passthrough command:
    DECLARE
    ret integer;
    c integer;
    BEGIN
    c := DBMS_HS_PASSTHROUGH.OPEN_CURSOR@MSODBCSQLSERVER_DG4ODBC_EMGTW_1123_DB;
    DBMS_HS_PASSTHROUGH.PARSE@MSODBCSQLSERVER_DG4ODBC_EMGTW_1123_DB(c, 'SET TRANSACTION ISOLATION LEVEL SERIALIZABLE');
    ret := DBMS_HS_PASSTHROUGH.EXECUTE_NON_QUERY@MSODBCSQLSERVER_DG4ODBC_EMGTW_1123_DB(c);
    dbms_output.put_line(ret ||' passthrough output');
    DBMS_HS_PASSTHROUGH.CLOSE_CURSOR@MSODBCSQLSERVER_DG4ODBC_EMGTW_1123_DB(c);
    END;
    Please check out your SQL Server documentation which isolation level will fit for your needs.
    - Klaus

  • SQL Server not releasing memory

    Hello,
    I have created one stored procedure, which inserts data into 1 table.
    It inserts around 1 million records at a time using XML input.
    Problem is with SQL server memory I think. When I run this stored procedure and check the performance in the morning when server is not so busy, it finishes with less than 10 seconds.\
    However, if I continuously test this stored procedure multiple times, it gives huge variation in performance.
    Also, I call this stored procedure from C# front and there I have made sure that I am disposing Connection object every time.
    After few runs, I have to restart my server computer as it doesn't allow me to run any of the query on that server.
    So my question is :
    What is that which occupies whole server memory?
    Is there any thing which I can write in stored procedure to release memory once it is done?
    Please assist me on this.
    Thank you,
    Mittal.

    Hello,
    I have created one stored procedure, which inserts data into 1 table.
    It inserts around 1 million records at a time using XML input.
    Problem is with SQL server memory I think. When I run this stored procedure and check the performance in the morning when server is not so busy, it finishes with less than 10 seconds.\
    However, if I continuously test this stored procedure multiple times, it gives huge variation in performance.
    Also, I call this stored procedure from C# front and there I have made sure that I am disposing Connection object every time.
    After few runs, I have to restart my server computer as it doesn't allow me to run any of the query on that server.
    So my question is :
    What is that which occupies whole server memory?
    Is there any thing which I can write in stored procedure to release memory once it is done?
    Please assist me on this.
    Thank you,
    Mittal.
    >> 1. What is that which occupies whole server memory?
    Probably your application or the other application, but this need to be checked and not guess! Your machine execute hundreds if not hundreds of thousands applications on the same time! most of them are services that you do not see any
    GUI. The SQL Server itself might execute hundreds if not hundreds of thousands transactions and these might interfere one another (lock tables or rows, use the same resources and so on).
    * as a first test you should try to execute the query using a more reliable application like the SSMS. I recommend to try execute the query throw the SSMS several times and check the behavior.
    >> 2. Is there any thing which I can write in stored procedure to release memory once it is done?
    There are several option to free memory that used by SQL Server, but do you really need it?!? This is probably not the solution for your case. in the best option it will only give you a workaround.
    * SQL Server do not use more resources that you let it (configure it). If you are using SQL EXPRESS than you have some limitations regarding the resources (for example memory and CPU and database size...).
    Make sure that you configure the SQL Server not to use to much resources, so that other applications like the operating system will have what they need! There is no logic in restart the machine if the only
    problem is with specific application (unless you have problems like memory leak which in rare cases can not be treat otherwise)
    http://mrbool.com/how-to-clean-up-memory-sql-server/29242
    https://msdn.microsoft.com/en-us/library/ms178067.aspx?f=255&MSPPError=-2147217396
    ** start monitor the SQL Server resources, locks and waits
    https://technet.microsoft.com/en-us/library/aa213039(v=sql.80).aspx
    http://www.brentozar.com/sql/locking-and-blocking-in-sql-server/
    *** Give us more information instead of stories :-)
    Post codes that you use, post DDL+DML and so on.
      Ronen Ariely
     [Personal Site]    [Blog]    [Facebook]

  • How much Memory should be allocated to SQL Server 2005

    Hi,
    I have a SQL Server 2005 installation on a server having 64GBof RAM.
    SQL server is allocated 57GB of the available RAM.
    Could you please tell me what would be the ideal RAM allocation for my scenario. is the one that is set now, fine.
    How much RAM should be left for the OS and other processes to run?
    I have around 8 databases on the server and the cumulative size of all the databases in about 800GB, these are highly used servers, used for a public domain.

    Umesh,
    Saeid and Uri has already given you good articles to refer to please read them. Reg SQL Server utilization I am sure you are referring to task manager which is always not correct place to look for memory utilization. Below link has query which will give
    you SQL Server memory utilization
    http://blogs.msdn.com/b/sqlsakthi/archive/2011/02/28/t-sql-script-to-monitor-memory-usage-by-sql-server-instance.aspx
    Article provided by Uri will give you not absolute value but almost correct value, but since you asked absolute value you need to look at performance counter to reach at correct memory utilization. If you refer to section 'Does my SQL server has low memory'
    in article which Saeid gave you will find list of counters to monitor for memory utilization use the counters to reah absolute value.
    >>OK, Can high RAM utilization by sql server cause the OS to restart by any chance.
    IMO its not possible I have never seen SQL server being cause for OS shutdown. SQL Server works in non preemptive mode and will yield memory to OS when required. One possibility is when SQL server has locked pages in memory(LPIM)  and some rouge process
    or driver starts using memory from OS heavily and since  SQL server memory is locked( due to LPIM privilege)  it cannot trim heavily resulting in OS to terminate but this is not because of SQL server but because of bad drivers and processes leaking
    memory on OS.
    SQL server using memory is normal behavior
    >>This question seems vague, but I had to ask this, because my server restarts abruptly and I don't get valid reasons in the Logs for that matter.
    Does SQL server starts abruptly or windows OS ? Please look at event viewer for more details and SQL server logs. Is your SQL Server 2005 patched to SP4
    Please mark this reply as answer if it solved your issue or vote as helpful if it helped so that other forum members can benefit from it.
    My TechNet Wiki Articles

  • Query Locks Table in SQL Server 2000!!

    Hi all!
    I am facing a strange problem. I am using MS SQL Server 2000.
    I have a JDBC program.It executes a query on a table (STUDENT) and fetches some record from it.
    The query gets executed fine for the first time but when the SELECT query is executed on the same table (i.e. STUDENT) from some other block of code within the same program the program hangs at the location where resultset is pointed to the first record i.e. RS.next();
    When I try to execute the SELECT query on the same table (i.e. STUDENT) from a query tool when the program is running it also gets hanged!!!
    It seems that after running the query for the first time on the STUDENT table from the next time its getting hanged....i believe the Table gets locked for some reason!!
    Is that normal with SQL Server 2000.....The same code works fine with other database!
    Please suggest...wht has to b done to gt it fixed!
    Thankz a loadz bforehand!
    Arun

    By default (transaction isolation level TRANSACTION_READ_COMMITTED ), SQL Server applies a shared read lock when you do a SELECT. This is should not prevent other selects on the same row / page but it will prevent updates / deletes.
    I found a link that explains SQL Server locking: http://databasejournal.com/features/mssql/article.php/3289661

  • SQL Server 2012 Undetected Deadlock in a table with only one row

      We have migrated our SQL 2000 Enterprise Database to SQL 2012 Enterprise few days ago.
      This is our main database, so most of the applications access it.
      The day after the migration, when users started to run tasks, the database access started to experiment a total failure.
      That is, all processes in the SQL 2k12 database were in lock with each other. This is a commom case of deadlock, but the Database Engine was unable to detect it.
      After some research, we found that the applications were trying to access a very simple table with only one row. This table has a number that is restarted every day and is used to number all the transactions made against the system.   So, client
    applications start a new transaction, get the current number, increment it by one and commit the transaction.
      The only solution we found was to kill all user processes in SQL Server every time this situation occurs (no more than 5 minutes when all clients are accessing the database).
      No client application was changed in this migration and this process was working very well for the last 10 years.
      The problem is that SQL 2k12 is unable to handle this situation compared to SQL 2k.
      It seems to occurs with other tables too, but as this is an "entry table" the problem occurs with it first.
      I have searched internet and some suggest some workarounds like using table hints to completely lock the table at the begining of the transaction, but it can't be used to other tables.
      Does anyone have heard this to be a problem with SQL 2k12? Is there any fixes to make SQL 2k12 as good as SQL 2k?

    First off re: "Unfortunatelly, this can't be used in production environment as exclusive table lock would serialize the accesses to tables and there will be other tables that will suffer with this problem."
    This is incorrect. 
    Using a table to generate sequence numbers like this is a bad idea exactly because the access must be serialized.  Since you can't switch to a SEQUENCE object, which is the correct solution, the _entire goal_ of this exercise to find a way to properly
    serialize access to this table.  Using exclusive locking will not be necessary for all the tables; just for the single-row table used for generating sequence values with a cursor.
    I converted the sample program to VB.NET:
    Public Class Form1
    Private mbCancel As Boolean = False
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim soConn As ADODB.Connection
    Dim soRst As ADODB.Recordset
    Dim sdData As Date
    Dim slValue As Long
    Dim slDelay As Long
    'create database vbtest
    'go
    ' CREATE TABLE [dbo].[ControlNumTest](
    ' [UltData] [datetime] NOT NULL,
    ' [UltNum] [int] NOT NULL,
    ' CONSTRAINT [PK_CorreioNumTeste] PRIMARY KEY CLUSTERED
    ' [UltData] Asc
    ' )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 80) ON [PRIMARY]
    ' ) ON [PRIMARY]
    mbCancel = False
    Do
    ' Configure the Connection object
    soConn = New ADODB.Connection
    With soConn
    .ConnectionString = "Provider=SQLNCLI11;Initial Catalog=vbtest;Data Source=localhost;trusted_connection=yes"
    .IsolationLevel = ADODB.IsolationLevelEnum.adXactCursorStability
    .Mode = ADODB.ConnectModeEnum.adModeReadWrite
    .CursorLocation = ADODB.CursorLocationEnum.adUseServer
    .Open()
    End With
    ' Start a new transaction
    Call soConn.BeginTrans()
    ' Configure the RecordSet object
    soRst = New ADODB.Recordset
    With soRst
    .ActiveConnection = soConn
    .CursorLocation = ADODB.CursorLocationEnum.adUseServer
    .CursorType = ADODB.CursorTypeEnum.adOpenForwardOnly
    .LockType = ADODB.LockTypeEnum.adLockPessimistic
    .Open("SELECT * FROM dbo.ControlNumTest")
    End With
    With soRst
    sdData = .Fields!UltData.Value ' Read the last Date (LOCK INFO 1: See comments bello
    slValue = .Fields!UltNum.Value ' Read the last Number
    If sdData <> Date.Now.Date Then ' Date has changed?
    sdData = Date.Now.Date
    slValue = 1 ' Restart number
    End If
    .Fields!UltData.Value = sdData ' Update data
    .Fields!UltNum.Value = slValue + 1 ' Next number
    End With
    Call soRst.Update()
    Call soRst.Close()
    ' Ends the transaction
    Call soConn.CommitTrans()
    Call soConn.Close()
    soRst = Nothing
    soConn = Nothing
    txtUltNum.Text = slValue + 1 ' Display the last number
    Application.DoEvents()
    slDelay = Int(((Rnd * 250) + 100) / 100) * 100
    System.Threading.Thread.Sleep(slDelay)
    Loop While mbCancel = False
    If mbCancel = True Then
    Call MsgBox("The test was canceled")
    End If
    Exit Sub
    End Sub
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    mbCancel = True
    End Sub
    End Class
    And created the table
    CREATE TABLE [dbo].[ControlNumTest](
    [UltData] [datetime] NOT NULL,
    [UltNum] [int] NOT NULL,
    CONSTRAINT [PK_CorreioNumTeste] PRIMARY KEY CLUSTERED
    [UltData] Asc
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = on, FILLFACTOR = 80) ON [PRIMARY]
    ) ON [PRIMARY]
    go insert into ControlNumTest values (cast(getdate()as date),1)
    Then ran 3 copies of the program and generated the deadlock:
    <deadlock>
    <victim-list>
    <victimProcess id="processf27b1498" />
    </victim-list>
    <process-list>
    <process id="processf27b1498" taskpriority="0" logused="0" waitresource="KEY: 35:72057594039042048 (a01df6b954ad)" waittime="1970" ownerId="3181" transactionname="implicit_transaction" lasttranstarted="2014-02-14T15:49:31.263" XDES="0xf04da3a8" lockMode="X" schedulerid="4" kpid="9700" status="suspended" spid="51" sbid="0" ecid="0" priority="0" trancount="2" lastbatchstarted="2014-02-14T15:49:31.267" lastbatchcompleted="2014-02-14T15:49:31.267" lastattention="1900-01-01T00:00:00.267" clientapp="vbt" hostname="DBROWNE2" hostpid="21152" loginname="NORTHAMERICA\dbrowne" isolationlevel="read committed (2)" xactid="3181" currentdb="35" lockTimeout="4294967295" clientoption1="671088672" clientoption2="128058">
    <executionStack>
    <frame procname="adhoc" line="1" stmtstart="80" sqlhandle="0x020000008376181f3ad0ea908fe9d8593f2e3ced9882f5c90000000000000000000000000000000000000000">
    UPDATE [dbo].[ControlNumTest] SET [UltData]=@Param000004,[UltNum]=@Param000005 </frame>
    <frame procname="unknown" line="1" sqlhandle="0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000">
    unknown </frame>
    </executionStack>
    <inputbuf>
    (@Param000004 datetime,@Param000005 int)UPDATE [dbo].[ControlNumTest] SET [UltData]=@Param000004,[UltNum]=@Param000005 </inputbuf>
    </process>
    <process id="processf6ac9498" taskpriority="0" logused="10000" waitresource="KEY: 35:72057594039042048 (a01df6b954ad)" waittime="1971" schedulerid="5" kpid="30516" status="suspended" spid="55" sbid="0" ecid="0" priority="0" trancount="1" lastbatchstarted="2014-02-14T15:49:31.267" lastbatchcompleted="2014-02-14T15:49:31.267" lastattention="1900-01-01T00:00:00.267" clientapp="vbt" hostname="DBROWNE2" hostpid="27852" loginname="NORTHAMERICA\dbrowne" isolationlevel="read committed (2)" xactid="3182" currentdb="35" lockTimeout="4294967295" clientoption1="671156256" clientoption2="128058">
    <executionStack>
    <frame procname="adhoc" line="1" sqlhandle="0x020000003c6309232ab0edbe0a7790a816a09c4c5ac6f43c0000000000000000000000000000000000000000">
    FETCH API_CURSOR0000000000000001 </frame>
    <frame procname="unknown" line="1" sqlhandle="0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000">
    unknown </frame>
    </executionStack>
    <inputbuf>
    FETCH API_CURSOR0000000000000001 </inputbuf>
    </process>
    </process-list>
    <resource-list>
    <keylock hobtid="72057594039042048" dbid="35" objectname="vbtest.dbo.ControlNumTest" indexname="PK_CorreioNumTeste" id="lockff6e6c80" mode="U" associatedObjectId="72057594039042048">
    <owner-list>
    <owner id="processf6ac9498" mode="S" />
    <owner id="processf6ac9498" mode="U" requestType="wait" />
    </owner-list>
    <waiter-list>
    <waiter id="processf27b1498" mode="X" requestType="convert" />
    </waiter-list>
    </keylock>
    <keylock hobtid="72057594039042048" dbid="35" objectname="vbtest.dbo.ControlNumTest" indexname="PK_CorreioNumTeste" id="lockff6e6c80" mode="U" associatedObjectId="72057594039042048">
    <owner-list>
    <owner id="processf27b1498" mode="U" />
    <owner id="processf27b1498" mode="U" />
    <owner id="processf27b1498" mode="X" requestType="convert" />
    </owner-list>
    <waiter-list>
    <waiter id="processf6ac9498" mode="U" requestType="wait" />
    </waiter-list>
    </keylock>
    </resource-list>
    </deadlock>
    It's the S lock that comes from the cursor read that's the villian here.  U locks are compatible with S locks, so one session gets a U lock and another gets an S lock.  But then the session with an S needs a U, and the session with a U needs an
    X.  Deadlock. 
    I'm not sure what kind of locks were taken by this cursor code on SQL 2000, but on SQL 2012, this code is absolutely broken and should deadlock.
    The right way to fix this code is to add (UPDLOCK,SERIALIZABLE) to the cursor
    .Open("SELECT * FROM dbo.ControlNumTest with (updlock,serializable)")
    So each session reads the table with a restrictive lock, and you don't mix S, U and X locks in this transaction.  This resolves the deadlock, but requires a code change.
    I tried several things that didn't require a code, which did not resolve the deadlock;
    1) setting ALLOW_ROW_LOCKS=OFF ALLOW_PAGE_LOCKS=OFF
    2) SERIALIZABLE isolation level
    3) Switching OleDB providers from SQLOLEDB to SQLNCLI11
    Then I replaced the table with a view containing a lock hint:
    CREATE TABLE [dbo].[ControlNumTest_t](
    [UltData] [datetime] NOT NULL,
    [UltNum] [int] NOT NULL,
    CONSTRAINT [PK_CorreioNumTeste] PRIMARY KEY CLUSTERED
    [UltData] Asc
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = on, FILLFACTOR = 80) ON [PRIMARY]
    ) ON [PRIMARY]
    go
    create view ControlNumTest as
    select * from ControlNumTest_t with (tablockx)
    Which, at least in my limited testing, resovlved the deadlock without any client code change.
    David
    David http://blogs.msdn.com/b/dbrowne/

  • How to delete a row from a SQL Server CE Table with multiple JOINs?

    I want to delete a record from a SQL Server CE table.
    There are 3 tables scripts, options and results. I would like to remove a record from the results table. The where clause contains dynamic information which retrieved via other queries to different tables in the same database. These queries work fine and deliver
    the desired data.
    The Compact server is a clone of a remote table created using the sync framework. The same query to the remote table works fine.
    The error I get is:
    There was an error parsing the query. [ Token line number = 1,Token line offset = 10,Token in error = from ]
    The code that throws the exception is as follows:
    Dim connLoc As SqlCeConnection = New SqlCeConnection(My.Settings.ConnectionString)connLoc.Open()     Dim strDel As String = "Delete r from ResultsTable r inner join OptionsTable o ON o.TestName=r.TestName inner join ScriptTable c ON r.TestName=c.TestName WHERE r.TestName = '" & ds1Loc.Tables(0).Rows(0)(1) & "' AND [Index] = '" & lstIndex & "'"Dim cmdDel As SqlCeCommand = New SqlCeCommandcmdDel.CommandText = strDelcmdDel.Connection = connLoccmdDel.ExecuteNonQuery()
    The values held in ds1Loc.Tables(0).Rows(0)(1) and lstIndex are
    correct so should not be the problem.
    I also tried using parameterised queries
    Dim strDel As String = "Delete r from [ResultsTable] r inner join [OptionsTable] o ON o.TestName=r.TestName inner join [ScriptTable] c ON r.TestName=c.TestName WHERE r.TestName = @TestName AND [Index] = @lstIndex"
    Dim cmdDel As SqlCeCommand = New SqlCeCommand        cmdDel.CommandText = strDel       
    With cmdDel.Parameters           
    .Add(New SqlCeParameter("@TestName", ds1Loc.Tables(0).Rows(0)(1)))           
    .Add(New SqlCeParameter("@lstIndex", lstIndex))       
    End With 
    cmdDel.Connection = connLoc        cmdDel.ExecuteNonQuery()
    I have tried replacing the "=" with "IN" in the the WHERE clause but this has not worked.
    Is it the join that is causing the problem? I can do a select with the same search criteria and joins from the same database.
    Also this query works with SQL Server. Is it perhaps that SQL CE does not support the Delete function the same as SQL Server 2008? I have been looking at this for a while now and cannot find the source of the error. Any help would be greatly appreciated.

    Hello,
    In SQL Server Compact, we can use join in FROM clause. The DELETE statement fail may be caused by the FOREIGN KEY constraint.
    Please refer to:
    DELETE (SQL Server Compact)
    FROM Clause (SQL Server Compact)
    Regards,
    Fanny Liu
    Fanny Liu
    TechNet Community Support

  • 30 M rows in SQL Server 2008 R2- View or Table for faster performance

    Hello,
    I am creating a SSRS 2008 report that currently is using a view. It's a view made out of one table and is not indexed.
    There are 70 some columns that I am displaying in the report with 10 or so parameters that I am passing through a procedure from SSRS to SQL Server.
    When the report runs in Server or in development mode, the report gets out of memory error - which could be a totally different issue as it is trying to bring in a  couple million rows amd runs for 15- 20 mins.. and errors out.
    My question is if it is sourcing a single table, will a view be better with the right index or a table with index.
    Clustered, non clustered? Any suggestions or input would be greatly appreciated.
    Thank You.

    What is the exact error message?
    In SSRS you can use a stored procedure with parameters as data source. You can use a query in the sp, you don't need a view.
    >it is trying to bring in a  couple million rows amd runs  20 mins.. and errors out.
    Indexing not likely to help you. You have a huge return set problem.
    Kalman Toth Database & OLAP Architect
    SELECT Query Video Tutorial 4 Hours
    New Book / Kindle: Exam 70-461 Bootcamp: Querying Microsoft SQL Server 2012

  • Frequenet dead locks in SQL Server 2008 R2 SP2

    Hi,
    We are experiencing frequent dead locks in our application. We are using MSSQL Server 2008 R2 SP2 version. When our application is configured for 5-6 app servers, this issue is occurring frequently.
    But, when the same application is used with the MSSQL Server 2008 R2 or SQL Server 2012, we don't see the dead lock issue. From the error lock and sql trace, the error message is thrown for the database table JobLock. We have a stored procedure to insert/update
    for the above table when the job moves from one service to other. The same procedure works fine when used with the 2008 R2 and SQL Server 2012 Version.
    Is the above issue related to the hotfix from the below url?
    http://support.microsoft.com/kb/2703275
    Following error message is seen frequently in the log file.
    INFO : 03/24/2014 10:26:30:290 PM: [00007900:00005932] [Xerox.ISP.Workflow.ManagedActivity.PersistInTransaction] System.Data.SqlClient.SqlException (0x80131904): Transaction (Process ID 62) was deadlocked on lock resources with another process and has been
    chosen as the deadlock victim. Rerun the transaction.
       at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
       at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
       at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
       at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
       at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
       at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds)
       at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)
       at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite)
       at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
       at Microsoft.Practices.EnterpriseLibrary.Data.Database.DoExecuteNonQuery(DbCommand command)
       at Microsoft.Practices.EnterpriseLibrary.Data.Database.ExecuteNonQuery(DbCommand command, DbTransaction transaction)
       at Xerox.ISP.DataAccess.Data.Utility.ExecuteNonQuery(TransactionManager transactionManager, DbCommand dbCommand)
       at Xerox.ISP.DataAccess.Data.SqlClient.SqlActivityProviderBase.ActivityReady(TransactionManager transactionManager, Int32 start, Int32 pageLength, Nullable`1 ActivityID, Nullable`1 JobId, String ContentUrl, Nullable`1 PrevWorkStep, Nullable`1
    CurrentWorkStep, String Principal, Nullable`1 Status, Nullable`1 ServerID, String HostName, Nullable`1 LockUserID, Nullable`1& ErrorCode, Byte[]& Activity_TS)
       at Xerox.ISP.DataAccess.Domain.ActivityBase.ActivityReady(Nullable`1 ActivityID, Nullable`1 JobId, String ContentUrl, Nullable`1 PrevWorkStep, Nullable`1 CurrentWorkStep, String Principal, Nullable`1 Status, Nullable`1 ServerID, String HostName,
    Nullable`1 LockUserID, Nullable`1& ErrorCode, Byte[]& Activity_TS, Int32 start, Int32 pageLength)
       at Xerox.ISP.DataAccess.Domain.ActivityBase.ActivityReady(Nullable`1 ActivityID, Nullable`1 JobId, String ContentUrl, Nullable`1 PrevWorkStep, Nullable`1 CurrentWorkStep, String Principal, Nullable`1 Status, Nullable`1 ServerID, String HostName,
    Nullable`1 LockUserID, Nullable`1& ErrorCode, Byte[]& Activity_TS)
       at Xerox.ISP.Workflow.ManagedActivity.<>c__DisplayClass2f.<ActivityReady>b__2d()
       at Xerox.ISP.Workflow.ManagedActivity.PersistInTransaction(Boolean createNew, PersistMethod persist)
    ClientConnectionId:9e44a64f-5014-4634-9cee-4581e1b9c299
    I look forward to the suggestions to get the issue resolved. Your input is much appreciated.
    Thanks,
    Keshava.

    If you are having deadlock trouble in your SQL Server instance, this recipe demonstrates how to make sure deadlocks are logged to the SQL ServerManagement Studio SQL log appropriately using
    the DBCC TRACEON, DBCC TRACEOFF, and DBCC TRACESTATUS commands. These functions enable, disable, and check the status of trace flags.
    To determine the cause of a deadlock, we need to know
    the resources involved and the types of locks acquired and requested. For this kind of information, SQL Server provides
    Trace Flag 1222 (this flag supersedes 1204, which was frequently used in earlier versions of SQL Server.)
    DBCCTRACEON(1222,
    -1);
    GO
    With this flag enabled, SQL Server will provide output in the form of a deadlock graph, showing the executing statements
    for each session, at the time of the deadlock; these are the statements that were blocked and so formed the conflict or cycle that led to the deadlock.
    Be aware that it is rarely possible to guarantee that deadlocks will never occur. Tuning for deadlocks
    primarily involves minimizing the likelihood of their occurrence. Most of the techniques for minimizing the occurrence of deadlocks are similar to the general techniques for minimizing blocking problems.

  • Restore deleted rows in sql server 2008

    Hi,
    I have problem, I used import and export wizard in sql server 2008, and select wrong database in source data and wrong database in destination data (i Reflect databases) and  in editing mapping i make check for delete rows in destination table. 
    the step final complete and  i lost my data and i don't have backup
    how i can restore my data

    its not a straight forward activity if you don't have backups, first thing you need to do is to create proper maintenance plan for you databases. You can refer below links which could give some clue about your probles.
    http://social.msdn.microsoft.com/Forums/sqlserver/en-US/86befdbe-9806-4d96-9e9f-ead753d0fc20/recover-deleted-rows-from-sql-server-database?forum=transactsql
    http://sqlserver2000.databases.aspfaq.com/how-do-i-recover-data-from-sql-server-s-log-files.html
    Please mark solved if I've answered your question, vote for it as helpful to help other users find a solution quicker
    Praveen Dsa | MCITP - Database Administrator 2008 |
    My Blog | My Page

  • SQL query  update to the Effective Dated Row in PS_JOB table?  SQL Server

    Hi,
    I have a requirement to update the Holiday Schedule field in the maximum effective date row based on the criteria: EMPL_RCD and BUSINESS_UNIT.
    Initially I ran a select query to see how many rows will gets affected.It fetched rows properly with the criteria.
    When I am trying to update the query with the same criteria its showing error message.
    But I don't find any mistake in my query...
    Here is the query I have used:
    UPDATE PS_JOB J SET J.HOLIDAY_SCHEDULE='HLDY' WHERE
    J.EFFDT=(SELECT MAX(A.EFFDT) FROM PS_JOB A
    WHERE A.EMPLID=J.EMPLID
    AND A.EMPL_RCD=J.EMPL_RCD
    AND A.EFFDT<=GETDATE())
    AND J.EFFSEQ=
    (SELECT MAX(A1.EFFSEQ) FROM PS_JOB A1
    WHERE A1.EMPLID=J.EMPLID
    AND A1.EMPL_RCD=J.EMPL_RCD
    AND A1.EFFDT=J.EFFDT)
    AND J.BUSINESS_UNIT='HLDY1'
    AND J.EMPL_RCD=0
    Try with differnt ways but no result. Could anyone please guide me how I can update it....
    Thanks in Advance!

    My database is MY SQL server.
    I found the issue and it is working now. Update syntax works diffrently when we use alias name in set column.
    UPDATE PS_JOB SET HOLIDAY_SCHEDULE='HLDY' FROM PS_JOB J WHERE
    J.EFFDT=(SELECT MAX(A.EFFDT) FROM PS_JOB A
    WHERE A.EMPLID=J.EMPLID
    AND A.EMPL_RCD=J.EMPL_RCD
    AND A.EFFDT<=GETDATE())
    AND J.EFFSEQ=
    (SELECT MAX(A1.EFFSEQ) FROM PS_JOB A1
    WHERE A1.EMPLID=J.EMPLID
    AND A1.EMPL_RCD=J.EMPL_RCD
    AND A1.EFFDT=J.EFFDT)
    AND J.BUSINESS_UNIT='HLDY1'
    AND J.EMPL_RCD=0
    This has worked in SQL server.
    Thanks for looking into this.

  • Sql server if the row exist it update if the row new won't update

    I am
    working with Asp.net and C# and using SQl Server, I insert a row in one plase and works fine but when I try to update the same row it woudn't do anything, I
    try to update an existing row it works with the same code but not if I just
    insert new row.
    my code as
    below:
    String companyName = txCompany.Text.ToString();
    SqlConnection con =
    new
    SqlConnection(conString);
    SqlCommand cmd =
    new
    SqlCommand("INSERT
    INTO DocUp (CompanyName)VALUES (@CompanyName)", con);
    cmd.Parameters.AddWithValue("@CompanyName", companyName);
    try
    con.Open();
    cmd.ExecuteNonQuery();
    catch (Exception
    er)
    Response.Write("<script language='javascript'>alert('Connection Problem On Insert');</script>");
    finally
    con.Close();
    string strQuery =
    "UPDATE DocUp SET 
    QuoteFileName=@QuoteFileName, ContentType=@ContentType, QuoteFileData=@Data WHERE CompanyName=@Company";
    SqlCommand cmd =
    new
    SqlCommand(strQuery);
    cmd.Parameters.Add("@QuoteFileName",
    SqlDbType.VarChar).Value = filename;
    cmd.Parameters.Add("@ContentType",
    SqlDbType.VarChar).Value =
    "application/pdf";
    cmd.Parameters.Add("@Data",
    SqlDbType.Binary).Value = bytes;
    cmd.Parameters.Add("@Company",
    SqlDbType.VarChar).Value = companyName;
    InsertUpdateData(cmd);
    private
    Boolean InsertUpdateData(SqlCommand
    cmd)
    String strConnString = System.Configuration.ConfigurationManager
    .ConnectionStrings["S7V001_11022014ConnectionString1"].ConnectionString;
      SqlConnection con =
    new
    SqlConnection(strConnString);
    cmd.CommandType = CommandType.Text;
    cmd.Connection = con;
    try
    con.Open();
    cmd.ExecuteNonQuery();
    return
    true;
          catch (Exception
    ex)
    Response.Write(ex.Message);
    return
    false;
    finally
    con.Close();
    con.Dispose();

    Please use the  "Insert code block" button to insert *readable* code blocks 
    try{
    con.Open();
    cmd.ExecuteNonQuery();
    return true;
    You have not shared what query/functions that you are using to insert data. Please share. 
    Also it looks like more like a .Net related questions, (and if you agree,  ) I would recommend posting the question in .Net forum
    http://social.msdn.microsoft.com/Forums/vstudio/en-US/home?forum=csharpgeneral
    Also I would recommend you to read "How to ask questions in Technical Forums" from the below link
    Satheesh
    My Blog |
    How to ask questions in technical forum

  • The user id "sa" is getting locked frequently in SQL server 2008 R2

    Hi Team, 
    We have SQL server 2008 R2 machine and recently i'm getting issue with the user id "sa" as its getting locked out. I;m not sure with the reason caused with this. I need to login to the SQLserver with windows authentication and manually unlock
    the "sa" account and its happening frequently.
    Let me know how to fix this?
    Regards,
    Guru 

    Might be the SA account either using by any application team or any job have been configured to use it, since you are saying that its getting locked out then it someone or application or apps jobs performing with Mulitple incorrect login attempts with incorrect
    password try(since if check_expiration enabled it it can lockout based on the windows password policy, so you can check in the SQL errorlog when was the last login succeeded and from when the incorrect attempts tried & finally it gets locked out(so here
    you will have from which host it was trying)).
    So talk to the application team, did anyone recently changed the SA password or some one misusing or configured to any applications .
    If nothing works then perform the  SQL server side trace to track it or trigger can help
    Thanks, Rama Udaya.K (http://rama38udaya.wordpress.com) ---------------------------------------- Please remember to mark the replies as answers if they help and UN-mark them if they provide no help,Vote if they gives you information.

  • First Row Record is not inserted from CSV file while bulk insert in sql server

    Hi Everyone,
    I have a csv file that needs to be inserted in sql server. The csv file will be format will be like below.
    1,Mr,"x,y",4
    2,Mr,"a,b",5
    3,Ms,"v,b",6
    While Bulk insert it coniders the 2nd column as two values (comma separte) and makes two entries .So i used filelterminator.xml.  
    Now, the fields are entered into the column correctly. But now the problem is, the first row of the csv file is not reading in sql server. when i removed the  terminator,  i can get the all records. But i must use the above code terminator. If
    am using means, am not getting the first row record.
    Please suggests me some solution.
    Thanks,
    Selvam

    Hi,
    I have a csv file (comma(,) delimited) like this which is to be insert to sql server. The format of the file when open in notepad like below:
    Id,FirstName,LastName,FullName,Gender
    1,xx,yy,"xx,yy",M
    2,zz,cc,"zz,cc",F
    3,aa,vv,"aa,vv",F
    The below is the bulk insert query which is used for insert above records,
    EXEC(BULK INSERT EmployeeData FROM '''+@FilePath+'''WITH
    (formatfile=''d:\FieldTerminator.xml'',
    ROWTERMINATOR=''\n'',
    FIRSTROW=2)'
    Here, I have used format file for the "Fullname" which has comma(,) within the field. The format file is:
    The problem is , it skip the first record (1,xx,yy,"xx,yy",M) when i use the format file. When i remove the format file from the query, it takes all the records but the "fullName" field makes the problem because of comma(,) within the
    field. So i must use the format file to handle this. So please suggest me , why the first record skipped always when i use the above format file.
    If i give the "FirstRow=1" in bulk insert, it shows the "String or binary data would be truncated.
    The statement has been terminated." error. I have checked the datatype length.
    Please update me the solution.
    Regards,
    Selvam. M

Maybe you are looking for

  • Custom JButton displays properly on Win2K, not under Solaris

    We have an applet that creates a panel of custom JButtons, each of which has a set of associated icons, two of which are "active" and "inactive" (there are also disabled, rollover, etc. icons). At runtime, when a button is clicked, its icon property

  • Invalid column name (with ojdbc)

    hi, I created a resultSet by executing query with more then one table in it. (left join) and now i want to getObject. so I execute resultSet.getObject("tablename.columnName") and I get this error "invalid column name". when i'm doing the same thing w

  • Ipod nano messed up

    i will click on a song and it'll start playing but if i try to skip to a different part of the osng it will take me to a completly different part or a new song....I need help

  • G.drawRect not alligned properly

    I am trying to design a ludo game board but I cant seem to get the lines and rectangles to allign properly....also having problems making the lines bold enough....attached is the code i have so far. also attached is what the finished code is supposed

  • Yesterday, i posted asking for help to get a Customer code working. Now the statement is not actually showing what what's its creating.

    I pasted the statement into my form and it didn't have anymore syntax errors but now it is not actually creating the code. i type in the name and a phone number but nothing is happening? If you need anymore info please ask. I'm not sure what else to