Principais considerações ao passar da programação do MS Access para o SQL Server

8

Eu sou um programador 100% autodidata do MS Access (a parte principal do meu trabalho é programação), agora estou construindo bancos de dados maiores; ainda usando o MS Access como interface do usuário, mas o SQL Server para armazenar todos os dados e fazer mais do 'trabalho'.

Em essência, minha pergunta é; que assuntos preciso saber para o SQL Server que provavelmente não aprendi ou preciso ao usar o Access?

Não estou procurando por você para me dizer como fazer qualquer coisa, mais o que você acha que são as coisas mais importantes que eu deveria fazer uma pesquisa - há muitos assuntos e muitos detalhes, não quero me encontrar por muito tempo caminho por um caminho menos valioso ...

Despejo cerebral:

  • Manutenção: o que é mais importante (verifique o banco de dados, reduza o banco de dados, atualize as estatísticas, reconstrua etc.)
  • Índices - Eu não sei o quanto deveria, existe um bom livro / blog etc que possa me ensinar o básico para cima?
  • Qualquer outra coisa que eu tenha perdido (provavelmente há muitas, como eu disse que sou novo no SQL Server ...)

Se ajudar, eu trabalho para um varejista de médio porte e os bancos de dados em que trabalho predominantemente abrangem coisas como

  • Plataforma de relatórios (resume vendas / recebimentos / inventário etc. do sistema principal e fornece relatórios rápidos)
  • Uma ferramenta de reconciliação entre uma terceira parte e o que nossas lojas colocam nos registros (importa dados de terceiros e faz referência cruzada aos logs de transações)
  • Armazena todos os dados relacionados às nossas promoções; produto, preços, projeções, resultados reais, etc.
Simon1979
fonte
Por que o SQl Server 2005? É um pouco antigo, com três versões principais por trás.
Marian
É o que atualmente instalamos no meu trabalho e, como sou o único que realmente o usa, terei de demonstrar qual valor posso acrescentar antes que eles sejam atualizados.
Simon1979
@ Simon1979 Um dos valores é ter um caminho de atualização simples. No SQL Server 2012, você pode restaurar o backup do banco de dados do SQL Server 2005, mas não da versão anterior (SQL Server 2000). Talvez que a próxima versão do SQL Server não permitirá que você para restaurar o backup DB do SQL Server 2005. E restaurar um backup é um dos maneira mais fácil de transferir dados de diferentes servidores
Max

Respostas:

4

À medida que você aprende mais sobre o SQL Server, você descobrirá (para sua satisfação) várias coisas que você pode fazer no SQL Server no nível do banco de dados que você anteriormente tinha que fazer no Access no nível do aplicativo. Alguns exemplos incluem:

Disparadores: Procedimentos definidos no nível da tabela para que as coisas aconteçam automaticamente sempre que houver um INSERT / UPDATE / DELETE na tabela.

Procedimentos armazenados: Um pouco semelhante às macros do Access e aos pequenos procedimentos do VBA que Subvocê criou no Access para fazer "coisas úteis", exceto que no SQL Server eles fazem parte do próprio banco de dados. Portanto, você pode escrever um Stored Procedure (SP) uma vez e usá-lo (quase) em qualquer lugar, mesmo em aplicativos que compartilham o mesmo banco de dados.

Funções: são um pouco análogas aos pequenos VBAs que Functionvocê escreveu no Access para incorporar às consultas, exceto que as Funções do SQL Server, como SPs, estão mais fortemente vinculadas ao banco de dados. As funções do SQL Server também podem ser com valor escalar (retornar um único valor escalar) ou com valor de tabela (retornar um conjunto de linhas).

Truques divertidos do SQL:muitos recursos SQL disponíveis no SQL Server que não são suportados no SQL do Access (Jet / ACE). "Common Table Expressions" (CTEs) e " RANKe PARTITION" são as que me deram "'aha' momentos" quando eu estava começando.

Eu poderia continuar, mas essas são as coisas que lembro de descobrir desde cedo que me fizeram "pensar no SQL Server".

Não me interpretem mal, eu ainda acho que o Access é uma excelente ferramenta quando usada adequadamente e deve ser levada em consideração seriamente como forma de

  • criar (ou apenas simular) aplicativos front-end em um back-end do SQL Server e

  • limpe os dados, crie consultas e relatórios ad-hoc e execute tarefas semelhantes nos dados do SQL Server.

Por fim, mesmo que você esteja trabalhando com o SQL Server 2005, recomendo que você obtenha uma cópia do SQL Server 2008 (ou 2012) Express para aprender , principalmente devido aos aprimoramentos de IDE no SQL Server Management Studio (a conclusão automática e depuração interativa). Esteja ciente de quaisquer recursos mais recentes (2008+) que você possa encontrar e não confie neles para o seu código de produção. (Ou use-os como pontos de referência para sua apresentação para atualizar do SQL Server 2005 ....)

Gord Thompson
fonte
4

Há muito o que aprender ... online ou através de livros. Aqui estão alguns primeiros links para você começar (lista muito incompleta, mas deve mantê-lo ocupado por um tempo):

Fóruns

Blogs

Livros

KookieMonster
fonte
3

Tendo usado o SQL Server há alguns anos (e antes desse Access), sugiro o seguinte.

  1. Backup e restauração - você não está mais fazendo uma cópia de um arquivo para fazer backup do banco de dados, dependendo de suas necessidades (tamanho, você precisa de restaurações de última hora, etc.) para fazer backup e restaurar um banco de dados. Você não é nada sem seus dados!
  2. Assista aos vídeos de Brent Ozar: http://www.youtube.com/brentozar - o cara é uma lenda do SQL Server. Ele é voltado mais para o lado técnico, mas também existem bons vídeos para iniciantes. Eu aprendi muito com eles (mesmo que o assunto seja bastante seco!)
  3. Manutenção - Suponho que as necessidades sejam mínimas se o Access estiver bom até agora: a menos que você tenha muito processamento, muitos dados (10 GB +) ou consultas complexas, é possível executar o SQL Server com satisfação, sem precisar fazer manutenção por meses sem problemas. A reindexação / reconstrução de índices (há uma diferença) é provavelmente a primeira coisa que você desejará usar se tiver muitos registros.
  4. Eu realmente recomendei as escadas no SQL Server Central http://www.sqlservercentral.com/stairway/ - elas são ótimas introduções aos tipos de índice, tipos de dados (eles diferem bastante do Access!)
  5. Se você está preocupado que seu banco de dados não esteja em condições excelentes, tente o procedimento armazenado sp_blitz de Brent Ozar (Google - preciso de mais reputação para postar um link extra!) - ele verifica muitas estatísticas / parâmetros do banco de dados, fornece um lista priorizada do que precisa ser feito com links para o site para oferecer uma discussão mais aprofundada.

Comecei a trabalhar com o SQL Server Reporting recentemente, mas pode ser um pouco complicado de configurar - na maioria dos casos de negócios, obter o Excel para recuperar dados de um Procedimento Armazenado do SQL Server geralmente é mais flexível para os gerentes.

Espero que isso ajude, seja bem-vindo a bordo :)

Greg Robson
fonte
2

Para qualquer pessoa que comece com o SQL Server, recomendo começar aprendendo os blocos de construção básicos primeiro, antes de entrar no assunto do tipo DBA.

  1. Tipos básicos e funções de diferentes objetos SQL (tabelas, chaves, visualizações, procedimentos armazenados, funções definidas pelo usuário, gatilhos)
  2. Escrevendo T-SQL básico, DML e DDL

Depois de ter resolvido isso e poder trabalhar no SQL Server sem precisar usar o MS Access, principalmente usando os tipos T-SQL, você poderá aprender mais sobre as tarefas básicas do tipo DBA, como:

  1. Restauração de backup

  2. Manutenção

  3. Administração

Os sites MSDN e Aprendizado da Microsoft terão lições e tutoriais muito úteis para você. Entendo que nem sempre é claro por onde começar, mas se você seguir aproximadamente as listas acima, deverá fazer o SQL rapidamente.

Nota : Embora a maioria dos cursos de Certificação Microsoft do SQL 2005 tenha sido descontinuada, você ainda pode usar os recursos disponíveis para o SQL 2008 R2. Eu posso ter uma chance de dizer isso, mas o SQL 2008 R2 é semelhante ao SQL 2005 (no contexto do que você deseja aprender), para que você possa estudar o 2008 R2 e ainda assim ficar bem.

Por fim: Bem-vindo ao dba.stackexchange.com e SQL Server

RoKa
fonte
2

Atualmente, estou exatamente na mesma situação que você, meu amigo, e posso entender completamente. Por isso, recomendarei o livro que resolveu muitas das perguntas que tive com relação à migração para o servidor SQL.

Livro: Guia do desenvolvedor do Microsoft Access para SQL Server de Mary Chipman e Any Baron

O livro explica tudo o que você precisa saber, desde os benefícios de segurança às permissões do usuário, etc., e o melhor de tudo, é explicado de uma maneira muito legível e direta.

Provavelmente existe uma versão mais atualizada deste livro, mas essa é a atual que eu uso e ela preenche todas as minhas necessidades!

Espero que ajude você tanto quanto me ajudou.

Boa sorte!

Justin
fonte
2

Para responder às suas perguntas -

Manutenção: o que é mais importante (verifique o banco de dados, reduza o banco de dados, atualize as estatísticas, reconstrua etc.)

Uma das melhores soluções para manutenção é o backup do SQL Server, a verificação de integridade e a manutenção de índices e estatísticas. Basta ler e implantar. Testado e amplamente utilizado pela comunidade SQLServer.

Índices - Eu não sei o quanto deveria, existe um bom livro / blog etc que possa me ensinar o básico para cima?

Escada para índices do SQL Server - Excelentes séries do nível básico ao avançado.

Qualquer outra coisa que eu tenha perdido (provavelmente há muitas, como eu disse que sou novo no SQL Server ...)

Há muito mais do que apenas manutenção e indexação no SQL Server. Minha sugestão seria ler sobre qualquer conteúdo postado nos sites abaixo ... (Eles são os melhores !!)

SQLSkills.com

brentozar.com

SQLServerCentral.com

Ao trabalhar com o SQLServer regularmente, você sentirá a necessidade de obter mais conhecimento em diferentes áreas, como recuperação de desastres, ajuste de desempenho, alta disponibilidade, corrupção de banco de dados etc.

Nota: Há uma infinidade de informações disponíveis na web com excelentes conselhos ruins também. Portanto, meu conselho seria educar-se com as pessoas que trabalharam e estão trabalhando com o SQLServer no dia a dia.

Por fim, verifique este treinamento da SQLSkills - uma das melhores oferecidas. Pessoalmente, tomei o IE1 e o IE2 e confie em mim. Você sentirá a diferença!

Kin Shah
fonte
0

Uma coisa muito interessante que você pode estudar no SQL Server é o Plano de Execução de Consultas e a Dica de Consulta do SQL que você pode usar quando o plano de execução de consultas não for o que você está esperando.

O Plano de Execução de Consulta, é um tópico avançado, mas pode ajudar a entender o desempenho do SQL Server.

Naturalmente, você não deve usar indevidamente a dica de consulta , na minha experiência, eles são o último recurso quando uma consulta não está funcionando com o desempenho esperado.

Máx.
fonte