Eu quero pesquisa com distinção entre maiúsculas e minúsculas na consulta SQL. Mas por padrão, o MySQL não considera o caso das strings.
Alguma idéia de como fazer uma pesquisa com distinção entre maiúsculas e minúsculas na consulta SQL?
Hoje, após uma falha de energia, um banco de dados (com Recuperação: completo) mostra "Em Recuperação" no SSMS. Então:
myDatabase (Em recuperação) (status do banco de dados: recuperação, Desligamento)
Após terminar, no "processo de recuperação" o banco de dados mostra o nome myDatabase sem "(Em recuperação)". Achei que o problema estava resolvido, mas não.
Quando iniciei o aplicativo que usa esse banco de dados, o texto extra "(Em recuperação)" aparece novamente ao lado do nome do meu banco de dados.
Esperei até que o "processo de recuperação" terminasse e então coloquei o banco de dados offline e o coloquei novamente online.
Reiniciei o servidor, reiniciei o computador e quando meu aplicativo estava rodando o texto extra aparece novamente. Nos logs do SQL Server a mensagem "Iniciando o banco de dados 'myDatabase'" aparece algumas vezes. Parece que o banco de dados está funcionando porque consigo inserir dados, mas o estado está mostrando que algo acontece.
O log do servidor não está mostrando nada interessante. A única coisa anormal é que eu tenho 30 entradas de "Iniciando o banco de dados 'myDatabase'".
Eu sei que quando o servidor inicia todo banco de dados passa por recuperação antes de estar pronto para uso. Mas no meu caso, o banco de dados fica online e mostra "myDatabase (em recuperação)". Se eu fechar o aplicativo, o banco de dados vai para Status: Normal. Isto está me enlouquecendo.
Eu até instalei uma nova instância do SQL Server e coloquei o banco de dados antigo "myDatabase" nele. O problema ainda acontece.
Quando executo esta consulta:
SELECT databasepropertyex('nyDatabase', 'STATUS')
Ele mostra recuperando, online, suspeito e de volta para online e depois recuperando e assim por diante.
Instalei o PostgreSQL 9.1 no meu PC (Win 7). Eu tenho um pequeno aplicativo Java conectando-se com sucesso a ele com login=sa
e password=""
. A conexão funciona.
No entanto, é recusado pelo próprio PgAdmin III. Eu recebo:
Error connecting to the server: fe_sendauth: no password supplied
Como me conecto ao meu banco de dados do PgAdmin III com uma senha vazia?
EDITAR
Este é apenas um teste, não um código de produção.
Desejo modificar uma chave primária existente em uma tabela do SQL Azure.
Atualmente, tem uma coluna e desejo adicionar outra.
Agora, no SQL Server 2008 isso foi moleza, só fiz no SSMS, puf. Feito. É assim que o PK se parece se eu fizer o script do SQL Server:
ALTER TABLE [dbo].[Friend] ADD CONSTRAINT [PK_Friend] PRIMARY KEY CLUSTERED
(
[UserId] ASC,
[Id] ASC
)
No entanto, no SQL Azure, quando tento executar o acima, é claro que falhará:
Table 'Friend' already has a primary key defined on it.
Tudo bem, então eu tento largar a chave:
Tables without a clustered index are not supported in this version of SQL Server. Please create a clustered index and try again.
Ok, então tento criar um índice clusterizado temporário para descartar o PK:
CREATE CLUSTERED INDEX IX_Test ON [Friend] ([UserId],[Id])
O que resulta em:
Cannot create more than one clustered index on table 'Friend'. Drop the existing clustered index 'PK_Friend' before creating another.
Ótimo, um momento catch22.
Como adiciono a coluna UserId ao meu PK existente?
Eu tenho algumas tabelas que são particionadas e possuem vários índices em um escravo replicado. Depois de copiar o instantâneo (verificado seguro) para um novo escravo e atualizar o mysqld de 5.1.42 para 5.5.15 e reiniciar a replicação, estou recebendo falhas do InnoDB com a mensagem de erro "Ponteiro inválido ..."
Esses erros ocorreram em 2 servidores com hardware e sistema operacional diferentes. Depois de correr:
ALTER TABLE .... COALESCE PARTION n;
o problema desaparece para essa tabela.
Minha pergunta é maior em escopo, porém, e é "Como você identifica a corrupção da tabela InnoDB?" ou reformulado "Como você avalia a integridade da tabela InnoDB?" O "CHECK TABLE" é a única ferramenta disponível para identificar problemas pré-crash?
Não tenho certeza se isso importa, mas as falhas ocorreram executando: Versão: '5.5.15-55-log' socket: '/opt/mysql.sock' porta: 3306 Percona Server (GPL), Release rel21.0, Revisão 158
Mesmo a Microsoft desencoraja o uso do modo de autenticação do SQL Server , mas nossos aplicativos exigem isso.
Eu li que é uma prática recomendada não permitir que os usuários usem o sa
login diretamente, em vez disso, use a Autenticação do Windows e permita privilégios de administrador de sistema a essas contas (ou grupos de contas).
Este artigo da Microsoft - Como determinar o tamanho do arquivo de paginação apropriado para versões de 64 bits do Windows Server 2008 e/ou Windows 2008 R2 fornece orientações para calcular o tamanho do arquivo de paginação para Windows 2008 e Windows 2008R2 de 64 bits. Isso sem dúvida funciona bem para servidores de uso geral. Gostaria de saber qual é a orientação para o SQL Server 2008R2 em execução no Windows 2008/R2 de 64 bits?
Estou presumindo que queremos que os dados da memória atinjam o arquivo de paginação, caso contrário, o SQL pode atingir o disco duas vezes para obter dados. O SQL Server permite que dados na memória atinjam o arquivo de paginação? Eu procurei nos Manuais Online do SQL Server 2008 R2 para obter orientação, mas ainda não encontrei nenhuma menção ao uso do arquivo de paginação.
Aqui está um cenário de uso potencial: Dado um servidor físico com 64 GB de RAM, é necessário um arquivo de paginação para todos os 64 GB de RAM? Devemos prepará-lo para 96 GB de arquivo de paginação? Isso parece um pouco excessivo para um único arquivo. Eu sei que a sabedoria convencional tem sido que o Windows acopla o arquivo de paginação à memória na tentativa de facilitar a troca de aplicativos na RAM, mas isso é verdade? Um arquivo de paginação com menos de 64 GB prejudicará o desempenho aqui?
Eu terminei recentemente um projeto, durante o qual muitas tabelas de banco de dados foram criadas.
A maioria dessas tabelas contém lixo temporário e estou procurando uma maneira simples de listar todas essas tabelas.
Existe uma maneira de listar todas as tabelas de banco de dados classificadas de acordo com a data de criação?
Alguém pode explicar como o operador LIKE é implementado em sistemas de banco de dados atuais (por exemplo, MySQL ou Postgres)? ou me aponte para algumas referências que explicam isso?
A abordagem ingênua seria inspecionar cada registro, executando uma expressão regular ou correspondência parcial de string no campo de interesse, mas tenho a sensação (espero) de que esses sistemas façam algo mais inteligente.