Duas coisas que gostaria de saber:
- como você move o tempdb com segurança com o mínimo de tempo de inatividade?
- quantos arquivos tempdb você precisa?
É 1 arquivo por núcleo? Então quad-core = 4 arquivos tempdb, criando três novos?
Duas coisas que gostaria de saber:
É 1 arquivo por núcleo? Então quad-core = 4 arquivos tempdb, criando três novos?
Existe uma maneira de suprimir temporariamente o preenchimento automático do SQL Server Management Studio ao digitar uma consulta? Eu não quero desabilitar completamente o preenchimento automático, apenas diga mantenha pressionada alguma tecla enquanto digita uma palavra específica para que ela não atrapalhe.
Por exemplo, digamos que eu tenha a seguinte consulta
SELECT Foo, Foo2 FROM SomeTable
À medida que digito Foo
e pressiono a barra de espaço, o preenchimento automático do SQL Server Management Studio é ativado e concluído Foo
para FooBar
.
Estou tentando configurar um banco de dados PostgreSQL em uma máquina Ubuntu. Eu gostaria de poder acessá-lo usando pgAdmin3 de uma máquina remota. Como configuro isso?
Eu instalei o banco de dados PostgreSQL no Ubuntu usando:
sudo apt-get install postgresql
No meu /etc/postgresql/9.1/main/pg_hba.conf
tenho esta linha:
host all all all password
portanto, ele deve aceitar conexões de todos os endereços IPv4 e as senhas devem ser enviadas em texto não criptografado (isso é por motivos de desenvolvimento).
Se eu executar este comando para ver quais serviços estão sendo executados:
sudo netstat -tulpn
Eu posso ver estas linhas, que estão mostrando que o PostgreSQL está aceitando conexões na porta padrão:
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN
3561/postgres
Quando tento me conectar a este servidor PostgreSQL de um computador remoto na mesma rede local, recebo esta mensagem de erro:
Servidor não escuta
O servidor não aceita conexões: a biblioteca de conexões relata
não foi possível conectar ao servidor: Conexão recusada O servidor está sendo executado no host "10.0.1.7" e aceita conexões TCP/IP na porta 5432?
Eu usei postgres
como nome de usuário e sem senha. Mas eu também tentei com postgres
como senha. No servidor local eu posso fazer login usando:
sudo -u postgres psql postgres
Como posso me conectar a um banco de dados PostgreSQL em execução no Ubuntu a partir de uma máquina remota usando o pgAdmin3?
Dado que o otimizador não pode levar todo o tempo necessário (tem que minimizar o tempo de execução e não contribuir para isso) para explorar todos os planos de execução possíveis, às vezes ele é interrompido.
Eu queria saber se isso pode ser substituído para que você possa dar ao otimizador todo o tempo necessário (ou uma certa quantidade de milissegundos).
Não preciso disso (atm), mas posso imaginar um cenário em que uma consulta complexa é executada em um loop apertado e você deseja criar o plano ideal e armazená-lo em cache com antecedência.
Claro que você tem um loop apertado, você deve reescrever a consulta para que ela desapareça, mas tenha paciência comigo.
Esta é mais uma pergunta por curiosidade e também para ver se às vezes há diferença entre uma otimização em curto-circuito e uma completa.
Acontece que você pode dar ao otimizador mais tempo com o sinalizador de rastreamento 2301. Não é exatamente o que eu estava perguntando, mas chega perto.
A melhor informação que encontrei sobre isso está em Query Processor Modeling Extensions in SQL Server 2005 SP1 por Ian Jose.
Use este sinalizador de rastreamento com cuidado! Mas pode ser útil ao criar planos melhores. Veja também:
Eu estava pensando em consultas com muitas junções onde o espaço de solução para ordem de junção explode exponencialmente. As heurísticas que o SQL Server usa são muito boas, mas eu queria saber se o otimizador proporia uma ordem diferente se tivesse mais tempo (no intervalo de segundos ou até minutos).
Eu tinha uma consulta (para Postgres e Informix) com uma NOT IN
cláusula contendo uma subconsulta que em alguns casos retornava NULL
valores, fazendo com que aquela cláusula (e toda a consulta) não retornasse nada.
Qual é a melhor maneira de entender isso? Eu pensei NULL
em algo sem valor e, portanto, não esperava que a consulta falhasse, mas obviamente essa não é a maneira correta de pensar em NULL
.
A pergunta:
SELECT
name AS TableName,
create_date AS CreatedDate,
modify_date as ModifyDate
FROM sys.tables
order by ModifyDate;
...me dirá a última vez que uma tabela foi criada e modificada (de uma perspectiva DDL). Mas eu quero saber a última vez que os dados reais foram inseridos ou removidos da tabela. É possível obter isso no SQL Server?
Eu não tinha certeza se mudar a lista ENUM() não é possível, então fiz um teste. No MySQL v5.1.58 fiz uma tabela InnoDB de teste que contém um campo chamado 'bool' do tipo ENUM('yes', 'no').
Então eu executei...
ALTER TABLE `test`
CHANGE `bool` `bool` ENUM( 'yes', 'no', 'maybe' )
CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL
...e funcionou.
Será que fiz algo errado? É dependente do motor db? Por que todo mundo diz que mudar uma lista ENUM() não é possível? por exemplo. aqui http://komlenic.com/244/8-reasons-why-mysqls-enum-data-type-is-evil/
Atualmente estou experimentando um pouco com PL/pgSQL e quero saber se existe uma maneira mais elegante de fazer algo assim:
select c.data into data from doc c where c.doc_id = id and c.group_cur > group_cur order by c.id desc limit 1;
EXCEPTION
WHEN NO_DATA_FOUND THEN
select c.data into data from doc c where c.doc_id = id and c.global_cur > global_cur order by c.id desc limit 1;
EXCEPTION
WHEN NO_DATA_FOUND THEN
RETURN NULL;
A partir disso e disso , acho que não há exceções de sistema nomeadas predefinidas para ORA-00955.
Como posso reescrever o seguinte para capturar apenas o erro ORA-00955?
begin
EXECUTE IMMEDIATE 'CREATE SEQUENCE S_TEST START WITH 1 INCREMENT BY 1';
exception when OTHERS then
Null;
end;
BTW Existe alguma sintaxe para detectar erros apenas fornecendo os códigos de erro?
Quando executo o comando EXPLAIN ANALYZE em uma determinada consulta, estou tendo dificuldade em interpretar o valor de tempo de saída. Por exemplo (tempo real=8163.890..8163.893). Os decimais internos representam caracteres repetidos? Desculpe, esta pode ser uma pergunta noobish, mas quero ter certeza de que estou interpretando os resultados corretamente.
-> GroupAggregate (cost=2928781.21..2929243.02 rows=1 width=27712) (actual time=8163.890..8163.893 rows=1 loops=1)