Trabajar 1C Enterprise bajo el servidor SQL. Configurar un firewall de Windows para que funcione la base de datos

Este artículo contiene información sobre el procedimiento de instalación de 1C en la versión cliente-servidor.

La instalación de la plataforma 1C se describe en nuestro otro artículo: "Administración de 1C", en la sección "Instalación de 1C". Instalar en un servidor es casi exactamente lo mismo que instalar en una computadora local, con una sola diferencia. En la versión de servidor, al seleccionar los componentes a instalar, debe seleccionar “1C:Enterprise Server” y “1C:Enterprise Server Administration”.

Instale 1C en las computadoras cliente desde las cuales se realizarán las conexiones al servidor.

La instalación en computadoras cliente no difiere del método descrito anteriormente en el artículo "Administración 1C".

Crear una base de datos en SQL.

Crear una base de datos en SQL también es muy similar a crear una base de datos en la versión de archivo. La diferencia es que en la etapa de selección del tipo de ubicación de la base de información, debe seleccionar "En el servidor 1C:Enterprise".

En el elemento "Clúster de servidores", especifique el nombre (o mejor aún, la dirección IP) del servidor en el que instaló SQL.

En la sección "Nombre de la base de datos", especifique el nombre que desee darle a la base de datos.

Tipo de DBMS: SQL.

El usuario de la base de datos y su contraseña son los mismos superusuario mencionados anteriormente durante la instalación de MS SQL.

Deje el desplazamiento de fecha por defecto.

Es necesario marcar la opción “Crear una base de datos si no existe” y hacer clic en “Siguiente”.

Ahora la base de datos se creó correctamente en el servidor SQL y se agregó a la lista de bases de datos disponibles. Abajo en la imagen podéis ver el resultado del trabajo realizado.

Vale la pena señalar que la base de datos creada todavía está vacía. Este es un marco, un lugar asignado en SQL para su base de información. Para cargar su base de datos en este marco, necesita utilizar las herramientas Cargar/Cargar base de información. El procedimiento de carga/descarga también se describe en nuestro otro artículo "Administración 1C".

Para llevar el sistema a un estado ideal en el futuro, será necesario configurar un "plan de mantenimiento" para la base de datos creada. Un plan de mantenimiento es un conjunto de procedimientos que SQL realizará periódicamente según un cronograma determinado. Por ejemplo, realizará copias de seguridad y eliminará archivos temporales con regularidad. Trabajar con SQL está más allá del alcance de este artículo y se describirá en uno de los siguientes.


En general, configurar MS SQL Server para trabajar con 1C Enterprise no difiere mucho de su configuración habitual, pero todavía hay algunos matices que se han identificado experimentalmente.

Consideremos lo más puntos importantes en la instalación y posterior configuración del servidor y bases de datos con el fin de optimizar el funcionamiento de 1C.

Instalación del servidor MS SQL

No consideraremos todos los pasos de instalación y solo tocaremos aquellos puntos que requieran atención especial.

Seleccionar y configurar componentes

Para trabajar con MS SQL Server con 1C Enterprise, simplemente seleccione el siguiente conjunto de componentes:

  • Servicios del motor de base de datos
  • Comunicaciones de las instalaciones del cliente
  • Controles: básicos
  • Herramientas de gestión: conjunto completo (necesitaremos el conjunto completo para crear un plan de mantenimiento)

¡Importante! Es mejor especificar el directorio de componentes comunes en un disco separado (separado del sistema operativo). Esto aumentará la velocidad y la tolerancia a fallos.

Configuración del servidor

Para iniciar los servicios del Agente SQL Server y del Motor de base de datos SQL, especifique cuenta. Puede crear una cuenta separada con derechos de administrador o especificar la cuenta de administrador. Sin embargo, vale la pena recordar que si alguna vez decide cambiar la contraseña de la cuenta que especificó aquí, el servicio dejará de iniciarse. Por lo tanto, utilice una cuenta cuya contraseña no planee cambiar.

Configuración del componente del motor de base de datos

Especificamos el modo mixto y configuramos una contraseña para sa, la cuenta del sistema SQL Server.

Agregue cuentas de computadora o dominio que puedan administrar SQL.

Configuración de un firewall para mssql y 1C Server

Creamos reglas que permiten conexiones entrantes al puerto 1433 para MS SQL y 1541-1560 para 1C Server

Creamos una regla para el programa. La ruta al programa se verá así
C:\Archivos de programa\Microsoft SQL Server\MSSQL13. \MSSQL\Binn\sqlservr.exe

Configurar las propiedades del servidor Ms SQL para trabajar con 1C

Inicie Microsoft SQL Server Management Studio y conéctese al servidor.

Abra la ventana de propiedades del servidor y vaya a Memoria. Establecemos el valor máximo permitido de asignación de memoria para las necesidades del servidor SQL. Si no se hace esto, consumirá toda la memoria libre, porque el valor predeterminado es 2147483647 MB. El valor de memoria permitido se puede calcular mediante la fórmula (utilicé la experiencia de Alexey Novoselov de Infostat.ru):
[Cantidad total de RAM del servidor] – – Por ejemplo, si solo tenemos 36 GB de RAM en el servidor, Windows 2008 está instalado y se están ejecutando 8 procesos rphost, entonces el cálculo es el siguiente: 36 – 4 – 1,5*8 = 20 GB, establecemos un límite para SQL.

Vaya al elemento Procesador. Número máximo También es mejor configurar los subprocesos de trabajo manualmente y establecer el valor en 2048, ya que con un valor de 0 el número de subprocesos no puede exceder 255. Habilite la opción Mantener prioridad SQL.

Por supuesto, estos consejos para configurar las propiedades del servidor no son una panacea y no serán igualmente buenos en todas las condiciones, pero en la mayoría de los casos creo que son bastante adecuados.

Configurar una base de datos de trabajo de 1C Enterprise

Abra las propiedades de la base de datos personalizada.

Ahora lo más importante es decidir el modelo de recuperación de la base de datos. Se configuran en nukt parámetros. Veamos dos modelos de recuperación principales.

1. Sencillo. Debe usarse en el caso de que planee realizar copias de seguridad una vez al día y no le importe la capacidad de restaurar con precisión hasta cierto punto. Podría ser 1C Accounting o ZUP, donde no hay una gran cantidad de transacciones diarias. Haz una copia de seguridad cada noche y duerme bien. Sin dificultades.

2. Completo. Este modelo se utiliza mejor para realizar copias de seguridad de bases de datos con una gran cantidad de transacciones intradía, por ejemplo, ventas en 1C Retail. Con este modelo, tendrá todas las transacciones guardadas en registros y podrá restaurar la base de datos en cualquier momento. Pero en este caso tendrás que modificar la configuración del registro de transacciones.

Cuando hayamos decidido el modelo de recuperación, podremos ir a [Archivos]

La configuración del tipo de archivo [Diario] se puede omitir si se usa modelo sencillo recuperación.
Si utiliza la versión completa, deberá ajustar la configuración. Establezca la expansión automática en 50 MB. Vale la pena prestar atención a la limitación de la expansión automática y es mejor cambiarla porque El valor predeterminado es superior a 2 TB. Para una gran cantidad de transacciones, por ejemplo ventas al por menor En 1C Retail, el registro de transacciones crecerá muy rápidamente y pronto se quedará sin espacio libre en su disco. Por tanto, es mejor establecer el límite en 10 GB. Pero esto es sólo una recomendación, porque todo es individual y depende de la cantidad de transacciones.

Al establecer un límite, vale la pena recordar que cuando alcance el valor extremo, recibirá un error: "el registro de transacciones de la base de datos está lleno" y 1C no se iniciará. Para que el registro de transacciones se borre oportunamente, es necesario configurar su copia de seguridad en el plan de mantenimiento de la base de datos. Lea acerca de cómo crear un plan de mantenimiento de base de datos.

Pero borrar el registro de transacciones no reduce el tamaño del archivo en sí, sino que solo libera espacio libre para nuevas entradas al eliminar las transacciones completadas inactivas.

Si el registro está lleno, deberá borrarlo manualmente para que la base de datos funcione. Lea cómo hacer esto en

En la mayoría de los casos, para instalar 1C:Enterprise 8.x en la versión cliente-servidor, basta con ejecutar el programa de instalación 1C:Enterprise 8.x. En este caso, el servidor 1C:Enterprise recibe los valores de parámetros estándar necesarios para su funcionamiento normal.

Veamos con más detalle la instalación del servidor 1C:Enterprise. Durante la instalación del servidor 1C:Enterprise 8.x, el programa de instalación 1C:Enterprise 8.x realiza las siguientes acciones:

* Copia los módulos de arranque del servidor 1C:Enterprise al directorio especificado por el programa de instalación de 1C:Enterprise como carpeta final.
* Si se selecciona "Crear usuario USR1CV81" durante la instalación, se crea el usuario USR1CV81. El servidor 1C:Enterprise 8.1 se ejecuta en nombre de este usuario si se inicia como un servicio. Tiene acceso sólo a aquellos recursos que necesita el servidor 1C:Enterprise. Es importante que el servidor 1C:Enterprise requiera dos directorios para funcionar: un directorio general con datos del servidor (normalmente "C:\Program Files\1cv81\server") y un directorio de archivos temporales (normalmente "C:\Documents and Settings \usr1cv81\Configuración local \Temp" o "C:\WINNT\Temp"). El usuario USR1CV81 recibe derechos sobre el directorio compartido con datos del servidor. El directorio de archivos temporales suele ser accesible para todos los usuarios.
* Si durante el proceso de instalación está habilitado "Instalar el servidor 1C:Enterprise 8.1 como servicio de Windows", registra el servicio del agente del servidor 1C:Enterprise en Windows y lo inicia. En el primer inicio, se crea un grupo de servidores 1C:Enterprise con la configuración predeterminada. Tiene un servidor trabajador y un proceso trabajador. La dirección del servidor en funcionamiento coincide con el nombre de la computadora en la que se realizó la instalación.

Usuario USR1CV81 o USR1CV82 y sus derechos

1C:Enterprise Server es una aplicación de servidor cuyo funcionamiento no debe depender de qué usuario ha iniciado sesión en la computadora del servidor en modo interactivo, si es que alguien ha iniciado sesión. Por lo tanto, al instalar un servidor 1C:Enterprise, es recomendable crear un usuario especial USR1CV81, dotado de los derechos mínimos necesarios para el servidor 1C:Enterprise y no destinado al inicio de sesión interactivo. El usuario USR1CV81 presenta el servidor 1C:Enterprise al sistema Windows.

Echemos un vistazo más de cerca a los derechos establecidos para el usuario USR1CV81. El servidor 1C:Enterprise utiliza los siguientes directorios:

* El directorio de carga de módulos se encuentra en el directorio especificado por el programa de instalación de 1C:Enterprise como carpeta final. Contiene los módulos de carga del servidor 1C:Enterprise. El usuario USR1CV81 requiere derechos para leer datos y ejecutar programas desde este directorio y sus subdirectorios. Recibe estos derechos implícitamente al estar incluido en el grupo de Usuarios.
* El directorio de datos del servidor suele denominarse "C:\Program Files\1cv81\server". El usuario USR1CV81 requiere todos los derechos sobre este directorio. Al crear el usuario USR1CV81, el programa de instalación de 1C:Enterprise le otorga derechos sobre este directorio.
* El directorio de archivos temporales generalmente se denomina "C:\Documents and Settings\usr1cv81\Local Settings\Temp" o "C:\WINNT\Temp", que está determinado por el valor de la variable TEMP del entorno del usuario o el TEMP del entorno del sistema. variable. Puede ver el valor de esta variable en el cuadro de diálogo Propiedades del sistema (Inicio -> Configuración -> Panel de control -> Sistema -> Avanzado -> Variables de entorno). El programa de instalación de 1C:Enterprise otorga al usuario USR1CV81 todos los derechos sobre este directorio. Generalmente cuando Instalaciones de Windows Todos los usuarios pueden acceder al directorio de archivos temporales al incluir el grupo CREADOR PROPIETARIO en su lista de acceso. Sin embargo, este acceso no es completo. En particular, la búsqueda de archivos en este directorio no está disponible para todos los usuarios. Configurar al usuario USR1CV81 con todos los derechos sobre el directorio de archivos temporales permite que el servidor 1C:Enterprise realice todas las operaciones que necesita. Puede ver la lista de acceso en el cuadro de diálogo de propiedades del directorio en la pestaña Seguridad. La presencia del grupo CREATOR OWNER permite el acceso al directorio a cualquier usuario que cree archivos en este directorio o sea propietario de archivos en este directorio. En este caso, en la lista de acceso del archivo creado, en lugar del grupo CREADOR PROPIETARIO, se escribirá el usuario que creó el archivo. Entre los usuarios a los que se les permite acceder a este directorio, debe estar el usuario USR1CV81, que tiene todos los derechos sobre este directorio.
Es importante tener en cuenta que el directorio de archivos temporales para un usuario determinado (incluido el usuario USR1CV81) está determinado por una combinación de las variables de entorno de ese usuario y las variables de entorno del sistema. Para conocer este directorio, el programa de instalación de 1C:Enterprise solicita el contexto de usuario USR1CV81. Para hacer esto en Windows 2000, el usuario en cuyo nombre se inicia el programa de instalación 1C:Enterprise puede necesitar los siguientes privilegios: actuar como parte del sistema operativo y evitar la verificación transversal. Puede verificar los privilegios de usuario utilizando la utilidad Configuración de seguridad local en la rama Políticas locales -> Asignación de derechos de usuario. En el proceso de instalación de un nuevo software El instalador normalmente obtiene estos privilegios automáticamente.

Registrar un servidor 1C:Enterprise como servicio de Windows


1C:Enterprise Server es una aplicación de consola de Windows sencilla y se puede iniciar de forma interactiva. Sin embargo, para un uso constante esto es un inconveniente, ya que requiere el inicio del servidor 1C:Enterprise desde el inicio de sesión de un usuario inactivo en la computadora servidor. Para eliminar esta dependencia, el servidor 1C:Enterprise se puede iniciar como un servicio de Windows. Para ello es necesario estar registrado en el administrador de servicios de Windows.

Para ver una lista de los servicios de Windows y sus parámetros, utilice la utilidad Servicios de componentes (Inicio -> Configuración -> Panel de control -> Herramientas administrativas -> Servicios). El servidor 1C:Enterprise está representado en la lista de servicios por el servicio "1C:Enterprise Server Agent 8.1". Los parámetros del servicio determinan el inicio del proceso 1C:Enterprise Server Agent (ragent), el usuario bajo cuyo nombre se inicia y el método de reinicio en situaciones de emergencia.

En el cuadro de diálogo de propiedades del servicio "1C:Enterprise 8.1 Server Agent", en la pestaña General, se muestra la línea para iniciar el proceso ragent, que es 1C:Enterprise Server Agent. Normalmente esta línea se parece a:


Se afirma que:

* el proceso de Server Agent es el módulo de inicio "C:\Program Files\1cv81\bin\ragent.exe";
* el proceso ragent se ejecuta como un servicio de Windows y debe ser administrado por un administrador de servicios (-srvc);
* utilizado como 1C:Enterprise Server Agent (-agent);
* al iniciar el servicio por primera vez se debe crear un cluster con parámetros predeterminados y número de puerto IP principal 1541 (-regport 1541). Usando este puerto, las aplicaciones cliente deben conectarse a las bases de datos registradas en el clúster;
* El puerto IP del agente del servidor debe tener el número 1540 (-puerto 1540). Usando este puerto, la Consola del Clúster debe conectarse al servidor central para realizar funciones administrativas;
* al iniciar procesos de clúster en Este servidor se les asignarán dinámicamente puertos IP del rango 1560-1591 (-rango 1560:1591).
* los datos generales del clúster se ubicarán en el directorio "C:\Program Files\1cv81\server" (-d "C:\Program Files\1cv81\server").

El servicio "1C:Enterprise 8.1 Server Agent" se puede agregar o eliminar no solo al instalar o desinstalar 1C:Enterprise usando el programa de instalación 1C:Enterprise 8.1, sino también manualmente. Para hacer esto, puede ejecutar desde línea de comando la utilidad ragent, especificando los parámetros apropiados.

Para crear un servicio, debe especificar el parámetro -instsrvc y los siguientes parámetros: -usr: el nombre del usuario bajo cuyo nombre se debe iniciar el servicio, -pwd: la contraseña de este usuario. En este caso, los parámetros restantes se convertirán en los parámetros de la línea de lanzamiento del Agente de Servidor 1C:Enterprise como servicio. Por ejemplo, para el registro estándar del servicio 1C:Enterprise Server Agent en modo de depuración, el conjunto de parámetros debe ser el siguiente:

"C:\Program Files\1cv81\bin\ragent.exe" -instsrvc -usr .\USR1CV81 -pwd Contraseña -regport 1541 -puerto 1540 -range 1560:1591 -d "C:\Program Files\1cv81\server" - depurar

Para eliminar un servicio, debe especificar el parámetro -rmsrvc. Por ejemplo:
"C:\Archivos de programa\1cv81\bin\ragent.exe" -rmsrvc

A veces es útil cambiar la línea de inicio del Agente del Servidor u otros parámetros del servicio del Agente, por ejemplo, habilitar el modo de depuración o crear varios servicios de diferentes versiones. El cuadro de diálogo de propiedades del servicio no le permite editar la línea de inicio de la aplicación del servicio ni algunos otros parámetros, por ejemplo, el identificador del servicio. Para editar, necesitará la utilidad regedit, diseñada para ver y editar el registro del sistema de Windows.

¡Atención!
Editar el registro de Windows requiere extrema precaución, ya que cambios erróneos en él pueden provocar Sistema operativo a un estado inoperable.

Ejecute la utilidad regedit (abra Inicio -> Ejecutar y escriba regedit) y seleccione la rama:


Entre sus parámetros se encuentra el parámetro ImagePath, cuyo valor es la cadena de inicio del 1C:Enterprise Server Agent. Aquí puede agregar nuevos parámetros de cadena de inicio o cambiar los valores de los existentes. Lista llena Los parámetros posibles se proporcionan en la documentación del libro "1C:Enterprise 8.1 Client-Server".

Si necesita registrar varios servicios 1C:Enterprise Server Agent independientes, deberá especificar diferentes módulos de arranque, diferentes puertos y diferentes directorios de datos del clúster para ellos. También debe registrarlos con diferentes identificadores de servicio. Esto se puede hacer así:

* Crear el primer servicio:
"C:\Program Files\1cv81\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv81\server"

* Usando la utilidad regedit, cambie el identificador del servicio registrado. Para hacer esto: seleccione una sucursal
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Agente de servidor Enterprise 8.1

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 Server Agent primero
* Crear un segundo servicio:
"C:\Program Files\1cv81_10\bin\ragent.exe" -srvc -agent -regport 1641 -port 1640 -range 1660:1691 -d "C:\Program Files\1cv81_10\server"

*Quizás también debería cambiarse su DNI. Para hacer esto: seleccione una sucursal
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Agente de servidor Enterprise 8.1
y cambiar su nombre, por ejemplo a:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 Server Agent Segundo

¿Qué no puede hacer el programa de instalación de 1C:Enterprise?

Como ya se mencionó, el programa de instalación de 1C:Enterprise copia los módulos de arranque de 1C:Enterprise y realiza el registro necesario en COM y en el administrador de servicios de Windows. Lo anterior es información necesaria para comprender los mecanismos internos de este registro. Si en el ordenador servidor no sólo está instalado el servidor, sino también la parte cliente de 1C:Enterprise, entonces estará listo para funcionar inmediatamente después de la instalación (y de conectar las claves de seguridad).

Para que el servidor 1C:Enterprise sea accesible desde otras computadoras en red local, debe verificar la configuración de red en el servidor y la computadora cliente, así como la red en su conjunto. TCP/IP se utiliza para transferir datos entre aplicaciones cliente y el servidor 1C:Enterprise, así como entre procesos del clúster de servidores. El funcionamiento de 1C:Enterprise en la versión cliente-servidor depende de su correcta configuración.

Los procesos de un clúster de servidores 1C:Enterprise se conectan entre sí en las direcciones definidas como los valores de la propiedad "Computadora" en el cuadro de diálogo de propiedades de los servidores en funcionamiento. El clúster requiere que el valor de la propiedad Computadora sea una dirección IP en notación de puntos o una dirección simbólica a partir de la cual se pueda determinar la dirección IP utilizando la función gethostbyname definida en la API de TCP. La dirección IP se determina basándose en la tabla de direcciones simbólicas local (C:\WINNT\system32\drivers\etc\hosts) o utilizando las tablas de direcciones disponibles Servidores DNS. Si la dirección simbólica del servidor en funcionamiento no determina su dirección IP o la determina incorrectamente (por ejemplo, la dirección IP no coincide con la dirección IP real de esta computadora), entonces el clúster no funcionará. Es importante que los nombres de las computadoras y sus direcciones definidas en Windows en cada uno de los servidores en funcionamiento del clúster no contradigan sus nombres en DNS.

En cada servidor en funcionamiento, los procesos del clúster utilizan los siguientes puertos: puerto IP del servidor en funcionamiento (normalmente 1540); Puertos IP de los rangos de puertos IP del flujo de trabajo (normalmente 1560-1591). Además, el servidor central del clúster utiliza el puerto del clúster (normalmente 1541). Si el sistema utiliza firewalls, se debe permitir la transmisión de datos en estos puertos. En lugar de permitir puertos de la lista anterior, puede permitir la transferencia de datos a procesos del clúster (ragent, rmngr, rphost).

La conexión entre la aplicación cliente 1C:Enterprise y el servidor se realiza en 2 etapas. Primero establece una conexión con el administrador del clúster. Esto utiliza la dirección del servidor central (simbólica o numérica) y el puerto del clúster (generalmente 1541). A continuación, la aplicación cliente establece una conexión con uno de los procesos de trabajo. Como dirección se utiliza el valor de la propiedad "Computadora" del servidor de trabajo correspondiente y el puerto del proceso de trabajo, que se selecciona del rango de puertos IP del servidor de trabajo. La transmisión de datos a estos puertos debe estar permitida en todos los firewalls a lo largo de la ruta desde la computadora de la aplicación cliente a las computadoras del clúster de servidores 1C:Enterprise. La dirección IP de los procesos del servidor se determina mediante la función gethostbyname en la computadora cliente. Es importante que los nombres de los servidores centrales y de trabajo y sus direcciones definidas en Windows en cada uno de los servidores del clúster no contradigan sus nombres en el DNS accesible a la computadora cliente.

Y una última cosa. Evidentemente, para poder acceder con éxito al servidor 1C:Enterprise desde otros ordenadores, éste debe estar en la red y se deben realizar las configuraciones necesarias para ello. La conexión a una red y los métodos de configuración se relacionan con la administración de redes basadas en Microsoft Windows y se describen en las instrucciones correspondientes.

Características de configurar un servidor SQL

1C:Enterprise en la versión "cliente-servidor" utiliza un servidor SQL para almacenar datos. En este caso, sólo 1C:Enterprise Server accede al servidor SQL. 1C: Los clientes empresariales no tienen acceso directo al servidor SQL. La instalación y configuración de un servidor SQL se describe en detalle en la documentación de Microsoft SQL Server. Para trabajo exitoso 1C:Servidores empresariales con un servidor SQL, debe prestar especial atención a las siguientes configuraciones.

* Componentes requeridos del servidor SQL. Para acceder al servidor SQL desde el lado del servidor 1C:Enterprise, se deben instalar componentes Microsoft Data Access 2.6 o posterior en la computadora del servidor 1C:Enterprise.
* Autenticación de usuario por servidor SQL. Los derechos de acceso a las bases de datos del servidor SQL los determina el usuario en cuyo nombre se accede a las bases de datos. Desde la computadora en la que está instalado el servidor SQL, inicie la utilidad SQL Server Enterprise Manager, busque el nodo local (Raíz de la consola -> Servidores Microsoft SQL -> Grupo de servidores SQL -> (Local)) y abra sus propiedades. En la pestaña Seguridad puede ver que el servidor SQL admite dos métodos de autenticación de usuario: SQL Server y Windows y solo Windows. La autenticación de Windows permitirá que 1C:Enterprise Server acceda al servidor SQL solo en nombre del usuario USR1CV81, lo que no permite diferenciar los derechos de acceso a diferentes bases de datos servidas por un servidor 1C:Enterprise. Se recomienda seleccionar el modo SQL Server y Windows. En este caso, el acceso a una base de datos específica se realizará en nombre del usuario que se especificó como usuario del servidor SQL al crear esta base de datos. Es importante que este usuario no sólo tenga todos los derechos sobre la base de datos de la base de datos, sino también derechos para crear bases de datos en el servidor SQL y leer las tablas de la base de datos maestra.
* Protocolos de red para acceder al servidor SQL. Si 1C:Enterprise Server y el servidor SQL están ubicados en computadoras diferentes, entonces necesita configurar los protocolos de acceso a la red al servidor SQL. Esto se puede hacer utilizando la Utilidad de red del cliente SQL Server. En la pestaña General, puede seleccionar una lista de protocolos de red utilizados para acceder al servidor SQL. La más rápida y versátil es utilizar el protocolo TCP/IP. Cuando utilice otros protocolos, tenga en cuenta que algunos, como Named Pipes, realizan autenticación adicional usando windows al intercambiar datos con un servidor SQL. En este caso, para trabajar exitosamente con el servidor SQL, el usuario USR1CV81 debe estar registrado en la computadora con el servidor SQL, con los derechos correspondientes. El protocolo de acceso para este servidor SQL se puede cambiar en la pestaña Alias.

Además del artículo

No hay duda de que la combinación de servidor MS SQL Server + 1C: Enterprise 8 es la combinación más popular y utilizada con más frecuencia en su nicho. Por su soporte de alta calidad, es deseable tener conocimiento de ambos productos. Al mismo tiempo, en la práctica, un especialista en soporte generalmente se especializa en administrar el servidor MS SQL y no está familiarizado con las características del servidor 1C: Enterprise 8 o, por el contrario, se especializa en administrar el servidor 1C: Enterprise 8 y no está familiarizado con las características de MS SQL Server.

Este artículo fue escrito para ayudar tanto a esos como a otros especialistas, diseñado para ahorrarle tiempo y llamar su atención sobre los detalles más importantes al utilizar estos productos de software juntos.

Para facilitar la comprensión de la información, se proporcionan estudios de casos, notas y consejos (en cursiva).

Circuito de tres enlaces

Como el lector ya sabrá, la base de datos del caso que nos ocupa tiene una arquitectura de tres niveles:

Enlace 1: DBMS de MS SQL Server. “Almacena” y mantiene la base de datos y, en última instancia, realiza todo tipo de operaciones de base de datos. Por tanto, el rendimiento de la base de datos, la velocidad y el paralelismo de lectura y escritura de datos están determinados en gran medida por el rendimiento de MS SQL Server.

Enlace 2: Servidor "1C: Enterprise 8". Sirve como intermediario en la interacción entre clientes (usuarios) y MS SQL Server. Todas las solicitudes de los clientes se envían al servidor, que las "traduce" al lenguaje de consulta de MS SQL Server, recibe los resultados de la ejecución de estas consultas y los envía al cliente.

Solo una pequeña parte de las operaciones se realizan en el nivel del servidor 1C: Enterprise 8, sin acceder a MS SQL; se trata, en particular, de rastrear los llamados "bloqueos administrados", leer y escribir "parámetros de sesión". En tales casos, no se requiere acceso al DBMS, ya que estas operaciones no se realizan con datos de la base de datos, sino con información del servidor auxiliar.

Enlace 3: Parte del cliente de "1C: Enterprise 8". Accede al servidor 1C: Enterprise 8, recibe resultados del mismo (es decir, por ejemplo, muestras de datos) y es responsable de la interfaz de usuario.

"Quería lo mejor".

Después de reinstalar el servidor 1C: Enterprise 8, los usuarios se quejan de una fuerte caída en el rendimiento. El especialista en implementación de software 1C: Enterprise que llevó a cabo la reinstalación solo se sorprende: dicen que quería lo mejor, el sistema debería haber comenzado a funcionar más rápido... El análisis de la situación mostró que al servidor 1C: Enterprise 8 se le asignaron demasiados recursos : procesa (ver punto 3) rphost ocupaba 15,5 GB de los 16 GB de RAM del servidor, como resultado, prácticamente no había RAM disponible para el servidor MS SQL compatible.

El resultado es un "intercambio" constante, una carga innecesaria en el subsistema de disco y una ejecución extremadamente lenta de las operaciones de la base de datos, debido al hecho de que MS SQL Server no tiene tiempo para procesar las solicitudes provenientes del 1C "overclockeado": Enterprise 8. servidor.

Compatibilidad del producto

La información actual sobre las versiones de MS SQL Server recomendadas para su uso junto con 1C: Enterprise 8 se puede encontrar en este enlace http://v8.1c.ru/requirements/.

Al momento de escribir este artículo, los desarrolladores de 1C recomiendan las siguientes opciones:

      1. Servidor SQL 2008 R2.
      2. SQL Server 2008, requiere la instalación del Service Pack 1 (SP1).
    3. SQL Server 2005, requiere la instalación del Service Pack 3 (SP3).



Es técnicamente posible, pero no recomendado, utilizar MS SQL Server 2000; requiere la instalación del Service Pack 2 (SP2), y es deseable la instalación del Service Pack 4 (SP4).

Tenga en cuenta que esta versión está actualmente en desuso y no tiene una versión de 64 bits para la arquitectura x86-64.

Nota:

Es necesario prestar atención a la configuración del sistema operativo: por ejemplo, para trabajo eficiente M SQL Server 2008 bajo el sistema operativo Server 2008R2 requiere deshabilitar el modo de energía equilibrada y cambiar al modo de rendimiento máximo.

Instalación de la versión cliente-servidor de "1C: Enterprise 8"

"1C instalado"

Para uno de los clientes, la instalación de 1C: Enterprise 8 la realizó un administrador del sistema que no tenía experiencia trabajando con 1C: Enterprise 8. Y aunque, según él, "instaló 1C", no había ninguna parte del cliente en las computadoras de los usuarios y no había ninguna parte del servidor en el servidor. El análisis de la situación aclaró el panorama: el kit 1C: Enterprise 8 incluía 2 discos: instalación de la plataforma e instalación de plantillas de bases de datos. El administrador no profundizó en el procedimiento de instalación e instaló plantillas de bases de datos, en lugar de archivos ejecutables, componentes de la plataforma.

Por supuesto, este es un ejemplo atípico de una actitud excepcionalmente desatendida hacia el trabajo.

Al instalar "1C: Enterprise 8", debe tener en cuenta que lo siguiente se instala por separado:

      La plataforma 1C: Enterprise 8 es una aplicación ejecutable, un entorno integrado para el desarrollo y operación de bases de datos. Cuando lo inicia, selecciona uno de dos modos operativos: "Enterprise" (shell de base de datos de usuario) o "Configurador" (entorno de desarrollo integrado). Una descripción más completa se puede leer en el enlace.
      Las plantillas de configuración "1C: Enterprise" son un archivo del formato interno de la plataforma, con la ayuda del cual la plataforma puede crear una base de datos pura o de demostración de la estructura contenida en la plantilla. También puede utilizar el patrón de actualización para actualizar la estructura de una base de datos existente que ya está llena de datos.
      Al instalar la plataforma, debes prestar atención a la selección de componentes:





Es posible que el componente 1C: Enterprise no esté instalado en los servidores.

En este caso, el servidor proporcionará a las computadoras cliente acceso a las bases de datos 1C: Enterprise, pero no será posible trabajar con la base de datos en modo de usuario directamente desde el servidor.

Nota:

La versión de 64 bits de la plataforma no contiene una parte de cliente. Por lo tanto, al instalar en un servidor, los componentes del servidor de 64 bits se instalan por separado y los componentes de la aplicación cliente de 32 bits se instalan por separado.

Para conectarse a MS SQL Server, se necesita el componente "1C Server: Enterprise": es un servidor de aplicaciones, un enlace de conexión entre la plataforma en las estaciones de trabajo del cliente y MS SQL Server.

Es posible instalar el componente en el modo de una aplicación simple o servicio del sistema y, por supuesto, se recomienda la segunda opción.

Cuando se instala "como servicio", este componente se iniciará y ejecutará en nombre del usuario seleccionado:




Después de la carga, el componente genera varios procesos, como: "agente del servidor", "administrador del clúster del servidor", "procesos de trabajo del servidor".

Las consultas a la base de datos son ejecutadas por procesos de trabajo y el administrador del clúster de servidores distribuye la carga entre ellos.

Los procesos de trabajo del servidor se pueden administrar (agregar, eliminar, establecer límites en el uso de RAM, declararlos primarios o de respaldo) si el componente 1C: Enterprise Server Administration está instalado.



Nota:

Para la versión de 32 bits del servidor, se recomienda instalar procesos de trabajo en una cantidad tal que no deje RAM sin utilizar; cada uno de ellos tiene una limitación notable en el uso de RAM, de 2 a 4 GB, según el sistema. configuración.

Para la versión de 64 bits del servidor, en teoría son suficientes dos procesos de trabajo: uno de trabajo y otro de respaldo. Sin embargo, en la práctica, para garantizar la confiabilidad y estabilidad de las conexiones para un número significativo (varios cientos) de usuarios, se requiere un número mayor; esto depende de muchos factores: el número de usuarios, el contenido de la base de datos y el volumen de consultas realizadas, por lo que los autores creen que el número de procesos en este caso debe seleccionarse experimentalmente.

"Uróboros"

Después de una optimización fallida de la configuración del servidor 1C: Enterprise 8, los usuarios informaron un funcionamiento del sistema extremadamente lento y el administrador del sistema notó una carga constante del procesador del 100% en el servidor.

Un análisis de la situación mostró el origen del problema: durante la configuración, se estableció un límite demasiado pequeño en el uso de RAM por parte de los procesos de trabajo.

Pero el caso es que esta limitación funciona de la siguiente manera:

Cuando el administrador del clúster de servidores ve que un proceso de trabajo ha excedido el límite de RAM, el proceso finaliza, se deshabilita, se crea un nuevo proceso de trabajo y las conexiones y solicitudes de los usuarios se redistribuyen entre los procesos de trabajo.

El límite establecido era tan pequeño (300 MB) que el proceso de trabajo no podía atender completamente ni siquiera a un usuario intensivo; como resultado, el administrador del clúster de servidores reiniciaba constantemente los procesos de trabajo y reconectaba a los usuarios. Tan pronto como se creaba un nuevo proceso y los usuarios se conectaban a él, el límite de RAM se alcanzaba casi instantáneamente y provocaba el siguiente reinicio. Esto tomó el 100% de la carga del procesador.

El componente "1C Server: Enterprise" no es necesario en las estaciones de trabajo cliente y no podrá iniciarse allí, ya que requiere la presencia física de una clave de seguridad.

Si la cantidad de usuarios conectados es pequeña (menos de 50), el servidor de aplicaciones generalmente se instala en la misma computadora donde se ejecuta MS SQL Server.

Para sistemas con una gran cantidad de usuarios y/o un gran volumen de flujos de información, se recomienda una instalación por separado, así como el uso de un clúster de servidores.

El componente "1C: Enterprise Server Administration" también puede ser útil en los clientes; por ejemplo, con su ayuda puede ver una lista de bases de datos conectadas a un servidor "1C: Enterprise" determinado.

Se recomienda encarecidamente instalarlo en el propio servidor.

Acceso

Nota:

Para verificar que se proporciona acceso, no basta con utilizar la utilidad de administración del servidor 1C: Enterprise y, más aún, ¡la presencia del servidor en el "Entorno de red" no es suficiente!

Es necesario que cada cliente inicie sesión en la base de datos instalada en el servidor; solo esto le dará un 100% de confianza en que se proporciona acceso.

1. Dependiendo de las políticas de seguridad, MS SQL Server utiliza la autenticación de cuenta de Windows o la autenticación de cuenta de MS SQL Server.




En este último caso, al crear una base de datos 1C: Enterprise, el sistema solicitará el nombre de usuario y la contraseña de la cuenta de MS SQL Server (por ejemplo, sa), en el primer caso el nombre de usuario y la contraseña deben dejarse vacíos:



y el usuario del sistema en cuyo nombre se ejecuta el servidor 1C: Enterprise debe tener derechos en MS SQL Server, a saber:

      plenos derechos sobre la base de datos en la que se encuentra la base de información
      acceso a la base de datos maestra (rol público)
      recomendado: derechos para crear una base de datos; de lo contrario, cada nueva base de datos deberá crearse primero con MS SQL Sever y solo luego conectarse al servidor 1C: Enterprise
      recomendado - derecho a eliminar su base de datos



Por ejemplo, puede asignar al usuario en cuestión el rol fijo Processadmin o Sysadmin.

Consejo.

Si todos los usuarios pierden simultáneamente el acceso a la base de datos de trabajo, debe volver a verificar los derechos y roles de los usuarios en MS SQL Server, incluidos los configurados para una base de datos específica, es decir, la asignación de usuarios:




2. Servidor 1C: Enterprise accede a MS SQL Server a través del mecanismo de acceso a datos de Microsoft, por lo que sus componentes deben estar instalados y el usuario del servidor 1C: Enterprise (ver párrafo anterior) debe tener derechos para ejecutarlos.

3. La comunicación entre los clientes y el servidor está soportada por el protocolo TCP, por lo que es necesario que este protocolo sea soportado por ambas partes. Puede haber problemas para hacer coincidir el nombre del servidor y su dirección IP, por ejemplo, si se utiliza una red peer-to-peer. En este caso, deberá registrar la correspondencia en el archivo [C:\WINDOWS\] system32\drivers\etc\hosts.

Consejo.

Si la red es peer-to-peer, para garantizar una conexión permanente con el servidor, cree una unidad de red que acceda a cualquiera de las carpetas de este servidor.

4. Si se utiliza el protocolo Named Pipes y si MS SQL Server y el servidor 1C: Enterprise están instalados en diferentes computadoras, el usuario en cuyo nombre se ejecuta el servidor 1C: Enterprise debe estar registrado en la lista de usuarios de la computadora. en el que se ejecuta MS SQL Server.

5. En algunos casos, es posible que se requiera una configuración adicional del firewall de Windows, es decir, agregar excepciones.

6. Algunos programas antivirus pueden bloquear el tráfico de red "no deseado", por lo que es posible que deba agregarlos a sus listas de exclusión.

7. El lanzamiento de la plataforma 1C: Enterprise 8 debe ser absolutamente idéntico en el cliente y en el servidor.

"Mellizos"

"Uno de los clientes utilizó dos servidores de bases de datos, cada uno de los cuales albergaba una base de datos funcional. Los usuarios trabajaban, cada uno simultáneamente con ambas bases de datos. El servicio de soporte actualizó la plataforma 1C: Enterprise 8 en servidores y clientes.... Y luego comenzaron a llegar las quejas Por la imposibilidad de conectarse primero a una u otra base de datos. El análisis de la situación mostró que la actualización en los clientes y servidores fue realizada por varias personas, y los instaladores no verificaron que estuvieran instalando la misma versión. , en un servidor había una versión de la plataforma, en el segundo - otra, en la mitad de los clientes - la primera de estas versiones, en la otra mitad - la otra... Resultó que cada usuario tiene acceso solo a una de las bases de datos.

Para resolver rápidamente el problema, cada usuario tuvo que instalar ambas versiones de la plataforma y crear accesos directos separados para iniciar sesión en cada base de datos.

Configuración inicial de MS SQL Server y base de datos

“Y así es como funciona”

MS SQL Server se distingue por su sencilla instalación inicial, por lo que no todos los administradores se molestan en su configuración adicional: después de realizar la instalación predeterminada, la base de datos está funcionando, los usuarios inician sesión y el trabajo está hecho. Este enfoque casi siempre conduce a que surjan problemas después de aproximadamente uno o dos meses y, por supuesto, de repente y en el momento más inconveniente.

Por ejemplo, si la base de datos está destinada al mantenimiento de registros, antes de enviarla declaración de impuestos A menudo surge la necesidad de recalcular urgentemente ciertos datos y recalcular en masa, digamos, "todos los ingresos de activos fijos desde principios de año". Además, durante la jornada laboral, sin interrumpir el trabajo de otros usuarios de la base de datos.

Y, por supuesto, es en este momento cuando se descubre que durante dicho recálculo la base de datos se “congela”, “falla” o no permite trabajar a otros usuarios.

Esta especie de “Ley de Murphy” se aplica a cada uno de los siguientes puntos.

Antes de comenzar a utilizar MS SQL Server como DBMS para 1C: Enterprise, se recomienda:

1. Establezca el valor del parámetro de grado máximo de paralelismo en 1.

Eso es:

      Después de conectarse al servidor, ingrese las propiedades del servidor a través del menú contextual, elemento Propiedades
      luego seleccione la página Avanzado y edite el parámetro de grado máximo de paralelismo






De lo contrario, algunas consultas generadas por el servidor 1C: Enterprise pueden provocar el error "El paralelismo intraconsulta provocó que el comando del servidor (ID de proceso #XX) se bloqueara. Vuelva a ejecutar la consulta sin paralelismo intraconsulta utilizando la opción de sugerencia de consulta (maxdop 1 )". Después de este error, la parte del cliente suele fallar.

El error no aparecerá de forma constante, ya que el plan de consulta se forma de manera diferente según las estadísticas acumuladas; aparecerá en consultas grandes y complejas, es decir, en el momento más desafortunado.

2. Cree un plan de mantenimiento que reduzca la base de datos de la tabla temporal tempdb todas las noches. El servidor 1C: Enterprise no siempre borra automáticamente la base de datos de tablas temporales y, a veces, como resultado de una consulta escrita sin éxito, se puede crear y no borrar una tabla temporal de, por ejemplo, 50 GB de tamaño. Como resultado, es posible que se agote el espacio en el disco, por lo que tanto el cliente como el servidor pueden fallar, y también existe un ligero riesgo de violación de la integridad de los datos.

Es decir, necesitas:

      ir a MS SQL Management Studio
      después de conectarse al servidor, expanda la sección "Planes de mantenimiento"
      crear un nuevo plan de servicio (o agregarlo a uno existente),
      agregue el elemento "Ejecutar tarea de declaración T-SQL" (ya que no puede seleccionar la base de datos tempdb en la tarea "Reducir base de datos") con el código




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

Tenga en cuenta que el nombre del archivo de la base de datos de la tabla temporal puede no ser "tempdev". Puedes usar un script para verificar este nombre.

1.UTILIZAR tempdb
2.
3.IR
4.
5.EXEC sp_helpfile
6.
7.IR




“Olla, no cocines”

En la práctica, la forma más común de llenar excesivamente tempdb y, por tanto, bloquear el servidor es olvidarse de especificar una condición al unir tablas.

Es decir, digamos que tenemos dos tablas en la base de datos, cada una con un tamaño de 20 mil registros. Digamos que hay una correspondencia uno a uno entre sus registros y escribimos una consulta que crea una tabla temporal que contiene 20 mil registros con campos de ambas tablas fuente. Pero si olvidamos especificar la condición de unión, ¡cada registro de la primera tabla se unirá a cada registro de la segunda! Es decir, la tabla resultante constará de 20.000 * 20.000 = 400 millones de registros. Etcétera.

3. Para reducir la carga en el subsistema de disco, se recomienda, si es posible, distribuir la base de datos de trabajo y tempdb, los registros y el archivo de intercambio del sistema entre diferentes discos físicos.

Es mejor establecer la ruta deseada para almacenar los archivos de la base de datos de trabajo al crearla editando la columna Ruta:




Para cambiar la ubicación física de los archivos de bases de datos de tablas temporales, use el comando ALTER DATABASE, es decir, en MS SQL Management Studio debe ejecutar el siguiente script (comando "Nueva consulta")

1.UTILIZAR maestro
2.
3.IR
4.
5.ALTERAR LA BASE DE DATOS tempdb
6.
7.MODIFICAR ARCHIVO (NOMBRE = tempdev, NOMBRE DE ARCHIVO = "Nuevo_Disco:\Nuevo_Directorio\tempdb.mdf")
8.
9.IR
10.
11.ALTERAR LA BASE DE DATOS tempdb

12.
13.MODIFICAR ARCHIVO (NOMBRE = templog, NOMBRE DE ARCHIVO = "Nuevo_Disco:\Nuevo_Directorio\templog.ldf")
14.
15.IR

4. No se debe obstaculizar el "crecimiento" de la base de datos de trabajo y su registro: no debe haber límite de tamaño, la propiedad "Crecimiento automático" debe establecerse como un porcentaje, el valor recomendado es 10%. De lo contrario, agregar datos a la base de datos, restaurar desde un archivo y otras operaciones puede llevar un tiempo excesivamente largo.

Para configurar esta propiedad, debe ir a las propiedades de la base de datos a través del menú contextual, seleccionar la sección Archivos y abrir la edición de propiedades del archivo:



5. Se recomienda habilitar la compatibilidad con el protocolo de red TCP/IP en MS SQL Server y deshabilitar todos los demás, de lo contrario colaboración MS SQL Server y servidor 1C: las empresas serán menos estables.




6. En el mismo lugar, borre la sección Alias, porque su instalación provoca errores en la interacción entre MS SQL Server y el servidor 1C: Enterprise.

Antes de comenzar a utilizar la base de datos, se recomienda:

1. Al crear una base de datos desde "1C: Enterprise", establezca el "desplazamiento de fecha" en 2000; de lo contrario, un intento de registrar una fecha anterior al 01/01/1753 (lo cual es posible debido al factor humano) provocará fallas en el base de datos.

¡Atención! ¡El desplazamiento de fecha no se puede cambiar para una base de datos existente!



2. Configure el modelo de recuperación en Simple o cree un plan de mantenimiento, que creará una copia de seguridad diaria de la base de datos y recortará el registro de transacciones (archivo de registro). De lo contrario, durante algunas operaciones el registro de transacciones (archivo de registro) crecerá muy rápidamente: por ejemplo, al reestructurar una base de datos, el crecimiento en el tamaño del archivo de registro puede ser varias veces mayor que el tamaño de la base de datos misma.




3. Cree un Plan de Mantenimiento que realice las siguientes tareas rutinarias al menos una vez por semana:

      Creando una copia de seguridad de la base de datos.
      Actualice las estadísticas de la base de datos y borre el caché de procedimientos (tenga en cuenta que la propiedad de actualización automática de estadísticas no implica borrar el caché de procedimientos).
      Borrar la caché de procedimientos no está incluido en las operaciones estándar de los Planes de Mantenimiento; este paso debe definirse como la ejecución de un script (Execute T-SQL Statement) con el siguiente contenido:
      DBCC FREEPROCCACHE
      Reindexar tablas de bases de datos.






Por supuesto, tiene sentido configurar el envío automático de correos electrónicos sobre la finalización exitosa o fallida de las tareas.




Conclusión

Los problemas que con mayor frecuencia causan dificultades a los administradores de sistemas e implementadores de 1C: Enterprise 8 se consideran en relación con el uso conjunto de MS SQL Server y la versión cliente-servidor de 1C: Enterprise 8.

El autor espera haber cubierto “ambas caras de la moneda” de una manera bastante coherente y accesible.

PD ¡Haga copias de seguridad con frecuencia!

El tema de la instalación de MS SQL Server generalmente se ignora. De hecho, es difícil no instalar este DBMS, incluso si lo hace por primera vez, y es igualmente difícil no ejecutar 1C:Enterprise Server junto con él. Sin embargo, hay una serie de sutilezas no obvias que pueden envenenar significativamente la vida de un administrador, de las que hablaremos hoy.

MS SQL Server ocupa el primer lugar en número de implementaciones junto con 1C:Enterprise, esto se debe en gran parte a la baja barrera de entrada, una persona sin experiencia es bastante capaz de dominar esta combinación, utilizando únicamente el método Siguiente - Siguiente - Finalizar. Y, lo más interesante, todo esto funcionará. Digamos más, en la inmensa mayoría de los casos, la configuración predeterminada del servidor SQL es más que suficiente para garantizar el funcionamiento productivo del servidor 1C: Enterprise y tocarlos no solo es innecesario, sino incluso dañino.

En primer lugar, debes recordar la base del sistema. tempdb, que 1C utiliza activamente para almacenar tablas temporales y resultados intermedios. Además, todas las bases de datos 1C que se ejecutan en el servidor lo utilizan inmediatamente. Y como de forma predeterminada se encuentra en la carpeta de instalación del servidor SQL, es decir en el disco del sistema, luego, cuando la carga aumenta, es tempdb se convierte en un cuello de botella para todo el servidor. Muy a menudo esto conduce a situaciones: compró un HDD / SSD rápido, hay suficientes recursos de disco, pero 1C es lento, lo que puede causar serias dificultades a los administradores novatos.

Segundo punto. Codificación de comparación tempdb debe coincidir con la codificación de la comparación de bases de información; de lo contrario, esto puede conducir en algunos casos a resultados inesperados, incluso errores graves en los cálculos.

Al mismo tiempo, estas dificultades no son nada difíciles de evitar, solo necesita dedicar un par de minutos adicionales durante la instalación o revisar cuidadosamente la configuración de un servidor ya instalado.

Instalación de MS SQL Server para trabajar con 1C:Enterprise

Como ya hemos dicho, instalar un servidor SQL es extremadamente sencillo y no describiremos este proceso en detalle, centrándonos únicamente en la configuración necesaria. Comencemos con la selección de componentes, ya que 1C no utiliza la mayoría de los mecanismos del servidor SQL y si no los vas a utilizar para otros fines, entonces te dejamos solo Motor de base de datos,Comunicaciones de las instalaciones del cliente Y Control S(opcional).

No es necesario instalar las herramientas de administración en el servidor, pero se pueden instalar por separado en lugar de trabajo administrador y administrar todos los servidores MS SQL disponibles desde allí.

También debes verificar los parámetros de clasificación; si tienes la configuración regional configurada correctamente, lo más probable es que no tengas que cambiar nada allí, pero es recomendable verificar este parámetro, debería estar allí. Cirílico_General_CI_AS.

EN Configuraciones del servidor por favor indica Autenticación en modo mixto y establezca la contraseña para el superusuario de SQL - sa. Indique también a continuación los administradores de esta instancia del servidor SQL; de forma predeterminada, ya existe una cuenta bajo la cual se realizó la instalación, pero si otros usuarios también deben administrar esta instancia, entonces tiene sentido indicarlos de inmediato.

Siguiente marcador - Directorios de datos- requiere la mayor atención. Asegúrese de especificar la ubicación de almacenamiento para las bases de datos de usuario y la base de datos. tempdb espacio en una matriz de rendimiento o en un disco independiente. A pesar de que la ubicación de la base de datos se puede especificar al crearla, establecer la configuración predeterminada correcta le evita trabajos innecesarios, así como la situación en la que la base de datos se crea utilizando las herramientas 1C y termina en el directorio predeterminado, es decir. en el disco del sistema. También puede especificar inmediatamente el directorio para almacenar las copias de seguridad.

Puede dejar las configuraciones restantes como predeterminadas y completar la instalación.

Configurar MS SQL Server para trabajar con 1C:Enterprise

Si está tratando con una instancia de SQL Server ya instalada, asegúrese de que la codificación de comparación Cirílico_General_CI_AS, de lo contrario, los datos deben descargarse utilizando las herramientas 1C y reinstalar el servidor (o instalar otra instancia si esta es utilizada por otros servicios).

Para hacer esto, abra Estudio de gestión, seleccione la instancia del servidor SQL requerida, haga clic derecho sobre ella y vaya a Propiedades.

Luego ve al marcador Memoria e indique la cantidad de RAM disponible para el servidor SQL; de lo contrario, el servidor SQL intentará reciclar toda la memoria disponible. En una situación en la que las funciones del servidor SQL se combinan con otras funciones, y en implementaciones pequeñas y medianas generalmente se encuentra en la misma máquina que el servidor 1C, se debe restar de la cantidad total de memoria que necesita el sistema. y el servidor 1C, dándole a SQL lo que queda.

Es difícil dar aquí recomendaciones inequívocas; todo depende del volumen de datos que se procesen; en la práctica, tiene sentido asignar la mitad de la memoria libre al servidor SQL, ajustando posteriormente valor dado en función de su carga real.

La siguiente configuración estará relacionada con la seguridad. Para conectar 1C al servidor, la cuenta se usa con mayor frecuencia sa, que, por decirlo suavemente, no es seguro, ya que le da a la persona que ingresa debajo de él Acceso completo al servidor SQL. Teniendo en cuenta que la administración de las bases de datos 1C a menudo la llevan a cabo especialistas externos, tiene sentido crear una cuenta separada para ellos.

Para hacer esto, abra Seguridad - Inicios de sesión y cree un nuevo nombre (cuenta), especifique la autenticación Servidor SQL y establezca una contraseña.

Luego ve al marcador Roles de servidor y permitir creador de bases de datos, administrador de procesos Y público.

Luego use esta cuenta para conectarse al servidor SQL desde 1C.

Otra configuración se aplica a bases de datos ya creadas, abra las propiedades de la base de datos deseada y vaya a la pestaña Archivos. Encuentra la opción Crecimiento automático/tamaño máximo para el archivo de datos. Por defecto, es 1 MB, lo cual no es óptimo; cuando se trabaja activamente con la base de datos, el DBMS solo se preocupará por aumentar el tamaño del archivo; además, cuando varias bases de datos están trabajando activamente, esto conducirá a una fragmentación significativa. del archivo de datos. Por lo tanto, según el tamaño de la base de datos y la actividad laboral, establezca un valor más alto que no conduzca a un aumento constante en el archivo de la base de datos.

Transferir la base de datos tempdb

Para concluir nuestro artículo, volvamos a la base de datos. tempdb, a menudo hay situaciones en las que es necesario mover el archivo de esta base de datos a otra ubicación. Por ejemplo, el servidor se instaló con la configuración predeterminada y tempdb ubicado en la partición del sistema, o compró un SSD y desea transferir no solo las bases de datos allí, sino también tempdb(cuál es la solución correcta). También bajo carga pesada tempdb Se recomienda ponerlo en un disco separado.

Para cambiar la ubicación del archivo tempdb abierto Estudio de gestión, seleccionar Crear una solicitud y en la ventana que se abre, ingrese el siguiente texto, donde E:\NEW_FOLDER- nueva ubicación de la base:

usar maestro
alterar la base de datos tempdb
modificar archivo(
nombre = tempdev,
nombre de archivo = N"E:\NEW_FOLDER\tempdb.mdf")
ir

alterar la base de datos tempdb
modificar archivo(
nombre = templog,
nombre de archivo = N"E:\NEW_FOLDER\templog.ldf")
ir

Luego haga clic Ejecutar, después de ejecutar la solicitud, reinicie el servidor SQL, la base de datos y los archivos de registro tempdb se creará en una nueva ubicación, los archivos en la ubicación anterior deben eliminarse manualmente.

Terminaremos aquí hoy, recordándole finalmente que no se olvide del mantenimiento y las copias de seguridad de la base de datos.

Consideremos las cuestiones de instalación y configuración de MS SQL Server para 1C.

Lo primero que me gustaría señalar es que el método de instalación de MS SQL Server depende en gran medida de la carga esperada en 1C.

Dependiendo de esto, se pueden identificar las siguientes opciones:

  • Opción 1. Una empresa con hasta 500 transacciones por día;
  • Opcion 2. Una empresa con más de 500 transacciones por día, pero en su mayoría no interactivas (descarga de pagos de Internet y del banco del cliente, descarga de pedidos de una tienda online, generación automática de operaciones de almacén y transporte, etc.);
  • Opción 3. Una empresa con más de 500 transacciones por día, la mayoría de las cuales son interactivas, es decir. iniciadas y formalizadas por los usuarios.

Para las dos primeras opciones, MS SQL Server se puede instalar en el mismo servidor donde está instalado 1C, lo cual es especialmente cierto para la segunda opción, siempre que se cumplan los requisitos de hardware. Pero en el tercer caso, MS SQL Server sólo debe instalarse en un servidor independiente.

Veamos las características del hardware para los tres casos.

Si está instalado en un servidor independiente:

UPC

  • Opción 1. Al menos 1,8 GHz (preferiblemente 2 núcleos)
  • Opción 2. Al menos 2x2GHz con al menos 2 núcleos
  • Opción 3. Al menos 4x3GHz con al menos 4 núcleos
  • Opción 1. Al menos 8 GB
  • Opción 2. Al menos 32 GB
  • Opción 3. Al menos 128 GB

Subsistema de disco

  • Opción 1. SAS al menos 120 GB
  • Opción 2. SAS de al menos 500 GB (preferiblemente SSD)
  • Opción 3. SAS de al menos 1 TB (se recomienda SSD)

Conexión de red

  • Opción 1. Al menos 1 Gb/seg.
  • Opción 2. Al menos 1 Gb/seg (preferiblemente óptica)
  • Opción 3. Al menos 1 Gb/s (se recomienda óptica)

En caso de instalación conjunta con el servidor 1C Enterprise:

UPC

  • Opción 1. Al menos 2x2GHz con al menos 2 núcleos
  • Opción 2. Al menos 4x3GHz con al menos 4 núcleos
  • Opción 1. Al menos 32 GB
  • Opción 2. Al menos 128 GB
  • Opción 3. Está estrictamente prohibido hacer esto.

Subsistema de disco

  • Opción 1. SAS de al menos 500 GB (preferiblemente SSD)
  • Opción 2. SSD de al menos 1 TB
  • Opción 3. Está estrictamente prohibido hacer esto.

Conexión de red

  • Opción 1. Preferiblemente 1 Gb/seg
  • Opción 2. Preferiblemente 1 Gb/seg.
  • Opción 3. Está estrictamente prohibido hacer esto.

Cabe señalar que este requerimientos mínimos para un trabajo cómodo. Se seleccionan parámetros más precisos en función de la situación específica, guiados por las necesidades básicas de MS SQL Server para 1C en el subsistema de disco y la cantidad de RAM.

Ahora pasemos directamente al proceso de instalación de MS SQL Server para 1C en la versión MS SQL Server 2014 en el sistema operativo MS Windows Server 2012.

En primer lugar, debe reescribir la distribución de instalación de MS SQL Server para 1C a local disco duro servidor.

Ejecute la instalación de MS SQL Server para 1C como administrador.


En la ventana que se abre, seleccione "Instalar" en el panel derecho.


Comenzará la instalación de MS SQL Server para 1C. Durante la instalación, se le pedirá que ingrese su clave de producto y revise los términos de la licencia. Después de esto, debe seleccionar la función del servidor seleccionando "Instalar componentes de MS SQL Server".


El siguiente paso es seleccionar los componentes a instalar. Por lo general, están todos seleccionados, pero si no, haga clic en el botón "Seleccionar todo".



No cambies nada, es decir. Haga clic en "Siguiente" hasta que aparezca la ventana "Configuración del motor de base de datos". En esta ventana, en la primera pestaña, especifique el usuario “sa” y establezca su contraseña (también puede asignar usuario de Windows, pero el usuario “sa” se considera más seguro).


En las otras dos pestañas, puede configurar nuevos directorios para almacenar bases de datos de usuarios (pero es mejor no cambiarlos).

Ahora ha instalado MS SQL Server para 1C

"Abramos" nuestro servidor MS SQL para 1C. Para hacer esto, vaya a aplicaciones y busque allí SQL Server 2014 Management Studio.



Después de conectarse, seleccione "Seguridad" en el árbol de la izquierda y "Nombres de inicio de sesión" en él. Al hacer clic derecho, seleccione "Crear inicio de sesión" en el submenú. En el formulario que se abre indica el nombre de usuario y la contraseña (recuerda esta contraseña y este usuario, porque esto es lo que indicarás al conectar bases de datos desde el servidor 1C).



Vaya a "Objetos protegidos" y configure el derecho para conectarse a SQL, como en la figura.


Haga clic en "Aceptar". Se completa la instalación de MS SQL Server para 1C y su configuración.

Pasemos a conectar la base de datos 1C en el servidor 1C.

Inicie la consola de administración del servidor 1C:Enterprise.


Complete el cuadro de diálogo que se abre como se muestra en la figura.<Имя базы на латинице>- indique el nombre de su base de datos.<Имя компа MS SQL Server>- indique el nombre de la computadora en la que instaló previamente MS SQL Server para 1C.


Haga clic en "Aceptar". La base está conectada.

Puede conectar la base de datos directamente desde el cuadro de diálogo de conexión de la base de datos 1C.

Para hacer esto, inicie el cuadro de diálogo para abrir bases de datos 1C y haga clic en el botón "Agregar".


En la ventana que aparece, seleccione "Crear una nueva base de información".


En la siguiente ventana, seleccione en el árbol la plantilla deseada o indique “Creando una nueva base de datos sin configuración…”.

En la siguiente ventana, establezca el nombre de la base de datos e indique que estará en el servidor 1C:Enterprise.


En la siguiente pestaña, complete los campos de la misma manera que se describe en la sección Conexión de la base de datos desde el servidor 1C.


Se completa la optimización de SQL para 1C. Puedes lanzarte y trabajar.