Instalação do servidor por 1s.

O tópico de instalação do MS SQL Server geralmente é ignorado. Na verdade, é difícil não instalar este SGBD, mesmo fazendo-o pela primeira vez, e é igualmente difícil não iniciar o 1C:Enterprise Server em conjunto com ele. No entanto, há uma série de sutilezas não óbvias que podem envenenar significativamente a vida de um administrador, das quais falaremos hoje.

O MS SQL Server ocupa o primeiro lugar em número de implementações em conjunto com 1C:Enterprise, isso se deve em grande parte à baixa barreira de entrada; uma pessoa sem experiência é perfeitamente capaz de dominar essa combinação, usando apenas o método Next - Next - Finish. E, o que é mais interessante, tudo isso vai funcionar. Digamos mais, na esmagadora maioria dos casos, as configurações padrão do servidor SQL são mais que suficientes para garantir a operação produtiva do servidor 1C:Enterprise e tocá-las não é apenas desnecessário, mas até prejudicial.

Primeiro de tudo, você deve se lembrar da base do sistema tempdb, que é usado ativamente por 1C para armazenar tabelas temporárias e resultados intermediários. Além disso, é usado imediatamente por todos os bancos de dados 1C em execução no servidor. E como por padrão ele está localizado na pasta de instalação do SQL Server, ou seja, no disco do sistema, então quando a carga aumenta, é tempdb torna-se um gargalo para todo o servidor. Muitas vezes isso leva a situações: você comprou um HDD/SSD rápido, há recursos de disco suficientes, mas 1C é lento, o que pode causar sérias dificuldades para administradores novatos.

Segundo ponto. Codificação de comparação tempdb deve corresponder à codificação da comparação das bases de informação, caso contrário, em alguns casos, isso pode levar a resultados inesperados, até mesmo a erros graves de cálculo.

Ao mesmo tempo, essas dificuldades não são nada difíceis de evitar: você só precisa gastar alguns minutos extras durante a instalação ou revisar cuidadosamente as configurações de um servidor já instalado.

Instalando o MS SQL Server para trabalhar com 1C:Enterprise

Como já dissemos, instalar um servidor SQL é extremamente simples, e não descreveremos esse processo detalhadamente, focando apenas nas configurações necessárias. Vamos começar com a seleção dos componentes, já que 1C não utiliza a maioria dos mecanismos do SQL Server e se você não vai utilizá-los para outros fins, deixamos apenas Mecanismo de banco de dados,Comunicações das instalações do cliente E Controles(opcional).

As ferramentas de gerenciamento não podem ser instaladas no servidor, mas sim instaladas separadamente na estação de trabalho do administrador e gerenciadas a partir daí todos os servidores MS SQL disponíveis.

Você também deve verificar os parâmetros de classificação; se você tiver suas configurações regionais configuradas corretamente, provavelmente não precisará alterar nada lá, mas é aconselhável verificar este parâmetro, ele deve estar lá Cirílico_Geral_CI_AS.

EM Configurações do servidor por favor indique Autenticação de modo misto e defina a senha para o superusuário SQL - sa. Indique abaixo também os administradores desta instância do servidor SQL, por padrão já existe uma conta sob a qual a instalação foi realizada, mas se outros usuários também devem administrar esta instância, faz sentido indicá-los imediatamente.

Próximo marcador - Diretórios de dados- requer a maior atenção. Certifique-se de especificar o local de armazenamento dos bancos de dados do usuário e do banco de dados tempdb espaço em uma matriz de desempenho ou em um disco separado. Apesar de a localização do banco de dados poder ser especificada ao criá-lo, definir as configurações padrão corretas evita trabalho desnecessário, bem como a situação em que o banco de dados é criado usando ferramentas 1C e acaba no diretório padrão, ou seja, no disco do sistema. Você também pode especificar imediatamente o diretório para armazenar backups.

Você pode deixar as configurações restantes como padrão e concluir a instalação.

Configurando o MS SQL Server para funcionar com 1C:Enterprise

Se você estiver lidando com uma instância do SQL Server já instalada, certifique-se de que a codificação de comparação Cirílico_Geral_CI_AS, caso contrário, os dados deverão ser baixados usando ferramentas 1C e o servidor deverá ser reinstalado (ou outra instância deverá ser instalada se esta for utilizada por outros serviços).

Para fazer isso, abra Estúdio de Gestão, selecione a instância do servidor SQL necessária, clique com o botão direito nela e vá para Propriedades.

Então vá para o favorito Memória e indique a quantidade de RAM disponível para o servidor SQL, caso contrário o servidor SQL tentará reciclar toda a memória disponível. Em uma situação em que as funções do servidor SQL são combinadas com outras funções, e em implementações de pequeno e médio porte, ele geralmente está localizado na mesma máquina do servidor 1C, deve-se subtrair da quantidade total de memória necessária ao sistema e o servidor 1C, dando ao SQL o que resta.

É difícil dar recomendações inequívocas aqui, tudo depende do volume de dados que estão sendo processados; na prática, faz sentido alocar metade da memória livre para o servidor SQL, ajustando posteriormente esse valor com base em sua carga real.

A próxima configuração estará relacionada à segurança. Para conectar 1C ao servidor, a conta é usada com mais frequência sa, o que, para dizer o mínimo, é inseguro, pois dá à pessoa que entra sob ele acesso total para o servidor SQL. Considerando que a administração dos bancos de dados 1C é frequentemente realizada por especialistas terceirizados, faz sentido criar uma conta separada para eles.

Para fazer isso, abra Segurança - Logins e crie um novo nome (conta), especifique a autenticação Servidor SQL e defina uma senha.

Então vá para o favorito Funções de servidor e permitir criador de banco de dados, administrador de processo E público.

Em seguida, use esta conta para conectar-se ao servidor SQL de 1C.

Outra configuração se aplica aos bancos de dados já criados, abra as propriedades do banco de dados desejado e vá até a aba arquivos. Encontre a opção Crescimento automático/tamanho máximo para o arquivo de dados. Por padrão, é 1 MB, o que não é o ideal; ao trabalhar ativamente com o banco de dados, o SGBD se preocupará apenas em aumentar o tamanho do arquivo; além disso, quando vários bancos de dados estiverem trabalhando ativamente, isso levará a uma fragmentação significativa do arquivo de dados. Portanto, com base no tamanho do banco de dados e na atividade de trabalho, defina um valor maior que não leve a um aumento constante no arquivo do banco de dados.

Transferindo o banco de dados tempdb

Para concluir nosso artigo, voltemos novamente ao banco de dados tempdb, muitas vezes há situações em que o arquivo deste banco de dados precisa ser movido para outro local. Por exemplo, o servidor foi instalado com configurações padrão e tempdb localizado na partição do sistema, ou você comprou um SSD e deseja transferir não apenas os bancos de dados para lá, mas também tempdb(que é a solução correta). Também sob carga pesada tempdb Recomenda-se colocá-lo em um disco separado.

Para alterar o local do arquivo tempdb abrir Estúdio de Gestão, selecione Crie uma solicitação e na janela que se abre, digite o seguinte texto, onde E:\NEW_FOLDER- nova localização para a base:

Usar mestre
alterar tempdb do banco de dados
modificar arquivo (
nome = tempdev,
nome do arquivo = N"E:\NEW_FOLDER\tempdb.mdf")
ir

alterar tempdb do banco de dados
modificar arquivo (
nome = templog,
nome do arquivo = N"E:\NEW_FOLDER\templog.ldf")
ir

Então clique Executar, após executar a solicitação, reinicie o servidor SQL, banco de dados e arquivos de log tempdb serão criados em um novo local, os arquivos no local antigo deverão ser excluídos manualmente.

Terminaremos aqui hoje, finalmente lembrando você de não se esquecer da manutenção e backups de banco de dados.

Na maioria dos casos, para instalar o 1C:Enterprise 8.x na versão cliente-servidor, basta executar o programa de instalação do 1C:Enterprise 8.x. Neste caso, o servidor 1C:Enterprise recebe valores de parâmetros padrão necessários ao seu funcionamento normal.

Vejamos a instalação do servidor 1C:Enterprise com mais detalhes. Durante a instalação do servidor 1C:Enterprise 8.x, o programa de instalação 1C:Enterprise 8.x executa as seguintes ações:

* Copia os módulos de inicialização do servidor 1C:Enterprise para o diretório especificado pelo programa de instalação 1C:Enterprise como a pasta final.
* Se "Criar usuário USR1CV81" for selecionado durante a instalação, cria o usuário USR1CV81. O servidor 1C:Enterprise 8.1 é executado em nome deste usuário se for iniciado como um serviço. Ele tem acesso apenas aos recursos que o servidor 1C:Enterprise necessita. É importante que o servidor 1C:Enterprise exija dois diretórios para operar: um diretório geral com dados do servidor (geralmente "C:\Arquivos de Programas\1cv81\server") e um diretório de arquivos temporários (geralmente "C:\Documents and Settings \usr1cv81\Configurações locais\Temp" ou "C:\WINNT\Temp"). O usuário USR1CV81 recebe direitos para o diretório compartilhado com dados do servidor. O diretório de arquivos temporários geralmente é acessível a todos os usuários.
* Se durante o processo de instalação "Instalar servidor 1C:Enterprise 8.1 como um serviço do Windows" estiver habilitado, ele registrará o serviço de agente do servidor 1C:Enterprise no Windows e o iniciará. Na primeira inicialização, um cluster de servidores 1C:Enterprise é criado com configurações padrão. Possui um servidor de trabalho e um processo de trabalho. O endereço do servidor ativo corresponde ao nome do computador no qual a instalação foi executada.

Usuário USR1CV81 ou USR1CV82 e seus direitos

1C:Enterprise Server é um aplicativo de servidor cuja operação não deve depender de qual usuário está conectado ao computador servidor no modo interativo, se alguém estiver conectado. Portanto, ao instalar um servidor 1C:Enterprise, é aconselhável criar um usuário especial USR1CV81, dotado dos direitos mínimos necessários para o servidor 1C:Enterprise, e não destinado ao login interativo. O servidor 1C:Enterprise é apresentado ao sistema Windows pelo usuário USR1CV81.

Vamos dar uma olhada nos direitos definidos para o usuário USR1CV81. O servidor 1C:Enterprise usa os seguintes diretórios:

* O diretório de carregamento dos módulos está localizado no diretório especificado pelo programa de instalação 1C:Enterprise como a pasta final. Ele contém os módulos de carregamento do servidor 1C:Enterprise. O usuário USR1CV81 requer direitos para ler dados e executar programas deste diretório e de seus subdiretórios. Ele recebe esses direitos implicitamente ao ser incluído no grupo Usuários.
* O diretório de dados do servidor geralmente é denominado "C:\Arquivos de Programas\1cv81\server". O usuário USR1CV81 requer direitos totais para este diretório. Ao criar o usuário USR1CV81, o programa de instalação 1C:Enterprise concede a ele direitos para este diretório.
* O diretório de arquivos temporários geralmente é denominado "C:\Documents and Settings\usr1cv81\Local Settings\Temp" ou "C:\WINNT\Temp", que é determinado pelo valor da variável TEMP do ambiente do usuário ou do ambiente do sistema TEMP variável. Você pode visualizar o valor desta variável na caixa de diálogo Propriedades do Sistema (Iniciar -> Configurações -> Painel de Controle -> Sistema -> Avançado -> Variáveis ​​de Ambiente). O programa de instalação 1C:Enterprise concede ao usuário USR1CV81 direitos totais para este diretório. Normalmente, ao instalar o Windows, o diretório de arquivos temporários fica acessível a todos os usuários, incluindo o grupo CREATOR OWNER em sua lista de acesso. No entanto, esse acesso não é completo. Em particular, a pesquisa de arquivos neste diretório não está disponível para todos os usuários. Definir direitos totais do usuário USR1CV81 para o diretório de arquivos temporários permite que o servidor 1C:Enterprise execute todas as operações necessárias. Você pode visualizar a lista de acesso na caixa de diálogo de propriedades do diretório na guia Segurança. A presença do grupo CREATOR OWNER permite o acesso ao diretório por qualquer usuário que crie qualquer arquivo neste diretório ou possua qualquer arquivo neste diretório. Neste caso, na lista de acesso do arquivo criado, ao invés do grupo CREATOR OWNER, será escrito o usuário que criou o arquivo. Entre os usuários que têm permissão de acesso a este diretório, deve estar o usuário USR1CV81, que possui direitos totais sobre este diretório.
É importante ter em mente que o diretório de arquivos temporários de um determinado usuário (incluindo o usuário USR1CV81) é determinado por uma combinação das variáveis ​​de ambiente desse usuário e das variáveis ​​de ambiente do sistema. Para descobrir este diretório, o programa de instalação 1C:Enterprise solicita o contexto do usuário USR1CV81. Para fazer isso no Windows 2000, o usuário em cujo nome o programa de instalação 1C:Enterprise é iniciado pode precisar dos seguintes privilégios: Atuar como parte do sistema operacional e Ignorar a verificação transversal. Você pode verificar os privilégios do usuário usando o utilitário Configurações de segurança local na ramificação Políticas locais -> Atribuição de direitos do usuário. Ao instalar um novo software, o instalador geralmente obtém esses privilégios automaticamente.

Registrando um servidor 1C:Enterprise como um serviço do Windows


1C:Enterprise Server é um aplicativo simples de console do Windows e pode ser iniciado de forma interativa. Porém, para uso constante isso é inconveniente, pois requer o lançamento do servidor 1C:Enterprise a partir do login de um usuário inativo no computador servidor. Para eliminar esta dependência, o servidor 1C:Enterprise pode ser iniciado como um serviço do Windows. Para isso, ele deve estar cadastrado no gerenciador de serviços do Windows.

Para visualizar uma lista de serviços do Windows e seus parâmetros, use o utilitário Serviços de Componentes (Iniciar -> Configurações -> Painel de Controle -> Ferramentas Administrativas -> Serviços). O servidor 1C:Enterprise é representado na lista de serviços pelo serviço "1C:Enterprise Server Agent 8.1". Os parâmetros do serviço determinam o início do processo 1C:Enterprise Server Agent (ragent), o usuário sob cujo nome ele é iniciado e o método de reinicialização em situações de emergência.

Na caixa de diálogo de propriedades do serviço "Agente Servidor 1C:Enterprise 8.1", na aba Geral, é mostrada a linha para iniciar o processo ragent, que é o Agente Servidor 1C:Enterprise. Normalmente esta linha se parece com:


Afirma que:

* o processo Server Agent é o módulo de inicialização "C:\Program Files\1cv81\bin\ragent.exe";
* o processo ragent é executado como um serviço do Windows e deve ser gerenciado por um gerenciador de serviços (-srvc);
* usado como 1C:Enterprise Server Agent (-agent);
* ao iniciar o serviço pela primeira vez, deve ser criado um cluster com parâmetros padrão e porta IP principal número 1541 (-regport 1541). Usando esta porta, os aplicativos clientes devem se conectar às infobases registradas no cluster;
* A porta IP do agente servidor deve ser numerada 1540 (-porta 1540). Utilizando esta porta, o Cluster Console deve se conectar ao servidor central para executar funções administrativas;
* quando os processos de cluster são iniciados neste servidor, eles receberão portas IP atribuídas dinamicamente no intervalo 1560-1591 (-intervalo 1560:1591).
* os dados gerais do cluster estarão localizados no diretório "C:\Program Files\1cv81\server" (-d "C:\Program Files\1cv81\server").

O serviço "Agente Servidor 1C:Enterprise 8.1" pode ser adicionado ou removido não apenas durante a instalação ou desinstalação do 1C:Enterprise usando o programa de instalação do 1C:Enterprise 8.1, mas também manualmente. Para fazer isso, você pode executar o utilitário ragent na linha de comando, especificando os parâmetros apropriados.

Para criar um serviço, você precisa especificar o parâmetro -instsrvc e os seguintes parâmetros: -usr - o nome do usuário sob cujo nome o serviço deve ser iniciado, -pwd - a senha deste usuário. Neste caso, os parâmetros restantes se tornarão os parâmetros da linha de lançamento do 1C:Enterprise Server Agent como um serviço. Por exemplo, para registro padrão do serviço 1C:Enterprise Server Agent no modo de depuração, o conjunto de parâmetros deve ser o seguinte:

"C:\Arquivos de Programas\1cv81\bin\ragent.exe" -instsrvc -usr .\USR1CV81 -pwd Senha -regport 1541 -port 1540 -range 1560:1591 -d "C:\Arquivos de Programas\1cv81\server" - depurar

Para remover um serviço, você precisa especificar o parâmetro -rmsrvc. Por exemplo:
"C:\Arquivos de Programas\1cv81\bin\ragent.exe" -rmsrvc

Às vezes é útil alterar a linha de inicialização do Server Agent ou outros parâmetros do serviço do Agent, por exemplo, habilitar o modo de depuração ou criar vários serviços de versões diferentes. A caixa de diálogo de propriedades do serviço não permite editar a linha de inicialização do aplicativo de serviço e alguns outros parâmetros, por exemplo, o identificador do serviço. Para editar, você precisará do utilitário regedit, projetado para visualizar e editar o registro do sistema Windows.

Atenção!
A edição do registro do sistema Windows requer extremo cuidado, pois alterações incorretas podem tornar o sistema operacional inoperante.

Execute o utilitário regedit (abra Iniciar -> Executar e digite regedit) e selecione o branch:


Entre seus parâmetros está o parâmetro ImagePath, cujo valor é a string de inicialização do 1C:Enterprise Server Agent. Aqui você pode adicionar novos parâmetros de string de lançamento ou alterar os valores dos existentes. Uma lista completa de parâmetros possíveis é fornecida na documentação do livro "1C:Enterprise 8.1 Cliente-Servidor".

Se você precisar registrar vários serviços independentes do 1C:Enterprise Server Agent, será necessário especificá-los com diferentes módulos de inicialização, diferentes portas e diferentes diretórios de dados de cluster. Você também precisa registrá-los com identificadores de serviço diferentes. Isso pode ser feito assim:

* Crie o primeiro serviço:
"C:\Arquivos de Programas\1cv81\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Arquivos de Programas\1cv81\server"

* Usando o utilitário regedit, altere o identificador do serviço registrado. Para fazer isso: selecione uma filial
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 Server Agent

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 Server Agent primeiro
* Crie um segundo serviço:
"C:\Arquivos de Programas\1cv81_10\bin\ragent.exe" -srvc -agent -regport 1641 -port 1640 -range 1660:1691 -d "C:\Arquivos de Programas\1cv81_10\server"

* Talvez sua identidade também deva ser alterada. Para fazer isso: selecione uma filial
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 Server Agent
e altere seu nome, por exemplo para:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 Server Agent Segundo

O que o programa de instalação 1C:Enterprise não pode fazer?

Como já mencionado, o programa de instalação 1C:Enterprise copia os módulos de inicialização 1C:Enterprise e realiza o registro necessário no COM e no gerenciador de serviços do Windows. O acima é informação necessária para compreender os mecanismos internos deste registo. Se não apenas o servidor estiver instalado no computador servidor, mas também a parte cliente do 1C:Enterprise, ele estará pronto para funcionar imediatamente após a instalação (e conectar as chaves de segurança).

Para que o servidor 1C:Enterprise possa ser acessado de outros computadores na rede local, você precisa verificar as configurações de rede no servidor e nos computadores clientes, bem como na rede como um todo. TCP/IP é usado para transferir dados entre aplicativos clientes e o servidor 1C:Enterprise, bem como entre processos de cluster de servidores. O funcionamento do 1C:Enterprise na versão cliente-servidor depende de sua correta configuração.

Os processos de um cluster de servidores 1C:Enterprise conectam-se entre si nos endereços definidos como os valores da propriedade “Computador” na caixa de diálogo de propriedades dos servidores em funcionamento. O cluster requer que o valor da propriedade Computer seja um endereço IP em notação de ponto ou um endereço simbólico a partir do qual o endereço IP possa ser determinado usando a função gethostbyname definida na API TCP. O endereço IP é determinado com base na tabela local de endereços simbólicos (C:\WINNT\system32\drivers\etc\hosts) ou nas tabelas de endereços nos servidores DNS disponíveis. Se o endereço simbólico do servidor em funcionamento não determinar seu endereço IP ou o determinar incorretamente (por exemplo, o endereço IP não corresponde ao endereço IP real deste computador), o cluster não funcionará. É importante que os nomes dos computadores e seus endereços definidos no Windows em cada um dos servidores em funcionamento no cluster não contradigam seus nomes no DNS.

Em cada servidor em funcionamento, os processos de cluster usam as seguintes portas: Porta IP do servidor em funcionamento (geralmente 1540); Portas IP dos intervalos de portas IP do fluxo de trabalho (geralmente 1560-1591). Além disso, o servidor central do cluster usa a porta do cluster (geralmente 1541). Se o sistema usar firewalls, a transmissão de dados nessas portas deverá ser permitida. Em vez de permitir portas da lista acima, você pode permitir a transferência de dados para processos de cluster (ragent, rmngr, rphost).

A conexão entre a aplicação cliente 1C:Enterprise e o servidor é realizada em 2 etapas. Primeiro ele estabelece uma conexão com o gerenciador de cluster. Isto utiliza o endereço do servidor central (simbólico ou numérico) e a porta do cluster (geralmente 1541). Em seguida, a aplicação cliente estabelece uma conexão com um dos processos de trabalho. O valor da propriedade "Computador" do servidor de trabalho correspondente e a porta do processo de trabalho, que é selecionada no intervalo de portas IP do servidor de trabalho, são usados ​​​​como seu endereço. A transmissão de dados para essas portas deve ser permitida em todos os firewalls ao longo da rota do computador do aplicativo cliente para os computadores do cluster de servidores 1C:Enterprise. O endereço IP dos processos do servidor é determinado usando a função gethostbyname no computador cliente. É importante que os nomes dos servidores centrais e de trabalho e seus endereços definidos no Windows em cada um dos servidores do cluster não contradigam seus nomes no DNS acessível ao computador cliente.

E uma última coisa. Obviamente, para acessar com sucesso o servidor 1C:Enterprise de outros computadores, ele deve estar na rede e devem ser feitas as configurações necessárias para isso. Os métodos de conexão e configuração de rede estão relacionados à administração de redes baseadas em Microsoft Windows e são descritos nas instruções correspondentes.

Recursos de configuração de um servidor SQL

1C:Enterprise na versão “cliente-servidor” usa um servidor SQL para armazenar dados. Neste caso, apenas 1C:Enterprise Server acessa o servidor SQL. Os clientes 1C:Enterprise não têm acesso direto ao servidor SQL. A instalação e configuração de um servidor SQL são descritas detalhadamente na documentação do Microsoft SQL Server. Para a operação bem-sucedida do 1C:Enterprise Server com um servidor SQL, você precisa prestar atenção especial às seguintes configurações.

* Componentes necessários do servidor SQL. Para acessar o servidor SQL do lado do 1C:Enterprise Server, o Microsoft Data Access 2.6 ou componentes posteriores devem ser instalados no computador 1C:Enterprise Server.
* Autenticação de usuário por SQL server. Os direitos de acesso aos bancos de dados do SQL Server são determinados pelo usuário em cujo nome os bancos de dados são acessados. No computador no qual o SQL Server está instalado, inicie o utilitário SQL Server Enterprise Manager, encontre o nó Local (Raiz do Console -> Microsoft SQL Servers -> Grupo SQL Server -> (Local)) e abra suas propriedades. Na aba Sequrity você pode ver que o SQL server suporta dois métodos de autenticação de usuário: SQL Server e Windows e somente Windows. A autenticação do Windows permitirá que o servidor 1C:Enterprise acesse o servidor SQL apenas em nome do usuário USR1CV81, o que não permite diferenciar direitos de acesso a diferentes infobases atendidas por um servidor 1C:Enterprise. Recomenda-se selecionar o modo SQL Server e Windows. Nesse caso, o acesso a uma infobase específica será realizado em nome do usuário que foi especificado como usuário do SQL Server ao criar esta infobase. É importante que este usuário tenha não apenas direitos totais para o banco de dados da infobase, mas também direitos para criar bancos de dados no servidor SQL e para ler tabelas de banco de dados mestre.
* Protocolos de rede para acesso ao servidor SQL. Se o 1C:Enterprise Server e o SQL Server estiverem localizados em computadores diferentes, será necessário configurar os protocolos de acesso de rede para o SQL Server. Isso pode ser feito usando o SQL Server Client Network Utility. Na guia Geral, você pode selecionar uma lista de protocolos de rede usados ​​para acessar o servidor SQL. O mais rápido e versátil é usar o protocolo TCP/IP. Ao utilizar outros protocolos, você deve ter em mente que alguns deles, por exemplo Named Pipes, realizam autenticação adicional usando ferramentas do Windows ao trocar dados com o servidor SQL. Neste caso, para trabalhar com sucesso com o servidor SQL, o usuário USR1CV81 deve estar cadastrado no computador com o servidor SQL, com os direitos apropriados. O protocolo de acesso deste servidor SQL pode ser alterado na aba Alias.

Além do artigo

Não há dúvida de que a combinação do servidor MS SQL Server + 1C:Enterprise 8 é a combinação mais popular e frequentemente usada em seu nicho. Por seu suporte de alta qualidade, é desejável uma compreensão de ambos os produtos. Ao mesmo tempo, na prática, um especialista de suporte geralmente é especializado na administração do MS SQL Server e não está familiarizado com os recursos do servidor 1C:Enterprise 8 ou, inversamente, é especializado na administração do servidor 1C:Enterprise 8 e não é familiarizado com os recursos do MS SQL Server.

Este artigo foi escrito para ajudar esses e outros especialistas, pensado para economizar seu tempo e chamar sua atenção para os detalhes mais importantes ao usar esses produtos de software em conjunto.

Para facilitar a compreensão das informações, são fornecidos estudos de caso, notas e dicas (em itálico).

Circuito de três links

Como o leitor já deve saber, o banco de dados do caso em consideração possui uma arquitetura de três camadas:

Link 1: SGBD MS SQL Server. “Armazena” e mantém o banco de dados, executando todos os tipos de operações de banco de dados. Assim, o desempenho do banco de dados, a velocidade e o paralelismo de leitura e gravação de dados são em grande parte determinados pelo desempenho do MS SQL Server.

Link 2: Servidor "1C:Enterprise 8". Serve como intermediário na interação entre clientes (usuários) e MS SQL Server. Todas as solicitações do cliente são enviadas ao servidor, que as “traduz” para a linguagem de consulta do MS SQL Server, recebe os resultados da execução dessas consultas e os envia ao cliente.

Existe apenas uma pequena parte das operações que são realizadas no nível do servidor 1C:Enterprise 8, sem acesso ao MS SQL - isto é, em particular, rastrear os chamados “bloqueios gerenciados”, ler e escrever “parâmetros de sessão”. Nesses casos, não é necessário acesso ao SGBD, pois essas operações são realizadas não com dados do banco de dados, mas com informações auxiliares do servidor.

Link 3: Parte cliente de "1C:Enterprise 8". Acessa o servidor 1C:Enterprise 8, recebe resultados dele (ou seja, por exemplo, amostras de dados) e é responsável pela interface do usuário.

"Eu queria o melhor."

Após reinstalar o servidor 1C:Enterprise 8, os usuários reclamam de uma queda acentuada no desempenho. O especialista em implementação de software 1C:Enterprise que realizou a reinstalação só fica surpreso - dizem que ele queria o melhor, o sistema deveria ter começado a funcionar mais rápido... A análise da situação mostrou que o servidor 1C:Enterprise 8 recebeu muitos recursos : processa (ver ponto 3) o rphost ocupava 15,5 GB dos 16 GB de RAM do servidor, como resultado, praticamente não havia RAM disponível para o MS SQL Server compatível.

O resultado é uma "swap" constante, uma carga desnecessária no subsistema de disco e uma execução extremamente lenta das operações do banco de dados - devido ao fato do MS SQL Server não ter tempo para processar solicitações provenientes do 1C "overclockado":Enterprise 8 servidor.

Compatibilidade do produto

Informações atuais sobre as versões do MS SQL Server recomendadas para uso em conjunto com 1C:Enterprise 8 devem ser encontradas neste link http://v8.1c.ru/requirements/.

No momento em que este artigo foi escrito, os desenvolvedores 1C recomendavam as seguintes opções:

      1. Servidor SQL 2008 R2.
      2. SQL Server 2008, requer instalação do Service Pack 1 (SP1).
    3. SQL Server 2005 requer instalação do Service Pack 3 (SP3).



É tecnicamente possível, mas não recomendado, usar o MS SQL Server 2000; ele requer a instalação do Service Pack 2 (SP2) e a instalação do Service Pack 4 (SP4) é desejável.

Observe que esta versão está obsoleta e não possui uma versão de 64 bits para arquitetura x86-64.

Observação:

É necessário prestar atenção às configurações do sistema operacional: por exemplo, para a operação eficaz do M SQL Server 2008 no sistema operacional Server 2008R2, é necessário desabilitar o modo de fonte de alimentação balanceada e mudar para o modo de desempenho máximo.

Instalando a versão cliente-servidor de "1C:Enterprise 8"

"1C instalado"

Para um dos clientes, a instalação do 1C:Enterprise 8 foi realizada por um administrador de sistema que não tinha experiência em trabalhar com 1C:Enterprise 8. E embora, segundo ele, ele tenha “instalado 1C”, não havia parte cliente nos computadores dos usuários e parte servidor no servidor. A análise da situação esclareceu o quadro - o kit 1C: Enterprise 8 incluía 2 discos - instalação da plataforma e instalação de templates de banco de dados. O administrador não se aprofundou no procedimento de instalação - e instalou modelos de banco de dados, em vez de arquivos executáveis, componentes da plataforma.

Claro, este é um exemplo atípico de uma atitude extremamente desatenta em relação ao trabalho.

Ao instalar "1C:Enterprise 8" você deve levar em consideração que o seguinte é instalado separadamente:

      A plataforma 1C:Enterprise 8 é uma aplicação executável, um ambiente integrado para desenvolvimento e operação de bancos de dados. Ao iniciá-lo, você seleciona um dos dois modos de operação - “Enterprise” (shell de banco de dados do usuário) ou “Configurador” (ambiente de desenvolvimento integrado). Uma descrição mais completa pode ser lida no link
      Os modelos de configuração "1C:Enterprise" são um arquivo no formato interno da plataforma, com o qual a plataforma pode criar um banco de dados puro ou demo da estrutura contida no modelo. Você também pode usar o padrão de atualização para atualizar a estrutura de um banco de dados existente que já está preenchido com dados.
      Ao instalar a plataforma, você deve prestar atenção à seleção dos componentes:





O componente 1C:Enterprise não pode ser instalado no(s) servidor(es).

Nesse caso, o servidor fornecerá aos computadores clientes acesso aos bancos de dados 1C:Enterprise, mas não será possível trabalhar com o banco de dados em modo de usuário diretamente do servidor.

Observação:

A versão de 64 bits da plataforma não contém uma parte cliente. Portanto, ao instalar em um servidor, os componentes do servidor de 64 bits são instalados separadamente e os componentes do aplicativo cliente de 32 bits são instalados separadamente.

O componente "1C Server: Enterprise" é necessário para se conectar ao MS SQL Server - é um servidor de aplicativos, um elo de conexão entre a plataforma nas estações de trabalho clientes e o MS SQL Server.

É possível instalar o componente no modo de um simples aplicativo ou serviço do sistema e, claro, a segunda opção é recomendada.

Quando instalado "como serviço", este componente será lançado e executado em nome do usuário selecionado:




Após o carregamento, o componente gera diversos processos, como: “agente servidor”, “gerenciador de cluster de servidor”, “processos de trabalho do servidor”.

As consultas ao banco de dados são executadas por processos de trabalho e o gerenciador de cluster de servidores distribui a carga entre eles.

Os processos de trabalho do servidor podem ser gerenciados (adicionados, excluídos, definir limites de uso de RAM, declarados primários ou de backup) se o componente 1C: Enterprise Server Administration estiver instalado.



Observação:

Para a versão de 32 bits do servidor, é recomendado instalar processos de trabalho em quantidade tal que não deixe RAM sem uso - cada um deles tem uma limitação perceptível no uso de RAM, de 2 a 4 GB dependendo do sistema configuração.

Para a versão de 64 bits do servidor, dois processos de trabalho são teoricamente suficientes – um de trabalho e um de backup. Porém, na prática, para garantir a confiabilidade e estabilidade das conexões para um número significativo (várias centenas) de usuários, é necessário um número maior, depende de muitos fatores - do número de usuários, do conteúdo do banco de dados e do volume de consultas realizadas, portanto os autores acreditam que o número de processos neste caso deve ser selecionado experimentalmente.

"Ouroboros"

Após a otimização malsucedida das configurações do servidor 1C:Enterprise 8, os usuários relataram operação extremamente lenta do sistema e o administrador do sistema notou uma carga constante de 100% do processador no servidor.

Uma análise da situação mostrou a origem do problema - durante a configuração, foi definido um limite muito pequeno para o uso de RAM pelos processos de trabalho.

Mas o fato é que essa limitação funciona da seguinte forma:

Quando o gerenciador de cluster de servidores percebe que um processo de trabalho excedeu o limite de RAM, o processo é encerrado, desativado, um novo processo de trabalho é criado e as conexões e solicitações de usuários são redistribuídas entre os processos de trabalho.

O limite definido era tão pequeno (300 MB) que o processo de trabalho não conseguia atender totalmente nem mesmo um usuário intensivo - como resultado, o gerenciador de cluster de servidores reiniciava constantemente os processos de trabalho e reconectava os usuários. Assim que um novo processo era criado e os usuários se conectavam a ele, o limite de RAM era atingido quase instantaneamente e causava a próxima reinicialização. Isso consumiu 100% da carga do processador.

O componente "1C Server: Enterprise" não é necessário nas estações de trabalho clientes e não poderá ser iniciado aí, pois requer a presença física de uma chave de segurança.

Se o número de usuários conectados for pequeno (menos de 50), o servidor de aplicativos geralmente é instalado no mesmo computador onde o MS SQL Server está sendo executado.

Para sistemas com grande número de usuários e/ou grande volume de fluxos de informações, recomenda-se a instalação separada, bem como a utilização de cluster de servidores.

O componente "1C: Enterprise Server Administration" também pode ser útil em clientes - por exemplo, com sua ajuda você pode ver uma lista de infobases conectadas a um determinado servidor "1C: Enterprise".

É altamente recomendável instalá-lo no próprio servidor.

Acesso

Observação:

Para verificar se o acesso é fornecido, não basta utilizar o utilitário de administração do servidor 1C:Enterprise e, mais ainda, a presença do servidor na “Vizinhança de Rede” não basta!

É necessário que cada cliente faça login no banco de dados instalado no servidor - só isso dará 100% de confiança de que o acesso é fornecido.

1. Dependendo das políticas de segurança, o MS SQL Server usa autenticação de conta do Windows ou autenticação de conta do MS SQL Server.




Neste último caso, ao criar um banco de dados 1C:Enterprise, o sistema solicitará o login e a senha da conta do MS SQL Server (por exemplo, sa), no primeiro caso o login e a senha deverão ser deixados em branco:



e o usuário do sistema em cujo nome o servidor 1C:Enterprise está sendo executado deve receber direitos no MS SQL Server, a saber:

      direitos totais ao banco de dados no qual a base de informações está localizada
      acesso ao banco de dados mestre (função pública)
      recomendado - direitos para criar um banco de dados, caso contrário, cada novo banco de dados precisará ser criado primeiro usando o MS SQL Sever e só então conectado ao servidor 1C:Enterprise
      recomendado - direito de excluir seu banco de dados



Por exemplo, você pode atribuir ao usuário em questão a função fixa processadmin ou sysadmin.

Conselho.

Se todos os usuários perderem simultaneamente o acesso ao banco de dados de trabalho, será necessário verificar novamente os direitos e funções do usuário no MS SQL Server, incluindo aqueles definidos para um banco de dados específico, ou seja, Mapeamento de usuários:




2. O servidor 1C:Enterprise acessa o MS SQL Server através do mecanismo Microsoft Data Access, portanto seus componentes devem estar instalados, e o usuário do servidor 1C:Enterprise (ver parágrafo anterior) deve ter direitos para executá-los.

3. A comunicação entre clientes e servidor é suportada pelo protocolo TCP, portanto é necessário que este protocolo seja suportado por ambos os lados. Pode haver problemas na correspondência do nome do servidor com seu endereço IP, por exemplo, se uma rede ponto a ponto for usada. Neste caso, você deve registrar a correspondência no arquivo [C:\WINDOWS\] system32\drivers\etc\hosts .

Conselho.

Se a rede for ponto a ponto, para garantir uma conexão permanente com o servidor, crie uma unidade de rede que acesse qualquer uma das pastas deste servidor.

4. Se o protocolo Named Pipes for usado, e se o MS SQL Server e o servidor 1C:Enterprise estiverem instalados em computadores diferentes, o usuário em cujo nome o servidor 1C:Enterprise está sendo executado deve estar registrado na lista de usuários do computador no qual o MS SQL Server está sendo executado.

5. Em alguns casos, pode ser necessária configuração adicional do firewall do Windows, ou seja, adição de exceções.

6. Alguns programas antivírus podem bloquear o tráfego de rede “indesejado”, portanto, pode ser necessário adicioná-los às suas listas de exclusão.

7. O lançamento da plataforma 1C:Enterprise 8 deve ser absolutamente idêntico no cliente e no servidor.

"Gêmeos"

"Um dos clientes usava dois servidores de banco de dados, cada um abrigando um banco de dados funcional. Os usuários trabalhavam - cada um simultaneamente com os dois bancos de dados. O serviço de suporte atualizou a plataforma 1C:Enterprise 8 em servidores e clientes.... E então as reclamações começaram a chover pela impossibilidade de conexão - primeiro a um ou outro banco de dados. A análise da situação mostrou que a atualização em clientes e servidores foi feita por várias pessoas, e os especialistas instaladores não verificaram se estavam instalando a mesma versão. Portanto , em um servidor houve um lançamento da plataforma, no segundo - outro, em metade dos clientes - o primeiro desses lançamentos, na outra metade - o outro... Descobriu-se que cada usuário tem acesso apenas um dos bancos de dados.

Para resolver o problema rapidamente, cada usuário teve que instalar as duas versões da plataforma e criar atalhos separados para fazer login em cada banco de dados.

Configurações iniciais do MS SQL Server e banco de dados

“E é assim que funciona”

O MS SQL Server se distingue por sua instalação inicial simples, portanto, nem todos os administradores se preocupam com sua configuração adicional - após realizar a instalação padrão, o banco de dados está funcionando, os usuários estão logados - o trabalho está concluído. Essa abordagem quase sempre leva a problemas que surgem após cerca de um mês ou dois - e, claro, de repente e no momento mais inconveniente.

Por exemplo, se a base de dados se destina a fins contabilísticos, antes de apresentar relatórios fiscais, muitas vezes há necessidade de recalcular urgentemente determinados dados e recalcular em massa, digamos, “todas as receitas de activos fixos desde o início do ano”. Além disso, durante a jornada de trabalho, sem interromper o trabalho dos demais usuários do banco de dados.

E, claro, é neste momento que se descobrirá que durante tal recálculo a base de dados “congela”, ou “trava”, ou não permite que outros utilizadores trabalhem.

Este tipo de “Lei de Murphy” se aplica a cada um dos pontos a seguir.

Antes de começar a usar o MS SQL Server como SGBD para 1C:Enterprise, é recomendado:

1. Defina o valor do parâmetro de grau máximo de paralelismo como 1.

Aquilo é:

      Após conectar-se ao servidor, insira as propriedades do servidor através do menu de contexto, item Propriedades
      em seguida, selecione a página Avançado e edite o parâmetro de grau máximo de paralelismo






Caso contrário, algumas consultas geradas pelo servidor 1C: Enterprise podem causar o erro "O paralelismo intra-consulta causou um impasse no comando do servidor (ID do processo #XX). Execute novamente a consulta sem paralelismo intra-consulta usando a opção de dica de consulta (maxdop 1 )". Após esse erro, a parte do cliente trava frequentemente.

O erro não aparecerá de forma consistente, pois o plano de consulta é formado de forma diferente dependendo das estatísticas acumuladas - ele se manifestará em consultas grandes e complexas, ou seja, no momento mais infeliz.

2. Crie um plano de manutenção que reduza o banco de dados da tabela temporária tempdb todas as noites. O banco de dados de tabelas temporárias nem sempre é limpo automaticamente pelo servidor 1C:Enterprise e, às vezes, como resultado de uma consulta escrita sem sucesso, uma tabela temporária de, por exemplo, 50 GB de tamanho pode ser criada e não limpa. Como resultado, o espaço em disco pode acabar, resultando em falha nas partes do cliente e do servidor, e também há um pequeno risco de violação da integridade dos dados.

Ou seja, você precisa de:

      vá para o MS SQL Management Studio
      após conectar-se ao servidor, expanda a seção "Planos de manutenção"
      criar um novo (ou adicionar a um plano de serviço existente),
      adicione o item "Executar tarefa de instrução T-SQL" a ele (já que você não pode selecionar o banco de dados tempdb na tarefa "Reduzir banco de dados") com o código




1.USO
2.
3.VÁ
4.
5.DBCC SHRINKFILE (N"tempdev", 0, TRUNCATEONLY)
6.
7.VÁ
8.
9.DBCC SHRINKFILE (N"templog", 0, TRUNCATEONLY)
10.
11.VÁ

Observe que o nome do arquivo do banco de dados da tabela temporária pode não ser "tempdev". Você pode usar um script para verificar esse nome

1.USE tempdb
2.
3.VÁ
4.
5.EXEC sp_helpfile
6.
7.VÁ




“Pote, não cozinhe”

A maneira mais comum na prática de sobrecarregar o tempdb e, assim, travar o servidor é esquecer de especificar uma condição ao unir tabelas.

Ou seja, digamos que temos duas tabelas no banco de dados, cada uma com 20 mil registros. Digamos que haja uma correspondência um-para-um entre seus registros e escrevemos uma consulta que cria uma tabela temporária que contém 20 mil registros com campos de ambas as tabelas de origem. Mas se esquecermos de especificar a condição de junção, todos os registros da primeira tabela serão unidos a todos os registros da segunda! Ou seja, a tabela resultante será composta por 20.000 * 20.000 = 400 milhões de registros. E assim por diante.

3. Para reduzir a carga no subsistema de disco, é recomendado, se possível, distribuir o banco de dados de trabalho e o banco de dados temporário, os logs e o arquivo de troca do sistema em diferentes discos físicos.

É melhor definir o caminho desejado para armazenar os arquivos do banco de dados de trabalho ao criá-lo, editando a coluna Caminho:




Para alterar a localização física dos arquivos temporários do banco de dados da tabela, utilize o comando ALTER DATABASE, ou seja, no MS SQL Management Studio é necessário executar o seguinte script (comando "Nova consulta")

1.USE mestre
2.
3.VÁ
4.
5. ALTERAR BANCO DE DADOS tempdb
6.
7.MODIFICAR ARQUIVO (NOME = tempdev, FILENAME = "Novo_Disco:\Novo_Diretório\tempdb.mdf")
8.
9.VÁ
10.
11. ALTERAR BANCO DE DADOS tempdb

12.
13.MODIFICAR ARQUIVO (NOME = templog, FILENAME = "Novo_Disco:\Novo_Diretório\templog.ldf")
14.
15.GO

4. O “crescimento” da base de dados de trabalho e do seu log não deve ser prejudicado – não deve haver limite de tamanho, a propriedade “Autogrowth” deve ser definida como uma porcentagem, o valor recomendado é 10%. Caso contrário, a adição de dados ao banco de dados, a restauração de um arquivo e outras operações poderão levar um tempo excessivamente longo.

Para definir esta propriedade, você precisa ir até as propriedades do banco de dados através do menu de contexto, selecionar a seção Arquivos e abrir a edição das propriedades do arquivo:



5. Recomenda-se habilitar o suporte ao protocolo de rede TCP/IP no MS SQL Server e desabilitar todos os outros, caso contrário a operação conjunta do MS SQL Server e 1C:Enterprise server será menos estável.




6. No mesmo lugar - limpe a seção Alias, porque sua instalação leva a erros na interação entre o MS SQL Server e o servidor 1C:Enterprise.

Antes de começar a utilizar o banco de dados, recomenda-se:

1. Ao criar um banco de dados de "1C:Enterprise", defina o "deslocamento de data" para 2000, caso contrário, uma tentativa de registrar uma data anterior a 01/01/1753 (o que é possível devido ao fator humano) causará falhas no base de dados.

Atenção! O deslocamento de data não pode ser alterado para um banco de dados existente!



2. Defina o modelo de Recuperação como Simples ou crie um Plano de Manutenção, que criará um backup diário do banco de dados e cortará o log de transações (arquivo de log). Caso contrário, durante algumas operações o log de transações (arquivo de log) crescerá muito rapidamente: por exemplo, ao reestruturar um banco de dados, o crescimento no tamanho do arquivo de log pode ser várias vezes maior que o tamanho do próprio banco de dados.




3. Crie um Plano de Manutenção que execute as seguintes tarefas rotineiras pelo menos uma vez por semana:

      Criando uma cópia de backup do banco de dados.
      Atualize as estatísticas do banco de dados e limpe o cache processual (observe que a propriedade de atualização automática de estatísticas não implica na limpeza do cache processual).
      A limpeza do cache processual não está incluída nas operações padrão dos Planos de Manutenção; esta etapa deve ser definida como a execução de um script (Execute T-SQL Statement) com o seguinte conteúdo:
      DBCC FREEPROCCACHE
      Reindexando tabelas de banco de dados.






Claro, faz sentido configurar o envio automático de e-mails sobre a conclusão bem-sucedida/malsucedida de tarefas.




Conclusão

Os problemas que mais frequentemente causam dificuldades para administradores de sistema e implementadores de 1C:Enterprise 8 são considerados em conexão com o uso conjunto do MS SQL Server e da versão cliente-servidor de 1C:Enterprise 8.

O autor espera ter coberto “os dois lados da moeda” de uma forma bastante consistente e acessível.

P.S. Faça backups com frequência!

Versão cliente-servidor do trabalho- uma das opções para operar o sistema 1C:Enterprise 8.

A versão cliente-servidor do trabalho destina-se ao uso em grupos de trabalho ou em escala empresarial. Ele é implementado com base em uma arquitetura cliente-servidor de três camadas.

A arquitetura cliente-servidor divide todo o sistema de trabalho em três partes diferentes que interagem entre si de uma determinada maneira:

O programa em execução para o usuário (aplicativo cliente) interage com o cluster de servidores 1C:Enterprise 8 e o cluster, se necessário, acessa o servidor de banco de dados.

Neste caso, o cluster físico de servidores 1C:Enterprise 8 e o servidor de banco de dados podem estar localizados no mesmo computador ou em computadores diferentes. Isso permite que o administrador distribua a carga entre os servidores, se necessário.

Usar um cluster de servidores 1C:Enterprise 8 permite concentrar nele as operações de processamento de dados mais extensas. Por exemplo, mesmo ao executar consultas muito complexas, o programa em execução para o usuário receberá apenas a seleção necessária e todo o processamento intermediário será realizado no servidor. Normalmente, aumentar a capacidade de um cluster de servidores é muito mais fácil do que atualizar toda a frota de máquinas clientes.

Outro aspecto importante do uso de uma arquitetura de três camadas é a facilidade de administração e a simplificação do acesso do usuário à base de informações. Nesta opção o usuário não precisa estar ciente da localização física da configuração ou banco de dados. Todo o acesso é realizado através de um cluster de servidores 1C:Enterprise 8. Ao acessar uma determinada infobase, o usuário deve especificar apenas o nome do cluster e o nome da infobase, e o sistema solicita o nome de usuário e a senha, respectivamente.

1C:Enterprise 8 usa os recursos de um sistema de gerenciamento de banco de dados para recuperar informações com eficiência:

  • o mecanismo de consulta está focado em maximizar o uso do SGBD para realizar cálculos e gerar relatórios,
  • a visualização de grandes listas dinâmicas é garantida sem realizar um grande número de chamadas de banco de dados; ao mesmo tempo, o usuário recebe recursos de pesquisa eficazes, bem como configurações de seleção e classificação.

Implantar a opção cliente-servidor e administrá-la é bastante simples. Por exemplo, a criação de um banco de dados é realizada diretamente durante o lançamento do configurador (o mesmo que para a versão do arquivo).

Aplicativos clientes

Trabalhar na versão cliente-servidor é possível diretamente com o cluster ou através de um servidor web. Além disso, no caso de conexão direta ao cluster, o cliente grosso e o cliente fino utilizam o protocolo TCP/IP. Ao se conectar por meio de um servidor web, o thin client e o web client usam o protocolo HTTP ou HTTPS.

Cluster de servidores

O cluster de servidores 1C:Enterprise 8 é o principal componente da plataforma, garantindo a interação entre os usuários e o sistema de gerenciamento de banco de dados no modo cliente-servidor. A presença de um cluster permite garantir uma operação ininterrupta, tolerante a falhas e competitiva de um grande número de usuários com grandes bancos de dados de informações.

Servidor de banco de dados

O seguinte pode ser usado como servidor de banco de dados:

Administração de cluster de servidores

A plataforma inclui um conjunto de diversas ferramentas que permitem ao administrador gerir a composição do cluster, bases de dados de informação e ligações de utilizadores.

Executando funcionalidades básicas no servidor

Todo trabalho com objetos de aplicação, leitura e escrita no banco de dados é realizado apenas no servidor. A funcionalidade de formulários e interface de comando também é implementada no servidor.

O servidor prepara os dados do formulário, organiza os elementos e registra os dados do formulário após as alterações. O cliente exibe um formulário já preparado no servidor, insere os dados e chama o servidor para registrar os dados inseridos e demais ações necessárias.

Da mesma forma, a interface de comando é formada no servidor e exibida no cliente. Além disso, os relatórios são gerados inteiramente no servidor e exibidos no cliente.

Ao mesmo tempo, os mecanismos da plataforma estão focados em minimizar a quantidade de dados transferidos para o computador cliente. Por exemplo, dados de listas, seções tabulares e relatórios não são transferidos do servidor imediatamente, mas à medida que o usuário os visualiza.

O servidor executa:

  • Consultas de banco de dados
  • Gravação de dados,
  • Realização de documentos,
  • Vários cálculos
  • Executando processamento,
  • Geração de relatórios,
  • Preparando formulários para exibição.

Executa no cliente:

  • Recebimento e abertura de formulários,
  • Exibição de formulário,
  • “Comunicação” com o usuário (avisos, dúvidas...),
  • Pequenos cálculos em formulários que exigem uma resposta rápida (por exemplo, multiplicar preço por quantidade),
  • Trabalhando com arquivos locais,
  • Trabalhando com equipamentos comerciais.

Usando a linguagem integrada no cliente

Você pode gerenciar a funcionalidade dos formulários não apenas no servidor, mas também no cliente. O cliente oferece suporte ao idioma integrado. É utilizado nos casos em que é necessário realizar cálculos relacionados ao formulário exibido na tela, por exemplo, para calcular rapidamente (sem contato com o servidor) o valor de uma linha do documento com base no preço e na quantidade; faça uma pergunta ao usuário e processe a resposta; leia um arquivo do sistema de arquivos do computador e envie-o para o servidor.

No entanto, a operação da linguagem incorporada no cliente é suportada de forma estritamente limitada. Os procedimentos do cliente nos módulos são explicitamente separados dos procedimentos do servidor e usam uma composição limitada do modelo de objeto da linguagem integrada.

O trabalho direto com o banco de dados não é permitido no cliente. Não é permitido trabalhar diretamente com objetos de aplicação; por exemplo, tipos de linguagem integrada como DiretórioObject.<имя> . Solicitações não são permitidas. Se precisar chamar ações com dados no código do cliente, será necessário chamar procedimentos do servidor que já acessarão os dados.

Menu Beta

Configurando o Servidor 1C:Enterprise 8.3 e PostgreSQL 9.4.2-1.1C. Instruções completas

Neste manual iremos contar (e mostrar) como configurar uma conexão 1C:Empresa 8.3 E PostgreSQL 9.4.2 desde o momento da instalação de ambos os serviços até a criação da base de informações. Você pode ler sobre como ajustar essa combinação.

As etapas pelas quais devemos passar:

  1. Instalação Servidores 1C:Enterprise(64 bits) para Windows
  2. Instalação PostgreSQL 9.4.2-1.1С
  3. Criação de uma Base de Dados de Informações.

Mais detalhes abaixo do corte!

Etapa 0. Dados de entrada.

Nome do servidor - 1CServer
Nome da conta do servidor - Administrador
Senha da conta - 123456Ab

Nome da conta 1C no servidor - USR1CV8
A senha da conta 1C no servidor é 123456Cd

Nome da conta PostgreSQL no servidor - postgres
A senha da conta PostgreSQL no servidor é 123456Ef

Nome do superusuário PostgreSQL - postgres
Senha de superusuário do PostgreSQL - 1234

Nome do banco de dados de teste - banco de teste

Etapa 1. Instalação Servidores 1C:Enterprise(64 bits) para Windows


Etapa 2. Instale PostgreSQL e pgAdmin.


Etapa 3. Criação de uma base de informações 1C.

  1. Antes de realizar as seguintes operações, desative o IPv6 na sua interface de rede: Centro de Rede e Compartilhamento > conexão LAN > Propriedades> Desmarque Protocolo de Internet Versão 6 (TCP/IPv6).
  2. Lançamos o cliente 1C:Enterprise e adicionamos um novo banco de dados.
  3. Criando uma nova infobase > Criando uma infobase sem configuração (por exemplo, você pode ter qualquer configuração) > No servidor 1C:Enterprise >
  4. Preenchemos todos os campos conforme nosso exemplo (Etapa 0):
    Cluster de servidores 1C:Enterprise: 1CServer
    Nome da infobase no cluster: testebd
    Conexão segura: Desligado
    Tipo de SGBD: PostgreSQL
    Servidor de banco de dados: 1CServer
    Nome do banco de dados: testebd
    Usuário do banco de dados: postgres
    Senha do usuário: 1234
  5. Mais, mais longe. Lançamos o banco de dados criado em modo empresarial - tudo funciona!

Lembramos mais uma vez que o PostgreSQL pode ter overclock muito bem. Detalhes em.
E não se esqueça do 1C!
Se houver algum problema com o banco de dados, talvez isso ajude você.
Bancos de dados 1C são possíveis!

Ainda tem dúvidas?

Algo deu errado? Os especialistas da nossa empresa irão ajudá-lo a resolver quaisquer problemas que possam surgir! Contate-nos! →

As pessoas perguntam constantemente em fóruns na Internet:
-Como instalar 1C:Enterprise 8.1 (8.2) no PostgreSQL no sistema operacional Windows
-É possível instalar simultaneamente dois processos “1C:Enterprise Server Agent 8.1” e “1C:Enterprise Server Server Agent 8.2”. Se sim, como fazer?
-Após a instalação de 1C e PostgreSQL, os seguintes erros são exibidos:
A)



b) Erro ao criar uma infobase:
Ocorreu um erro ao executar uma operação com a infobase.

c) Erro ao criar uma infobase:
Ocorreu um erro ao executar uma operação com a infobase.


Se você se depara com esses problemas e está procurando uma resposta, então este artigo é para você.

1. Instalação 1C:Enterprise 8.2

Iniciando a instalação do 1C:Enterprise 8.2.

Selecionando componentes para instalar; além disso, precisaremos de:
-Servidor 1C:Enterprise
-Administração de servidores 1C:Enterprise

Escolhendo o idioma russo

Em seguida, você precisa criar um usuário em cujo nome o serviço Server Agent será iniciado. Portanto, marque a caixa para instalar o servidor 1C: Enterprise como um serviço Windows (recomendado). E criamos um usuário. Mesmo se você especificar uma senha existente e definir acidentalmente a senha errada, o serviço simplesmente não será iniciado após a instalação. E a instalação em si será concluída corretamente, você precisa clicar em continuar na janela de inicialização do serviço.

Vamos começar a instalação

Instalando o driver de segurança: O driver de segurança deve ser instalado no computador no qual a chave física está inserida. Na maioria das vezes, a chave é instalada no servidor, faremos o mesmo e deixaremos a caixa de seleção padrão para instalar o driver - instalar.

Concluímos a instalação.

Encontre "1C: Enterprise Server Agent", vá para propriedades:

E na aba “login”, mude o tipo de login para “com conta do sistema”.

2. Instalando PostgreSQL para 1C:Enterprise.

Iniciamos a instalação do PostgreSQL. O próprio kit de distribuição deve ser baixado do site oficial 1C, porque já existe uma versão configurada para funcionar com 1C.

Iniciamos a instalação, selecionamos o idioma russo e clicamos em Avançar.

A escolha dos componentes a serem instalados é deixada como padrão.

Inicialização do cluster.

Se for necessário que o agente servidor seja compartilhado com o servidor SQL, marque a caixa para suportar conexões de qualquer IP, não apenas localhost.
ATENÇÃO! Definimos a codificação: UTF-8 tanto para o servidor quanto para o cliente.

Aqui deixamos tudo como padrão e clicamos em próximo novamente.

Módulos adicionais podem ser deixados por padrão, se necessário, você pode marcar os necessários.

Iniciando a instalação do PostgreSQL

Concluímos a instalação.

Para o serviço PostgreSQL, também costumo mudar o tipo de inicialização - com uma conta do sistema.

3. Criação de uma base de informações no servidor pgsql e erros comuns que ocorrem nesta fase.

Vamos para 1C, adicionamos um novo banco de dados, dizemos que o banco de dados estará no servidor e indicamos os parâmetros do servidor:

Atenção. O banco de dados deve ser criado especificamente a partir de 1C, caso contrário, se você criá-lo a partir do PgMyAdmin, ao tentar entrar no banco de dados receberá erros:

Erro ao criar uma infobase:
Ocorreu um erro ao executar uma operação com a infobase.
Erro DBMS: ERRO: o idioma "plpgsql" não existe.
DICA: use CREATE LANGUAGE para carregar o idioma no banco de dados.

Mesmo se você acessar o pgMyAdmin e adicionar o idioma "plpgsql" ao banco de dados, o seguinte erro aparecerá.

Erro ao criar uma infobase:
Ocorreu um erro ao executar uma operação com a infobase.
Erro DBMS: ERRO: o tipo “mvarchar” não existe no caractere 31

SOLUÇÃO: Você precisa criar um banco de dados de 1C.

Se, ao criar um banco de dados de 1C:Enterprise, você recebeu a seguinte mensagem:

Ocorreu um erro ao executar uma operação com a infobase.
Erro DBMS: ERRO: a nova codificação (UTF8) é incompatível com a codificação do banco de dados modelo (WIN1251).
DICA: Use a mesma codificação do banco de dados de modelos ou use template0 como modelo.

SOLUÇÃO: Ao instalar o PostgreSQL, você deixou o idioma Windows-1251 para o servidor ou cliente, que é instalado por padrão, mas foi necessário alterá-lo para UTF-8

Reinstale o PostgreSQL e especifique o idioma UTF-8 durante a instalação.

4. Iniciando o agente de servidor 1C:Enterprise 8.1 e

Agente de servidor 1C:Enterprise 8.2 simultaneamente em um computador.

Com o advento da plataforma 8.2, muitas pessoas começaram a ter problemas quando precisavam da plataforma 8.2 para rodar no servidor, mas ao mesmo tempo gostariam de manter a 8.1.

Proponho uma maneira de instalar dois agentes de servidor, através da divisão de portas.

Primeiro, instale a Plataforma 8.1, conforme descrito acima. Em seguida, instale a Plataforma 8.2. Agora devemos ter 2 serviços de agente de servidor aparecendo na lista de serviços. Porém ao iniciar o segundo serviço, será exibida a seguinte mensagem:

O serviço "1C:Enterprise 8 Server Agent" no "computador local" foi iniciado e interrompido. Alguns serviços param automaticamente se não estiverem em uso por outros serviços ou programas.

Isso ocorre devido ao fato do sistema tentar executar simultaneamente 2 processos de trabalho que operam na mesma porta.

Para sair dessa situação, vamos mudar a porta, por exemplo, Server Agent 8.1.
Para fazer isso, você precisa interromper o serviço 1C:Enterprise 8.2 Server Agent.
Inicie o 1C:Enterprise Server Agent 8.1.

Ramificação do registro: HKLM\SYSTEM\ControlSet001\services\1C:Enterprise 8.1 Server Agent
Parâmetro: ImagePath
Valor: "C:\Arquivos de Programas\1cv81\bin\ragent.exe" -srvc -agent -regport 1641 -port 1640 -range 1660:1691 -d "C:\Arquivos de Programas\1cv81\server"

Após essa mudança, devemos ter 2 agentes de servidor 1C rodando simultaneamente: Enterprise 8. Nós os lançamos de acordo.

Agora precisamos adicionar um novo cluster de servidores. Fazemos tudo em condições de funcionamento:

Se não tivermos um servidor central 8.1, adicione-o, mas com a porta 1640:

Adicione um cluster de servidores, altere a porta para 1641:

Agora nosso cluster 8.1 funcionará pela porta 1640 e para 8.2 pela porta 1540 (porta padrão):

Adicionando fluxo de trabalho 8.1. as portas também mudam para 16xx

Iniciamos o processo, não esqueça de marcar a caixa - o processo está habilitado.

Agora tudo deve funcionar para nós.

A última coisa que precisa ser dita: ao criar um banco de dados no 8.1, você precisa especificar a porta, pois caso contrário, a porta padrão (1541) será usada e o programa escreverá sobre incompatibilidade de versão da plataforma.