Sie sind auf Seite 1von 22

MANUAL INSTALAO MS-SQL 2008 E DICAS PARA MS-SQL SERVER Nesta tela o instalador faz a verificao dos pre

requisitos para a instalao.

Aqui se escolhe para qual finalidade do banco de dados para utilizao de banco de dados escolha o primeiro item.

Selecione os itens que deseja ter no banco de dados. E o caminho da instalao do programa.

Verificao pre instalao

Aqui voc escolhe o nome da instance do servidor, caso queira ter mais que uma instance reinicie a instalao e quando chegar aqui coloque o nome da nova instance ou aqui tambem voc pode alterar o nome padro da instance.

Aqui exibe a quantidade de espao que ser utilizado e o disponivel.

Selecione aqui o nome do usurio que ser utilizado para iniciar o banco de dados e se iniciar automaticamente ou manualmente.

CLICAR EM COLLATION Aqui voc seleciona o caracter set do banco ou linguagem. CI case insentive (na busca no importa se est em maiuscula ou minuscula a palavra procurada), AS accent sensitive (na busca no importa se est com acento ou sem acento a palavra procurada).

Exibe a opo configurada.

Neste ponto selecione o mixed authentication mode, pois desta forma voc poder conectar no banco utilizando o usurio do Windows ou um ussurio especifico criado na instance do banco de dados. J acrescente o grupo adminsitrador da mquina e se for rede AD acrescente o grupo domain admins.

ACERTAR OS DIRETRIOS Nesta parte voc pode deixar ja configurado os diretrios padres, por exemplo em qual lugar estar os arquivos de uma nova base criada ou o arquivo de log, arquivo de backup, etc.

Em caso de erro na isntalao pode enviar um relatrio do erro para a Microsoft.

Nova verificao da instalao

Exibe todas as configuraes selecionadas, para comear a instalao.

Se deu tudo certo esta ser a tela exibida.

SITES TEIS The following notes apply to this release of SQL Server only. Microsoft Update For information about how to use Microsoft Update to identify updates for SQL Server 2008 R2, see the Microsoft Update Web site at http://go.microsoft.com/fwlink/?LinkId=108409. Samples By default, sample databases and sample code are not installed as part of SQL Server Setup. To install sample databases and sample code for non-Express editions of SQL Server 2008 R2, see the CodePlex Web site at http://go.microsoft.com/fwlink/?LinkId=87843. To read about support for SQL Server sample databases and sample code for SQL Server Express, see Databases and Samples Overview on the CodePlex Web site at http://go.microsoft.com/fwlink/?LinkId=110391. Release Notes For more information about late-breaking changes in this release of SQL Server, see the latest readme file at http://go.microsoft.com/fwlink/?LinkId=141691. Documentation and Links To install the .NET Framework SDK, see Installing the .NET Framework SDK in SQL Server 2008 R2 Books Online at http://go.microsoft.com/fwlink/?LinkId=141693. For information about SQL Server 2008 R2 Surface Area Configuration, see the following SQL Server 2008 R2 documentation topics: In SQL Server 2008 R2 Books Online: Understanding Surface Area Configuration. In SQL Server 2008 R2 Setup Help: Minimize SQL Server 2008 R2 Surface Area. In SQL Server 2008 R2 Books Online on MSDN: Understanding Surface Area Configuration at http://go.microsoft.com/fwlink/?LinkId=141692.

LIBERAR ACESSO EXTERNO Para liberar no firewall o acesso a porta escolhida do MS-SQL server por padro a porta 1433. Clique em new rule

Escolha Port para liberar a porta do SQL Server.

Escolha TCP e especifique a porta a padro a 1433.

Selecione allow the connection, para poder acessar o SQL de outro micro.

Selecione quais as rede tero acesso. domain Dominio do AD, Private somente rede interna e public caso esteje conectado diretamente na internet a porta da placa de rede da internet tambm ser liberada.

Coloque o nome da regra do firewall.

No foi necessario isto a baixo, se estiver utilizando SQL Express necessrio liberar o acesso remoto ao SQL Express, que por padro vem bloqueado.

SEGUE ALGUMAS DICAS DE UTILIZAO DO SQL SERVER UTILIZE COM CUIDADO E POR CONTA E RISCO SEMPRE TENHA BACKUP
/* Adcionando ou removendo usuario dos grupos de sistema do MS-SQL Server use master EXEC sp_dropsrvrolemember 'NestleComBrWs', 'sysadmin' EXEC sp_addsrvrolemember 'NestleComBrWs', 'sysadmin' Fonte: http://msdn.microsoft.com/en-us/library/ms186320.aspx */ /* ver ms-versao do sql SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition') */ /* Permisses dos logins do MS-SQL SELECT [srvprin].[name] [server_principal], [srvprin].[type_desc] [principal_type], [srvperm].[permission_name], [srvperm].[state_desc] FROM [sys].[server_permissions] srvperm INNER JOIN [sys].[server_principals] srvprin ON [srvperm].[grantee_principal_id] = [srvprin].[principal_id] WHERE [srvprin].[type] IN ('S', 'U', 'G') ORDER BY [server_principal], [permission_name]; Fonte: http://www.mssqltips.com/tip.asp?tip=1714 ************************************ Lista as permisses dos usurios no servidor SELECT * FROM fn_my_permissions(NULL, 'SERVER'); ************************************ Lista as permisses dos usurios no database SELECT * FROM fn_my_permissions (NULL, 'DATABASE'); */ /* Explicar DBCC DROPCLEANBUFFERS http://pt.efreedom.com/Question/1-382122/Alguem-pode-explicar-DBCC-DROPCLEANBUFFERS Medio de desempenho de consulta: "execuo plano de consulta cost"vs"Time Taken" http://pt.efreedom.com/Question/1-564717/Medicao-de-desempenho-de-consulta-execucao-plano-deconsulta-costvsTime-Taken Eliminando o cache de memria no SQL Server http://pedrogalvaojunior.wordpress.com/2008/08/15/eliminando-o-cache-de-memoria-no-sql-server/ */

/* Permisso para executar DBCC FREEPROCCACHE Para executar o DBCC FREEPROCCACHE precisa dar a permisso de ALTER SERVER STATE. Dando a permisso GRANT ALTER SERVER STATE to [login] Tirando a permisso REVOKE ALTER SERVER STATE to [DADOSADV] No sei quais direitos este comando tem, para segurana verifiquem se isto mesmo que querem. */ /* --Setando o banco a ser utilizado USE master; */ /* Dicas de MS-SQL Server -- Erro ao criar usuario / login -- Error 15023 MS-SQL Server - Usurio ou regra j existente -- rodar pelo query analyzer sp_change_users_login 'auto_fix', 'usuario' */ /* -- Erro para desabilitar CHECK_POLICY, CHECK_EXPIRATION e MUST_CHANGE -- Para desabilitar "enforce password policy" rode os comandos a baixo. ALTER LOGIN NomeDoBanco WITH PASSWORD = 'SenhaNova'; ALTER LOGIN bancoaliancainternet WITH CHECK_POLICY=OFF, CHECK_EXPIRATION = OFF -- Depois pode voltar a senha. -- Fonte: http://www.lairdscomputer.com/Blog/tabid/62/EntryId/19/The-CHECK_POLICY-and--CHECK_EXPIRATION-options-cannot-be-turned-OFF-when-MUST_CHANGE-is-ON.aspx */ /* -- PEGA O RESULTADO DO QUE ESTIVER RODANDO NO ID DBCC INPUTBUFFER(id) */

/* -- Limpeza de banco - Limpa o Log MS-SQL Server fonte: http://social.technet.microsoft.com/Forums/pt-BR/sqlserver2005pt/thread/1879b1d2-2cd34e1a-b377-8b5aa47d4974 /****************************************************************************/ /* Este script vai limpar o logs de todos os bancos do servidor corrente. */ /* Apenas no ocorrer limpeza dos bancos do sistema. */ /* Acrescentei para fazer um shirink na base. */ /****************************************************************************/ USE master DECLARE @SQLString nvarchar(1000) -- acrescimo meu DECLARE @SQLString2 nvarchar(1000) -- fim DECLARE @database nvarchar(100) -- Declaro o cursor para os databases DECLARE cr1 CURSOR FOR -- here status not in (528, 66048) com isto este script no ir limpar o log e nem fazer o shirink das bases em off line SELECT name FROM sysdatabases WHERE status NOT IN (528, 66048,66056) ORDER BY name OPEN cr1 -- lendo o primeiro registro FETCH NEXT FROM cr1 INTO @database WHILE @@fetch_status <> -1 BEGIN -- seto a variavel para receber o comando para execuo /* set @SQLString = 'checkpoint backup log ' + @database + ' with truncate_only ' -- acrescimo meu set @SQLString2 = 'DBCC SHRINKdatabase (' + @database + ')' --fim --DBCC SHRINKdatabase (CentralOperacoes) */ SET @SQLString = 'checkpoint backup log ' + ltrim(RTRIM (@database)) + ' with truncate_only ' -- acrescimo meu SET @SQLString2 = 'DBCC SHRINKdatabase (' + ltrim(RTRIM (@database)) + ')' -- acrescimo meu PRINT @SQLString PRINT @SQLString2 --fim -- executo a limpeza do log do banco que esta o cursor EXEC sp_executesql @SQLString -- acrescimo meu EXEC sp_executesql @SQLString2 -- fim -- lendo o proximo registro FETCH NEXT FROM cr1

INTO @database END CLOSE cr1 DEALLOCATE cr1 GO */ /* -- Limpeza de banco - Limpa o Log MS-SQL Server dump tran dbname with truncate_only */ /* -- Diminir banco defrag -- limpar primeiro o LOG DBCC SHRINKdatabase ("banco") -- mostra o log de todos os bancos DBCC SQLPERF (LOGSPACE) */ /* -- Scripts para gerar script de limpeza e diminuio do banco set nocount on use master select 'dump tran "' + name + '" with truncate_only' from sysdatabases select 'DBCC SHRINKdatabase ("' + rtrim(name) + '")' from sysdatabases */ /* Certifique-se de que no existem transaces antigas, de execuo demorada ou no replicadas. Para o fazer, utilize um cdigo semelhante a: DBCC OPENTRAN (nome_da_base_de_dados) DBCC SQLPERF (LOGSPACE) para monitorizar a quantidade de espao utilizada. http://support.microsoft.com/kb/256650/pt */

/* -- Scripts para gerar script de limpeza e diminuio do banco set nocount on use master -- gera resultado para ver os tamanhos dos bancos select 'exec sp_helpdb ' + rtrim(name) + '' from sysdatabases order by name -- gera script para limpar os logs dos bancos select 'dump tran "' + name + '" with truncate_only' from sysdatabases -- gera script para diminuir o tamanho dos bancos select 'DBCC SHRINKdatabase ("' + rtrim(name) + '")' from sysdatabases -- gera script para diminuir o tamanho dos bancos com o nome doo banco entre '(banco)' select 'DBCC SHRINKDATABASE (' + rtrim(name) + ');' from sysdatabases order by name -- gera script para limpar somente o arquivo log de cada bancos select 'USE ' + NAME + '; DBCC SHRINKFILE (' + rtrim(name) + '_LOG,1);' from sysdatabases where dbid > 6 or name = 'tempdb' order by name */ /* -- verificar se o banco est em off line select * from sysdatabases order by name select * from sysdatabases where cmptlevel= 80 order by name select * from sysdatabases where cmptlevel= 90 order by name -- banco sql 2000 off line: status = 528 e cmptlevel=80 -- banco sql 2005 off line: status = 66048 e cmptlevel=80

select name from sysdatabases where cmptlevel= 90 order by name select name from sysdatabases where status = 528 order by name select name from sysdatabases where status = 66048 order by name select name, status, status2, cmptlevel from sysdatabases where status <> 528 or status = 66048 order by name select name, status, status2, cmptlevel from sysdatabases order by name */ /* -- Permitir trace no MS-SQL Server para fazer Debug pelo Profiller grant ALTER TRACE to [LOGIN] */ /* -- Cria linked Server no MS-SQL Server GRANT ALTER ANY LINKED SERVER to [LOGIN] -- Remove linked Server no MS-SQL Server revoke ALTER ANY LINKED SERVER to [LOGIN] */

/* -- Estes script permite localizar as maiores tabelas (tamanho) de uma base MS-SQL Server WITH RES AS( SELECT T.NAME As Tabela, Rows As Linhas, SUM(Total_Pages) * 8 As Reservado, SUM(Used_Pages) * 8 As Utilizado FROM sys.partitions As P INNER JOIN sys.allocation_units As A ON P.hobt_id = A.container_id INNER JOIN sys.tables T ON T.Object_ID = P.Object_ID GROUP BY T.NAME, Rows ) SELECT Tabela, Linhas, Reservados = CASE WHEN Reservado < 1024 THEN CAST(Reservado AS VARCHAR) + ' KB' ELSE CAST(CAST(Reservado /1024.0 AS DECIMAL(20,2)) AS VARCHAR) + ' MB' END, Utilizados = CASE WHEN Utilizado < 1024 THEN CAST(Utilizado AS VARCHAR) + ' KB' ELSE CAST(CAST(Utilizado /1024.0 AS DECIMAL(20,2)) AS VARCHAR) + ' MB' END FROM RES ORDER BY RES.Utilizado DESC */ /* -- Estes script permite localizar as maiores tabelas (tamanho) de uma base MS-SQL Server -- com menos informaes Select object_name(id),rowcnt,dpages*8 as [tamanho KB] from sysindexes where indid in (1,0) and objectproperty(id,'isusertable')=1 order by rowcnt desc */ /* -- Apaga dados tabela imediatamente. -- Cuidado apaga de uma vez SEM confirmao begin tran t1 Truncate table TABLELA -- commit tran t1 -- rollback tran t1 */ /* -- Para retirar uma base do ar, conecte-se no banco MASTER e digite os seguintes comandos: -- Code Snippet -- Para colocar uma base especfica em OFF LINE ALTER DATABASE SeuBanco SET OFFLINE WITH ROLLBACK IMMEDIATE -- Para colcoar uma base especfica em ON LINE ALTER DATABASE SeuBanco SET ONLINE -- SCRIPT Para gera uma base especfica select 'ALTER DATABASE ' + rtrim(name) + ' SET OFFLINE WITH ROLLBACK IMMEDIATE' from sysdatabases */

/* -- restore de diferencial -- voltar backup com a opcao norecover e votar com o comando abaixo o diferencial. RESTORE DATABASE [base] FROM DISK = N'C:\temp\base.bak' WITH FILE = 1 */ /* -- verifica collation MS-SQL SERVER http://www.sqlnewsgroups.net/group/microsoft.public.sqlserver.server/topic21538.aspx This is a collation - not really something you can install as such. If you mean you want the Server Collation to be set to "SQL_Latin1_General_CP1_CI_AS" then the option is there on the screen called "Collation Settings" when you do the SQL Server install. Select the option for SQL collations and "Dictionary order, case-insensitive, for use with 1252 Character set.". Cheers, Paul Ibison SQL Server MVP, www.replicationanswers.com. -- http://www.serverintellect.com/support/sqlserver/change-database-collation.aspx */ /* EXEC sp_helpsort SELECT SERVERPROPERTY ('Collation') EXEC sp_helpsort SELECT SERVERPROPERTY ('Collation') -- altera o collation de uma base ALTER DATABASE base COLLATE SQL_Latin1_General_CP1_CI_AS --collation */ /* SCRIPT DE RESTORE E BACKUP MS-SQL SERVER RESTORE DATABASE AdventureWorks FROM AdventureWorksBackups WITH NORECOVERY, MOVE 'AdventureWorks_Data' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\NewAdvWorks.mdf', MOVE 'AdventureWorks_Log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\NewAdvWorks.ldf' RESTORE LOG AdventureWorks FROM AdventureWorksBackups WITH RECOVERY --Restaurando o Backup Completo do Media Set 1 RESTORE DATABASE AdventureWorks FROM DISK = 'C:\Backup\P1.bak', DISK = 'C:\Backup\P2.bak', DISK = 'C:\Backup\P3.bak' WITH MEDIANAME = 'Nome_Conjunto_Mdia', FILE=1, NORECOVERY; --Restaurando o Backup Completo do Media Set 2 RESTORE DATABASE AdventureWorks FROM DISK = 'C:\Backup\P1.bak', DISK = 'C:\Backup\P2.bak', DISK = 'C:\Backup\P3.bak' WITH MEDIANAME = 'Nome_Conjunto_Mdia', FILE=2, RECOVERY; -RESTORE DATABASE ERP FROM ERPCompleto1 WITH NORECOVERY, MOVE 'AdventureWorks_Data' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\NewAdvWorks.mdf', MOVE 'AdventureWorks_Log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\NewAdvWorks.ldf'

RESTORE LOG AdventureWorks FROM AdventureWorksBackups WITH RECOVERY RESTORE LABELONLY FROM ERPCompleto1 WITH ????? RESTORE LABELONLY FROM DISK='C:\Backup\P1.bak' RESTORE LABELONLY FROM DISK='\\F5017\SimpressDB\ERPCompleto1' -RESTORE DATABASE AdventureWorks FROM DISK = '\\F5017\SimpressDB\ERPCompleto1', DISK = 'C:\Backup\P2.bak', DISK = 'C:\Backup\P3.bak' WITH MEDIANAME = 'Nome_Conjunto_Mdia', FILE=2, RECOVERY; ---RESTORE DATABASE [ERP] FROM DISK = N'\\F5017\SimpressDB\ERPCompleto1' WITH FILE = 1, NOUNLOAD, STATS = 10 GO RESTORE DATABASE [ERP] FROM DISK = N'\\F5017\SimpressDB\ERPCompleto1' WITH FILE = 1, NOUNLOAD, STATS = 10 GO RESTORE LABELONLY FROM DISK='\\F5017\SimpressDB\ERPCompleto1' RESTORE DATABASE ERP FROM DISK = N'Z:\ERPCompleto1' WITH NORECOVERY, MOVE 'ERP_Data' TO 'Y:\ERP.mdf', MOVE 'ERP_Log' TO 'Y:\ERP.ldf' */ /* Recriar arquivo de LOG MS-SQL vazio Para diminuir o arquivo de log que no diminui pelo mtodos normais de DBCC SHRINKDATABASE ou DBCC SIRINKFILE, faa o seguinte. - faa backup do banco e tenha certeza que o backup est ok; - limpe o arquivo de LOG; - faa um DETACH do banco - renomei, apague ou mova os arquivos de LOG para outro diretorio; - ATACH o banco pelo comando SP_ATTACH_DB, para anexar o banco, ai neste processo ele recriar o arquivo de LOG com tamanho minimo; EXEC sp_attach_db @dbname = 'NOME_DO_BANCO', @filename1 = 'CAMINHO_DO_ARQUIVO_DE_DADOS\NOME_DO_ARQUIVO_DE_DADOS.mdf' */