Por padrão o SQL Server 2008 Management Studio vem configurado para não ter a mudança de uma tabela usando o modo “designer” sem que apague-a e re-crie novamente; sinceramente não sei porque, mas existe. O que acontece é o seguinte:
SELECT * FROM Busca_de_Conhecimento WHERE Tema LIKE '% Banco de Dados %' or Tema LIKE '% Assuntos relacionados%'
sexta-feira, 12 de abril de 2013
quarta-feira, 13 de março de 2013
Alteração de idioma no SQL Server
- Para mostrar o idioma da sessão atual:
Select @@langid, @@language- Duas opções para mostrar os idiomas disponíveis:
Select * From sys.syslanguages
Exec sp_helplanguage- Sintaxe para alterar o idioma somente da sessão atual:
Set Language 'idioma'
Exemplo:
Declare @Data DateTime
Set @Data = '10/15/2011'Set Language 'Italian'
Select DateName(Month, @Data) as 'Mês'Set Language 'us_english'Select DateName(Month, @Data) as 'Mês'go
- Para verificar o idioma definido para um login (no exemplo, sa):
Select language From sys.syslogins Where sid = SUSER_ID('sa')- Para mudar o idioma de um login (também pode ser feito pela interface gráfica: botão direito sobre o login e clicar em “Propriedades”):
-- Mudando o idioma do login para português
Exec sp_defaultlanguage 'sa', 'Português (Brasil)'
Reconfigure -- "Atualiza" a modificação realizada-- Mudando novamente, para inglês
Exec sp_defaultlanguage 'sa', 'us_english'
Reconfigure- Para mudar o idioma padrão dos novos logins (utilizando a procedure sp_Configure):
-- Mudando o idioma padrão do servidor para 5 (espanhol)Exec sp_configure 'default language', 5
Reconfiguresegunda-feira, 11 de março de 2013
Instância do SQL Server
Verificar se um banco de dados existe em um servidor SQL Server é uma tarefa simples quando se usa uma ferramenta gráfica ou assistente de conexão ao banco.
Porém, ao criar scripts mais complexos, pode ser necessário verificar manualmente se um banco de dados existe no servidor.
No SQL Server 2008, para cada banco de dados criado em uma instância, um novo registro na view de sistema sys.databases.
Assim, basta consultar esta tabela para realizar a tarefa desejada:
Veja o resultado:
Observe que através da view sys.databases pode-se obter diversas informações sobre as bases de dados de uma instância. Pode-se também usá-la para exibir uma lista dos bancos de dados do servidor.
Porém, ao criar scripts mais complexos, pode ser necessário verificar manualmente se um banco de dados existe no servidor.
No SQL Server 2008, para cada banco de dados criado em uma instância, um novo registro na view de sistema sys.databases.
Assim, basta consultar esta tabela para realizar a tarefa desejada:
SELECT * FROM sys.databases WHERE name = 'dbTest'
Veja o resultado:
Observe que através da view sys.databases pode-se obter diversas informações sobre as bases de dados de uma instância. Pode-se também usá-la para exibir uma lista dos bancos de dados do servidor.
Quem tem permissões de SA no SQL?
É muito comum termos que verificar quais são os usuários com permissão de SA no SQL Server para diminuir vulnerabilidade e são muitos cliques até chegar na server role, além de ter que gerar um print de tela. Com este script podemos verificar quem é SA e salvar em modo texto pra documentar ou utilizar em um email informando que os acessos serão revogados:
SELECT p.name AS [Name] ,r.type_desc,r.is_disabled,r.create_date , r.modify_date,r.default_database_name
FROM
sys.server_principals r
INNER JOIN sys.server_role_members m ON r.principal_id = m.role_principal_id
INNER JOIN sys.server_principals p ON
p.principal_id = m.member_principal_id
WHERE r.type = 'R' and r.name = N'sysadmin'
Veja o resultado, incluindo usuários do Windows e do SQL:
Encontrando usuários e suas sessões no SQL
Esta informação é muito útil quando vamos iniciar uma janela de manutenção ou quando queremos saber se há um aumento na quantidade de sessões por usuário. Podemos verificar quem está conectado no momento, avisar que o SQL vai parar e então iniciar aquela manutenção agendada.
De onde vem estas informações?
Estas informações são armazenadas nas DMVs (Dynamic Management Views), novidade na versão 2005 do SQL e mantida até as versões atuais.
Uma DMV é como uma View onde podemos armazenar o resultado de um Select.
Recomendo um select * from sys.dm_exec_sessions para ver o conteúdo completo desta DMV e a leitura do link abaixo para entender todos os resultados:
Caso queiram copiar o código:
SELECT login_name,
SELECT login_name,
COUNT(session_id) AS session_count
FROM sys.dm_exec_sessions
GROUP BY login_name;
Atalho para sp_who
Muitas vezes precisamos executar o sp_who para vermos quem está conectado não é verdade?
Listar todas as bases e data do último backup
Para saber quando foi feito o último backup de todas as bases da sua instância, este script do Pinal Dave resolve de forma simples e eficaz:
SELECT sdb.Name AS DatabaseName,COALESCE(CONVERT(VARCHAR(12), MAX(bus.backup_finish_date), 101),'-') AS LastBackUpTime
FROM sys.sysdatabases sdb
LEFT OUTER JOIN msdb.dbo.backupset bus ON bus.database_name = sdb.name
GROUP BY sdb.Name
LEFT OUTER JOIN msdb.dbo.backupset bus ON bus.database_name = sdb.name
GROUP BY sdb.Name
Veja o resultado:
Minha instância é nova e ainda não fiz nenhum backup. Agora vamos fazer um backup pra ver o resultado.
BACKUP DATABASE AdventureWorks2008R2 TO DISK = 'C:\teste.bkp'
Agora podemos ver que nossa base AdventureWorks2008R2 teve seu backup concluído com sucesso no dia 18/01/2013.
quinta-feira, 7 de março de 2013
Listar instâncias no servidor.
Como listar as instâncias intaladas no servidor.
Declare @tb_Instances Table (InstanceName NVarChar(255),
RegPath NVarChar(255))
Insert Into @tb_Instances
exec master..xp_regenumvalues
@rootkey = N'HKEY_LOCAL_MACHINE',
@key = N'SOFTWARE\\Microsoft\\Microsoft SQL Server\\Instance Names\\SQL'
Select * from @tb_Instances
Versão do SQLServer e Service Pack instalado.
Como descobrir a versão so SQL Server e tambem muito importante, a versão do Service Pack instalados.
SELECT SERVERPROPERTY('productversion') as Versão,
SERVERPROPERTY('productlevel')as [Service Pack],
SERVERPROPERTY('edition')as Edição
OuSELECT @@VERSION
segunda-feira, 4 de março de 2013
Instalando o Cliente de Telnet
1 - Efetue logon como administrador e digite o comando Dism /online /enable-feature /featurename:TelnetClient e pressione Enter. Será carregada a janela conforme mostra a figura 1.1.
Figura 1.1
Assinar:
Postagens (Atom)
