none
Controlo de simultaneidade SQL server RRS feed

  • Pergunta

  • Como realizar o controlo de simultaneidade para uma tabela que é acessado por mais de 1001 utilizadores 
    codigo designção Quantidade      Preço 
    1             Pão             500                  0,5 
    2             Peixe           214                   5
    3             Cebola         15                     1

    segunda-feira, 7 de maio de 2018 21:28

Respostas

  • Agora entendi, vc está com problema de concorrência na tabela, todo SGBD ,tem mecanismo para que vc possa controlar a concorrência, ou por configuração no banco de dados , ou por configuração na sessão .

    o bloqueio em uma tabela serve para a segurança do SQL Server, para que ele possa retornar para o usuário, os dados de forma coerente.

    Esse assunto e um pouco complexo por muitos detalhes, ou poderia simplesmente te dar um exemplo, 

    colocando a configuração como :SET TRAN ISOLATION LEVEL READ UNCOMMITTED

    ou  SET TRAN ISOLATION LEVEL SNAPSHOT

    entretanto ,tudo nessa vida tem um preço  ,como "dirty read", "non repeatable read" dentre outras

    logo te aconselho dar uma lida nesses artigos

    https://www.devmedia.com.br/controle-de-concorrencia-entre-transacoes-em-bancos-de-dados/27756

    https://msdn.microsoft.com/pt-br/library/jj856598(v=sql.120).aspx


    Wesley Neves - Brasilia-DF     

    https://wesleyneves.wordpress.com/

    SELECT Tab.[that's me:]

    FROM

    (

        VALUES

            ('Wesley Neves'),

            ('Analista.NET'),

            ('Pós Graduando em Banco de Dados com ênfase em BI'),

            ('MTA -SQL Server'),

            ('MTA -Web Developed')

    ) AS Tab ("that's me:");


    "Se a resposta for útil ou ajudar ,não esqueça de marcar"





    Wesley Neves

    terça-feira, 8 de maio de 2018 19:21

Todas as Respostas

  • Como realizar o controlo de simultaneidade para uma tabela que é acessado por mais de 1001 utilizadores 
    codigo designção Quantidade      Preço 
    1             Pão             500                  0,5 
    2             Peixe           214                   5
    3             Cebola         15                     1

    Explique mais seu cenário, desculpa mais ainda não consegui entender

    Wesley Neves - Brasilia-DF     

    https://wesleyneves.wordpress.com/

    SELECT Tab.[that's me:]

    FROM

    (

        VALUES

            ('Wesley Neves'),

            ('Analista.NET'),

            ('Pós Graduando em Banco de Dados com ênfase em BI'),

            ('MTA -SQL Server'),

            ('MTA -Web Developed')

    ) AS Tab ("that's me:");


    "Se a resposta for útil ou ajudar ,não esqueça de marcar"





    Wesley Neves

    terça-feira, 8 de maio de 2018 11:05
  • Tenho uma tabela produto em que modificado por 1001 usuários ou mais simultaneamente. minha questão é como posso permitir que estes usuários possam utilizar os dados que consta da tabela de forma que não haja bloqueios  
    terça-feira, 8 de maio de 2018 19:10
  • Agora entendi, vc está com problema de concorrência na tabela, todo SGBD ,tem mecanismo para que vc possa controlar a concorrência, ou por configuração no banco de dados , ou por configuração na sessão .

    o bloqueio em uma tabela serve para a segurança do SQL Server, para que ele possa retornar para o usuário, os dados de forma coerente.

    Esse assunto e um pouco complexo por muitos detalhes, ou poderia simplesmente te dar um exemplo, 

    colocando a configuração como :SET TRAN ISOLATION LEVEL READ UNCOMMITTED

    ou  SET TRAN ISOLATION LEVEL SNAPSHOT

    entretanto ,tudo nessa vida tem um preço  ,como "dirty read", "non repeatable read" dentre outras

    logo te aconselho dar uma lida nesses artigos

    https://www.devmedia.com.br/controle-de-concorrencia-entre-transacoes-em-bancos-de-dados/27756

    https://msdn.microsoft.com/pt-br/library/jj856598(v=sql.120).aspx


    Wesley Neves - Brasilia-DF     

    https://wesleyneves.wordpress.com/

    SELECT Tab.[that's me:]

    FROM

    (

        VALUES

            ('Wesley Neves'),

            ('Analista.NET'),

            ('Pós Graduando em Banco de Dados com ênfase em BI'),

            ('MTA -SQL Server'),

            ('MTA -Web Developed')

    ) AS Tab ("that's me:");


    "Se a resposta for útil ou ajudar ,não esqueça de marcar"





    Wesley Neves

    terça-feira, 8 de maio de 2018 19:21