Rodando MSSQL Server on Linux no Mac usando Docker
CENÁRIO:
Depois de instalar o .NET Core, agora fazer uns “programa” que lê uns arquivos… acessa banco de dados… Hum, acessar banco? Vamos instalar o SQL Server on Linux! 😀
Se você perdeu a parte do .NET Core, ta aqui:
https://thiagottss.com.br/2017/05/07/instalando-net-core-no-mac-usando-docker/
Me surpreendi com a facilidade e agilidade de utilizar os containers “prontos” no Docker. Muito bom mesmo.
https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-docker
Vamos lá!
Primeiro, vamos puxar a imagem no Docker Hub da Microsoft:
docker pull microsoft/mssql-server-linux
Agora, instalar/rodar o container:
docker run -e ‘ACCEPT_EULA=Y’ -e ‘SA_PASSWORD=<YourStrong!Passw0rd>’ -p 1433:1433 -d microsoft/mssql-server-linux
Pronto! Você já está com o MSSQL Server on Linux rodando no Docker.
Agora é conectar e rodar seus comandos no SQL Server. Utilize o Management Studio para conectar no SQL do Docker, ou se preferir, ainda no Mac, pode usar o sql-cli para conectar. Ou utilizar o Visual Studio Code também! J
Para instalar o sql-cli você precisa do Node.js:
https://github.com/creationix/nvm
Instalar o sql-cli:
npm install -g sql-cli
Com o sql-cli:
Mssql –help
mssql –u sa –p senha
Com o Visual Studio Code:
https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-develop-use-vscode
Abraço!
Devo aplicar Cumulative Updates (CU) assim que são disponibilizados?
CENÁRIO:
Essa é uma questão que sempre vem à tona e eu sempre perco o link com informações à respeito. Devo manter meu ambiente sempre o mais atualizado possível?
Para quem não está familiarizado, a Microsoft disponibiliza constantemente updates para seus produtos (que ainda estão no ciclo de suporte – normalmente 10 anos desde seu lançamento).
Nesses updates temos hotfixes, Cumulative Updates (pacote com vários hotfixes) e Service Packs (pacote maior ainda de vários hotfixes). A frequência de lançamento também segue essa hierarquia. Ou seja, são lançados vários hotfixes até que formem um Cumulative Update, e assim por diante.
ANÁLISE:
A Microsoft recomenda o seguinte:
https://msdn.microsoft.com/en-us/library/hh479746(v=sql.120).aspx – Installing Updates for SQL Server 2014 after it has already been installed
“On an installed instance of SQL Server 2014, we recommend that you apply the latest security updates and critical updates including General Distribution Releases (GDRs), and Service Packs (SPs). Individual Cumulative updates and security updates should be adopted on a case-by-case, "as-needed" basis. Evaluate the update, if it’s needed, then apply it. If not, assess the risk of applying or not.”
CONCLUSÃO:
O link mostra informação sobre o SQL Server, mas o mesmo se aplicar ao SharePoint Server e imagino que aos demais produtos Microsoft.
Cumulative Updates devem ser aplicados se necessário. Sua aplicação não deve seguir uma agenda “urgente” de implantação assim que são lançados.
Obviamente que quanto mais atualizado, melhor. Mas no mundo real a aplicação de patch’s não é tão simples em ambiente produtivo.
Como é um assunto que sempre gera bons diálogos. Qual a sua consideração sobre o assunto?
Eu procuro sempre estar no último Service Pack e aplico CU’s à medida da necessidade.
Abraço!
SQL Generic Error – Busca Nativa CRM
Cenário:
Ao realizar buscas no CRM, algumas telas trazem resultados, outras dão o erro SQL Generic Error (ao baixar o Arquivo de Log).
ERRO:
Generic SQL Error.
Mas ao investigar nos logs de Trace do CRM e EventViewer podemos notar referências ao SQL Generic Error com o erro abaixo:
“SQL Server encountered error 0x80070422 while communicating with full-text filter daemon host (FDHost) process. Make sure that the FDHost process is running. To re-start the FDHost process, run the sp_fulltext_service ‘restart_all_fdhosts’ command or restart the SQL Server instance.”
SOLUÇÃO:
Com isso observamos que o serviço “SQL Full-text Filter Daemon Launcher” estava parado, pois por padrão, o serviço vem configurado para ser “Manual”. Ou seja, se o serviço cair por algum motivo, ele não será iniciado automaticamente.
Para resolver o problema bastou iniciar o serviço “SQL Full-text Filter Daemon Launcher” e aguardar alguns minutos.
Se não resolver apenas iniciando o serviço, devemos executar um comando no SQL e talvez mandar reconstruir o catálogo.
EXEC sp_fulltext_service 'restart_all_fdhosts'
DatabaseName > Storage > Full Text Catalog > properties > Rebuild Catalog.
Abraço!
Bancos de Conteúdo do SharePoint em modo “Suspect”
Olá!
Cenário:
Do dia pra noite a Central Administration do meu SharePoint parou de funcionar. Ao acessar a url da minha Central Admin, estava mostrando página não encontrada (HTTP Error 404).
Verifiquei o IIS, e estava tudo funcionando. Serviço iniciado e os diretórios do IIS, até então, tudo normal. Então vamos verificar os serviços do SQL e seus respectivos bancos de conteúdo.
ERRO:
Para minha surpresa e constatação do problema, o banco da minha Central Administration estava em modo “Suspect”.
SOLUÇÃO:
Primeiro, certifique-se de realizar um backup/cópia dos arquivos do seu banco de conteúdo antes de realizar as tarefas a seguir, pois iremos realizar tarefas de manutenção na base que podem corromper a mesma.
Feito isso, realize os comandos abaixo no SQL Management Studio para realizar as tarefas de reparo na base.
Use master
–Verique se o banco de dados de conteúdo tem algum problema
EXEC sp_resetstatus "WSS_AdminContent"
–Altera o banco de contéudo para colocá-lo em modo "Emergência"
ALTER DATABASE "WSS_AdminContent" SET EMERGENCY
DBCC checkdb(‘WSS_AdminContent’)
–Coloque o banco de conteúdo em modo "Single User"
ALTER DATABASE "WSS_AdminContent" SET SINGLE_USER WITH ROLLBACK IMMEDIATE
–Inicia a tarefa de reparação no banco de conteúdo e permita perda de dados
DBCC CheckDB(‘WSS_AdminContent’,REPAIR_ALLOW_DATA_LOSS)
–Volte o banco de conteúdo para modo "Multi-User"
ALTER DATABASE "WSS_AdminContent" SET MULTI_USER
–Certifique-se que o banco de conteúdo foi resetado
EXEC sp_resetstatus ‘WSS_AdminContent’
Execute um iisreset caso necessário e acesse novamente a Central Administration.
Abraço!
Saving changes is not permitted
Olá!
Mais um post #madrugafeelings pra constar… rs
Cenário:
Sem fugir muito do ambiente “SharePointiano”, em alguns cenários precisamos manipular tabelas manualmente (claro! Não mexa, em hipótese alguma, nos bancos de dados do SharePoint!) por exemplo, para montarmos External Content Types (http://msdn.microsoft.com/en-us/library/ee556391.aspx), manipular indicadores com ETL e BI, usando tabelas diretamente no SQL para mostrar posteriormente no SharePoint usando PerformancePoint Services, etc… usamos o SQL Management Studio nessas operações.
E usando o SQL Management, ao necessitar atualizar a estrutura de uma tabela e/ou realizar operações que necessitam que as tabelas sejam excluídas (dropped) e recriadas. Mas NOSSA, vou precisar apagar minha tabela só pra aumentar a capacidade de uma coluna?!
NOTA: estamos falando de um ambiente de desenvolvimento. Não desabilite esse recurso de “proteção” em ambientes de produção.
ERRO:
Saving changes is not permitted. The changes you have made require the following tables to be dropped and re-created. You have either made changes to a table that can’t be re-created or enabled the option Prevent saving changes that require the table to be re-created.
SOLUÇÃO:
Felizmente podemos desabilitar esse recurso de proteção/segurança do SQL Management Studio e alterações simples irão funcionar perfeitamente! Claro, se você for realizar uma operação “catastrófica” na tabela, é bem possível que o SQL Management Studio deixe você realizar, mas pode ser que tenha “consequências” na operação realizada.
Para desabilitar esse alerta, e conseguir salvar a tabela sem precisar re-criá-la, faça o seguinte:
No SQL Management Studio, navegue até Tools > Options > expanda Designers > Table and Database Designers.
Limpe a caixa de seleção Prevent saving changes that require the table to be re-created.
Pronto! Agora pode salvar a tabela que o SQL Management Studio não irá mais reclamar.
É isso aí, até mais! J
Abraço!
The requested OLE DB provider Microsoft.Jet.OLEDB.4.0 is not registered — perhaps no 64-bit provider is available
Olá!
Cenário:
Automatizando alguns processos e/ou coletando informações de diversas fontes de dados para centralizar relatórios em um único ponto (SharePoint!) precisamos criar mecanismos de extração e carga das informações (ETL).
Na experiência deste post, precisei extrair as informações de banco de dados Access (.mdb) e jogar a informação em tabela no SQL.
Ao utilizar o provider nativo de acesso a fonte de dados Access e mandar rodar a extração me deparo com um erro.
ERRO:
The requested OLE DB provider Microsoft.Jet.OLEDB.4.0 is not registered — perhaps no 64-bit provider is available.
E de fato, como podemos ler, não existe a versão deste provider para plataforma 64 bits: http://support.microsoft.com/kb/957570.
SOLUÇÃO:
Para resolver o problema forcei o pacote do SQL Server Integration Services (SSIS) rodar como 32 bits, tanto no Business Intelligence Management Studio (BIMS) quanto no Timer no SQL Server Agent.
No BIMS, nas propriedades de configuração do projeto:
No Job do SQL Server Agent:
Abraço!
Como saber versão do SQL Server rodando?
Olá!
Overview:
Algumas vezes precisamos saber qual é a versão do SQL Server rodando no ambiente para confrontar problemas de compatibilidade, etc.
Um exemplo que precisamos saber dessa informação, é para o famoso erro ao restaurar um backup no SharePoint: “Your backup is from a different version of Microsoft SharePoint Foundation”.
Outros fatores podem estar envolvidos também, como versão do SharePoint e hotfix’s. Mas aqui vou mostrar como saber a versão do SQL Server.
SOLUÇÃO:
Abra o Management Studio, clique eu New Query e faça a seguinte pesquisa:
SELECT SERVERPROPERTY(‘productversion’), SERVERPROPERTY (‘productlevel’), SERVERPROPERTY (‘edition’)
Execute e terá um resultado similar ao abaixo:
Ou execute esta outra pesquisa:
SELECT @@VERSION
E para saber qual versão é o que:
SQL Server 2008 R2 |
||
10.5.1753.0 |
20 Dec 2010 |
|
10.5.1746.0 |
18 Oct 2010 |
|
10.5.1734.0 |
17 Aug 2010 |
|
10.5.1720.0 |
25 Jun 2010 |
|
10.5.1702.0 |
18 May 2010 |
|
10.5.1660.1 |
SQL Server 2008 R2 RTM |
12 Apr 2010 |
SQL Server 2008 |
||
10.00.4266 |
15 Nov 2010 |
|
10.00.4000 |
29 Sep 2010 |
|
10.00.2804 |
15 Nov 2010 |
|
10.00.2799 |
21 Sep 2010 |
|
10.00.2789 |
19 Jul 2010 |
|
10.00.2775 |
17 May 2010 |
|
10.00.2766 |
15 Mar 2010 |
|
10.00.2757 |
18 Jan 2010 |
|
10.00.2746 |
24 Nov 2009 |
|
10.00.2734 |
22 Sep 2009 |
|
10.00.2723 |
21 Jul 2009 |
|
10.00.2714 |
18 May 2009 |
|
10.00.2710 |
16 Apr 2009 |
|
10.00.2531 |
7 Apr 2009 |
|
10.00.1835 |
15 Mar 2010 |
|
10.00.1828 |
18 Jan 2009 |
|
10.00.1823 |
16 Nov 2009 |
|
10.00.1818 |
21 Sep 2009 |
|
10.00.1812 |
21 Jul 2009 |
|
10.00.1806 |
18 May 2009 |
|
10.00.1798 |
17 Mar 2009 |
|
10.00.1787 |
19 Jan 2009 |
|
10.00.1779 |
17 Nov 2008 |
|
10.00.1763 |
22 Sep 2008 |
|
10.00.1600 |
SQL Server 2008 RTM |
6 Aug 2008 |
SQL Server 2005 |
||
9.00.5254 |
20 Dec 2010 |
|
9.00.5000 |
17 Dec 2010 |
|
9.00.4315 |
20 Dec 2010 |
|
9.00.4311 |
18 Oct 2010 |
|
9.00.4309 |
17 Aug 2010 |
|
9.00.4305 |
23 Jun 2010 |
|
9.00.4294 |
19 Apr 2010 |
|
9.00.4285 |
16 Feb 2010 |
|
9.00.4273 |
21 Dec 2009 |
|
9.00.4266 |
19 Oct 2009 |
|
9.00.4230 |
17 Aug 2009 |
|
9.00.4226 |
16 Jun 2009 |
|
9.00.4220 |
21 Apr 2009 |
|
9.00.4211 |
17 Feb 2009 |
|
9.00.4207 |
20 Dec 2008 |
|
9.00.4053 |
13 Oct 2009 |
|
9.00.4035 |
16 Dec 2008 |
|
9.00.3356 |
21 Dec 2009 |
|
9.00.3355 |
19 Oct 2009 |
|
9.00.3330 |
18 Aug 2009 |
|
9.00.3328 |
16 Jun 2009 |
|
9.00.3325 |
21 Apr 2009 |
|
9.00.3315 |
17 Feb 2009 |
|
9.00.3310 |
10 Feb 2009 |
|
9.00.3301 |
SQL Server 2005 SP2 CU11 |
15 Dec 2008 |
9.00.3294 |
20 Oct 2008 |
|
9.00.3282 |
18 Aug 2008 |
|
9.00.3257 |
16 Jun 2008 |
|
9.00.3239 |
14 Apr 2008 |
|
9.00.3233 |
SQL Server 2005 QFE Security Hotfix |
8 Jul 2008 |
9.00.3228 |
18 Feb 2008 |
|
9.00.3215 |
17 Dec 2007 |
|
9.00.3200 |
15 Oct 2007 |
|
9.00.3186 |
20 Aug 2007 |
|
9.00.3175 |
28 Jun 2007 |
|
9.00.3161 |
SQL Server 2005 SP2 CU1 |
15 Apr 2007 |
9.00.3152 |
7 Mar 2007 |
|
9.00.3077 |
10 Feb 2009 |
|
9.00.3054 |
5 Apr 2007 |
|
9.00.3042.01 |
5 Mar 2007 |
|
9.00.3042 |
SQL Server 2005 SP2 |
1 Feb 2007 |
9.00.2047 |
SQL Server 2005 SP1 |
|
9.00.1399 |
SQL Server 2005 RTM |
1 Nov 2005 |
SQL Server 2000 |
||
8.00.2039 |
SQL Server 2000 SP4 |
|
8.00.0760 |
SQL Server 2000 SP3 |
|
8.00.0534 |
SQL Server 2000 SP2 |
|
8.00.0384 |
SQL Server 2000 SP1 |
|
8.00.0194 |
SQL Server 2000 RTM |
|
SQL Server 7 |
||
7.00.1063 |
SQL Server 7 SP4 |
|
7.00.0961 |
SQL Server 7 SP3 |
15 Dec 2000 |
7.00.0842 |
SQL Server 7 SP2 |
20 Mar 2000 |
7.00.0699 |
SQL Server 7 SP1 |
15 Jul 1999 |
7.00.0623 |
SQL Server 7 RTM |
|
SQL Server 6.5 |
||
6.50.416 |
SQL Server 6.5 SP5a |
|
6.50.415 |
SQL Server 6.5 SP5 |
|
6.50.281 |
SQL Server 6.5 SP4 |
|
6.50.258 |
SQL Server 6.5 SP3 |
|
6.50.240 |
SQL Server 6.5 SP2 |
|
6.50.213 |
SQL Server 6.5 SP1 |
|
6.50.201 |
SQL Server 6.5 RTM |
Abraço!
Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
Olá!
Overview:
Constantemente instalamos softwares em nossas máquinas de desenvolvimento, mas, e quando isso interfere em outros programas já instalados?
Cenário:
Foi o que aconteceu dessa vez. Instalei o SharePoint Designer 2010, e, para minha surpresa, corrompeu meu SQL Server Business Intelligence Development Studio e o SQL Server Management Studio.
ERRO:
Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)). Ao acessar o cube Browser tanto no SQL Server Business Intelligence Development Studio quanto no SQL Server Management Studio.
Pelo erro, após algumas pesquisas, é algo relacionado ao Office Web Components. Então, para resolver, vamos re-instalar o componente.
SOLUÇÃO:
Para resolver o problema, vá até Adicionar e Remover Programas, e mande reparar o componente.
Caso você não possua o componente instalado diretamente. Como é o meu caso, ele foi instalado como parte de outro software.
Então, faça download do Office 2003 Add-in: Office Web Components (http://www.microsoft.com/downloads/en/details.aspx?FamilyID=7287252c-402e-4f72-97a5-e0fd290d4b76&DisplayLang=en) e instale-o.
Pronto, resolvido!
Abraço!
Index was outside the bounds of the array – Script Component
Olá!
Overview:
Um troubleshooting bem rápido… uma tip!
ERRO:
Index was outside the bounds of the array. Esse é o erro que estava encontrando ao mandar rodar meu pacote no SSIS.
O engraçado, é que eu tinha 8 scripts que faziam a mesma coisa para fontes diferentes. 3 funcionavam e o resto não.
SOLUÇÃO:
Para solucionar, eu abri o Script, dei Build, fechei e mandei rodar. Perfeito! Funcionando!
Então… fica a dica: Build!
Talvez esse link possa ajudar também:
Abraço!
Artigos relacionados:
Microsoft SharePoint server 2010 encountered an error during setup. One or more required office components failed to complete successfully
Olá!
Overview:
Acidentalmente, fiz um uninstall do meu ambiente de desenvolvimento. Fui desinstalar componentes do Office BETA para poder instalar a versão final do Office 2010, e acabei clicando em desinstalar, no meu SharePoint 2010 Server! Dammit!
Bom, depois chorar o leite derramado, vamos ao que interessa! Office 2010 versão final instalada, e partimos para subir o ambiente de desenvolvimento para SharePoint 2010 novamente!
Mas… como não poderia ser diferente… alguns probleminhas no caminho…
Como instalar o SharePoint em ambiente de desenvolvimento no Windows 7? Veja: http://www.canalsharepoint.com.br/tutoriais/Tutoriais/Instalando%20o%20SharePoint%202010%20no%20Windows%207.aspx
ERRO:
Microsoft SharePoint server 2010 encountered an error during setup. One or more required office components failed to complete successfully.
SOLUÇÃO:
O erro por si só, muito genérico. Então, vamos o log do setup (C:\Users\<user>\AppData\Local\Temp), o nome do arquivo é parecido com este “SharePoint Server Setup(201011022002371088).log”, onde a informação entre parenteses é a data e hora do erro.
Neste arquivo, encontrei o seguinte erro:
“Error: Command: ‘C:\Program Files\Common Files\Microsoft Shared\SERVER14\Server Setup Controller\dbwrap.exe’ failed with error code: -2067919934. Type: 8::CommandFailed.”
Também um erro um pouco genérico, mas com um pouco de pesquisa, descobri que dbwrap.exe está relacionado com SQL Server. Por tanto, fui aos logs do SQL Server (C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log) e entrei na pasta onde a data e horário batiam com o log do setup do SharePoint (pasta “20101102_200434”). Nesta pasta, abri o arquivo “Detail_GlobalRules.txt” e encontrei o seguinte:
2010-11-02 20:05:03 Slp: Exception type: Microsoft.SqlServer.Configuration.RulesEngineExtension.RulesEngineRuleFailureException
2010-11-02 20:05:03 Slp: Message:
2010-11-02 20:05:03 Slp: A computer restart is required. You must restart this computer before installing SQL Server.
Mas eu já havia reiniciado o computador inúmeras vezes. Então, após mais algumas buscas, descobri que a instalação do SQL Server (stardada pela instalação do SharePoint) verificava um registro do Windows para validar se o computador tinha pendências! Eis aqui o registro:
NOTA: Sempre faça um Backup do seu registro, antes de fazer alguma alteração!
“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\”, neste local, clique duas vezes sobre PendingFileRenameOperations. Apague o Value deste registro, e rode novamente o setup do SharePoint! Sem reiniciar (pode ser que algum programa esteja escrevendo neste registro quando o Windows inicia).
Sucesso!
Espero que este post seja tão útil quanto foi pra mim!