Dicas para um DBA Iniciante – Para que serve a conta DAC?
By Vitor Fava
Fala minha galera LOUCA POR DADOS!!!!!!
No video de hoje quero te mostrar como RESOLVER UMA SITUAÇÃO IMPOSSÍVEL UTILIZANDO A CONTA DAC NO SQL SERVER!!!!
O script que utilizei no vídeo esta disponível a seguir:
--Reduzindo manualmente a quantidade de threads permitidas no SQL Server
EXEC sys.sp_configure N'max worker threads', N'128'
GO
RECONFIGURE
GO
--Criando um banco e dados de testes
USE master
GO
CREATE DATABASE ThreadPoolWaits
GO
USE ThreadPoolWaits
GO
--Criando uma tabela de teste
CREATE TABLE [SomeCrazyUniqueTableName_6EFF088F-443B-4EBC-A4C7-9FC146D2EE49]
(
[MyUniqueColumnName1_F67DAC4A-C202-49BB-829A-071130BF1160] INT IDENTITY(1, 1) NOT NULL PRIMARY KEY,
[MyUniqueColumnName2_438B7184-B476-48A4-B5FA-DC34B99FA0A4] INT
)
GO
--Inserindo um registro na tabela criada anteriormente
INSERT INTO [SomeCrazyUniqueTableName_6EFF088F-443B-4EBC-A4C7-9FC146D2EE49]
VALUES (1)
GO
--Criando uma stored procedure para realizar operações de leitura na tabela de teste
CREATE
PROCEDURE MyCustomUniqueStoredProcedureName_ReadWorkload
AS
BEGIN
SELECT * FROM [SomeCrazyUniqueTableName_6EFF088F-443B-4EBC-A4C7-9FC146D2EE49]
END
GO
--Iniciando uma transação que não terá COMMIT
BEGIN TRANSACTION
UPDATE [SomeCrazyUniqueTableName_6EFF088F-443B-4EBC-A4C7-9FC146D2EE49] WITH (TABLOCKX)
SET [MyUniqueColumnName2_438B7184-B476-48A4-B5FA-DC34B99FA0A4] = 2
GO
--Executar a procedure em uma outra sessão utilizando o QUERYSTRESS (200 threads)
EXEC MyCustomUniqueStoredProcedureName_ReadWorkload
GO
Espero que gostem e não deixem de inscreverem-se no blog, no canal do youtube, no grupo de discussão SQLManiacs, em nosso grupo no TELEGRAM e siga o instagram da Vita Database Solutions para acompanhar todas as novidades do mundo de dados.
APROVEITEM E FAÇAM AGORA SUA INSCRIÇÃO NO MELHOR TREINAMENTO DE AZURE DO BRASIL!!!!! https://www.vitadbsolutions.com/working-with-azure-sql-database
Grande abraço.
Fonte: Vitor Fava