Você tem dúvidas sobre licenciamento do SQL Server?

Discutiremos nessa sessão todas as opções disponíveis para o correto licenciamento do SQL Server. Você entenderá as modificações e as opções de licenciamento para empresas de desenvolvimento, pequenas empresas e médias/grandes corporações. Saiba como economizar escolhendo o licenciamento correto para a sua empresa!

Atualizando. Para você que veio ver minha palestra, segue anexo o ppt da palestra Tudo o que você queria saber sobre licenciamento 1

Como saber quanto tempo vai demorar o restore/backup de uma base de dados SQL Server

Você já sabe que o SQL Server permite visualizar o porcentual completo dos processos de Backup e/ou Restore de uma base de dados utilizando as ferramentas visuais ou comandos T-SQL onde o SQL Server Management Studio mostra de tempos em tempos o porcentual que cada um desses processos foi completado naquele instante, certo?

BackupSSMS BackupSSMS_TSQL

O que você não sabe utilizando essas ferramentas é o tempo que ainda falta para terminar o processo… Como descobrir isso??

Se você estiver utilizando qualquer versão do SQL Server a partir da versão 2005, você pode utilizar a DMV sys.dm_exec_requests juntamente com a sys.dm_exec_sql_text que nos trás informações muito interessantes sobre o processo de Backup/Restore da nossa base de dados. Você pode utilizar a query abaixo e modificá-la, adicionando ou removendo os campos desejados. A informação mais interessante nessa query na minha opinião é o HorárioFinalEstimado.

SELECT command Comando, DB_NAME(database_id) BasedeDados,
percent_complete [%Completo],
dateadd(second,estimated_completion_time/1000, getdate()) as HorárioFinalEstimado FROM sys.dm_exec_requests
WHERE command IN (‘Backup Database’, ‘Restore Database’)

Claro que o horário estimado de finalização do backup/restore como o nome diz é estimado, ou seja, pode ser que demore mais ou menos do que o tempo indicado nesta coluna e há vários fatores que influenciam este tempo. Entretanto é uma referência ao tempo que demorará o processo de backup/restore.

Livro: SQL Server Além do conceito – Blog post collection

É com imenso prazer que apresento o livro: SQL Server Além do conceito – Blog post collection! Esse livro é a coleção de blogs posts de vários profissionais de SQL Server e cada um que contribuiu com sua especialidade formando assim amplo conteúdo. Tive o prazer de poder ajudar a produzir este livro revisando-o tecnicamente e também sendo o responsável pelo prefácio.

SQL-Server-Além-do-conceito-Blog-post-collection

Esse livro é totalmente grátis e você pode fazer o download aqui!

Attributes do not match. Present attributes (Directory, Compressed) , included attributes (0), excluded attributes (Compressed, Encrypted)

Tags

Dica rápida para resolver o erro acima. Normalmente esse erro acontece quando você está atualizando o SQL Server 2008.

Esse erro acontece porque algumas pastas necessárias para o SQL Server estão marcadas no sistema de arquivos NTFS como:

– Folder is ready for archiving, ou;

– Compress contents to save disk space

Para resolver o problema, vá até o diretório onde está instalado o SQL Server, normalmente (C:\Program Files\Microsoft SQL Server), clique com o botão direito, Propriedades, guia Geral, botão Advanced e desmarque as duas opções mencionadas.

Lembre-se de fazer o mesmo para o diretório C:\Program Files (x86)\Microsoft SQL Server.

Para maiores informações, veja o link do KB 957453.

Interop Day – Porto Alegre – 22/11/2014 – Soluções de Interoperabilidade com o SQL Server

Você está convidado a participar do maior evento de interoperabilidade do RS! Se você possui uma aplicação que foi desenvolvida em ASP.NET ou PHP utilizando o SQL Server como banco de dados, esta palestra é para você! Discutiremos as principais opções, preços e configurações disponíveis no Microsoft Azure. Apresentaremos técnicas práticas e migraremos um site de exemplo ao vivo!

SQL Server PASS Summit 2014

Olá pessoal, seguem algumas fotos do maior evento para os profissionais de SQL Server no mundo! O SQL Server PASS 2014!

Este ano, pela segunda vez, tive o privilégio de participar do comitê de programação do evento. Tive que ler e ajudar a escolher as melhores palestras de um total de 600 palestras submetidas por palestrantes do mundo inteiro! Mas foi um prazer ajudar a trazer as melhores palestras para todos os que estão aqui assistindo!

WP_20151026_09_07_41_Rich_LI 1040611_10203931873991837_3496652088788615030_o

Como solucionar o erro: The DELETE statement conflicted with the REFERENCE constraint “FK_subplan_job_id”. The conflict occurred in database “msdb”, table “dbo.sysmaintplan_subplans”, column ‘job_id’.

Tags

,

Hoje no trabalho tive que apagar um Subplan de um plano de manutenção antigo. Até aí tudo bem. O problema é que o Job associado à esse Subplan não foi apagado. Quando eu tentei apagar o job recebi a seguinte mensagem de erro:

The DELETE statement conflicted with the REFERENCE constraint “FK_subplan_job_id”. The conflict occurred in database “msdb”, table “dbo.sysmaintplan_subplans”, column ‘job_id’.
The statement has been terminated. (Microsoft SQL Server, Error: 547)

Tentei utilizar a procedure sp_delete_job e obtive o mesmo erro. A saída foi apagar o job “na mão”! Para economizar tempo, verifiquei as tabelas envolvidas e criei um script para este serviço, basta apenas saber o Job_ID do job desejado.

select job_id, name from msdb.dbo.sysjobs
go

use msdb;
Declare @JobID uniqueidentifier;

set @JobID = <Coloque Aqui o JobID>; — Coloque aqui o valor correspondente ao job_id que deseja apagar

— que foi recuperado pela query anterior

if @JobID is null
raiserror (‘Favor Informar um JobID para Exclusão’, 16, 1)
else
begin
delete from sysjobschedules where job_id = @JobID
delete from sysmaintplan_log where plan_id = (select plan_id from [dbo].[sysmaintplan_subplans] where job_id =@JobID)
delete from sysmaintplan_subplans where job_id = @JobID
delete from sysjobstepslogs where step_uid in (select step_uid from sysjobsteps where job_id = @JobID )
delete from sysjobsteps WHERE job_id = @JobID
delete from sysjobservers where job_id = @JobID
delete from sysjobs where job_id = @JobID
end

Mensagem de Erro 22830 – Habilitando o Change Data Capture

Dica rápida…

Hoje estava habilitando o Change Data Capture em um cliente e ao tentar executar a procedure sys.sp_cdc_enable_db recebi a mensagem:

Msg 22830, Level 16, State 1, Procedure sp_cdc_enable_db_internal, Line 193
Could not update the metadata that indicates database xxxxxxx is enabled for Change Data Capture. The failure occurred when executing the command ‘SetCDCTracked(Value = 1)’. The error returned was 15517: ‘Cannot execute as the database principal because the principal “dbo” does not exist, this type of principal cannot be impersonated, or you do not have permission.’. Use the action and error to determine the cause of the failure and resubmit the request.

Para confirmar, execute o comando abaixo e veja que o CDC não foi habilitado no banco de dados:

select is_cdc_enabled, * from sys.databases

CDC1

A parte principal da mensagem de erro é essa: Cannot execute as the database principal because the principal “dbo” does not exist, this type of principal cannot be impersonated, or you do not have permission. Eu já tinha recebido essa mensagem de erro outras vezes em outros clientes e a solução está relacionada sempre ao usuário que é o owner do banco de dados do servidor. Normalmente o owner não consegue ser encontrado no servidor porque o SQL não consegue mapear o SID do owner no banco de dados. Como esse servidor tinha sido recentemente migrado do SQL Server 2000 para o SQL Server 2014, imaginei que o problema estava totalmente relacionado a esta migração, já que ela foi feita side-by-side e não in place.

Finalizando, a solução foi simples, bastando atribuir um usuário válido como owner do banco de dados com o comando sp_changedbowner conforme recomendado por este KB 913423 no site da Microsoft.

Depois disso, ficou fácil… CDC habilitado com sucesso!!

CDC2

Até a próxima!

#SQLSaturday 325 – São Paulo

Tags

, , , ,

No próximo dia 27/09/2014 será realizado em São Paulo o evento de número #325 do SQL Saturday. O evento será realizado na UNIP do Tatuapé e já conta com mais de 800 inscritos. Serão 5 trilhas simultâneas com até 8 sessões em cada trilha, totalizando quase 40 palestras ao todo. A minha palestra será Tudo o que você queria saber sobre licenciamento do SQL Server mas não tinha para quem perguntar!

Os registros até o momento mostram profissionais de SQL Server de 13 estados brasileiros, sem contar que tem gente de outros países inscritos também. Será sem dúvida um grande evento onde você poderá interagir e trocar experiências com muitos profissionais da área.

O evento também contará com um Community Lounge com alguns Flip Charts onde vocês poderão trocar idéias e tirar dúvidas com os palestrantes e a galera presente no evento.

Vale ressaltar que neste evento não haverá intervalo para almoço, em compensação, haverá 2 intervalos de Coffee-Break de 30 minutos, o primeiro as 11h30 da manhã e o outro as 15h00 da tarde.

Outro ponto importante, embora não seja obrigatório o evento também estará arrecadando alimentos não perecíveis para doar em creches e asilos. Portanto, caso você possa, não deixe de participar também desta ação de solidariedade levando 1KG de algum alimento!

Abraços e nos vemos lá!
Roberto Fonseca