Instalasi server selama 1 detik.

Topik menginstal MS SQL Server biasanya diabaikan. Memang, sulit untuk tidak menginstal DBMS ini, bahkan melakukannya untuk pertama kali, dan sama sulitnya untuk tidak meluncurkan 1C:Enterprise Server bersamaan dengannya. Namun, ada sejumlah seluk-beluk yang tidak jelas yang secara signifikan dapat meracuni kehidupan seorang administrator, yang akan kita bicarakan hari ini.

MS SQL Server menempati urutan pertama dalam jumlah implementasi bersama dengan 1C:Enterprise, hal ini sebagian besar disebabkan oleh rendahnya hambatan masuk; seseorang tanpa pengalaman cukup mampu menguasai kombinasi ini, murni menggunakan metode Berikutnya - Berikutnya - Selesai. Dan yang paling menarik, semua ini akan berhasil. Katakanlah lebih lanjut, dalam sebagian besar kasus, pengaturan server SQL default lebih dari cukup untuk memastikan pengoperasian server 1C: Enterprise yang produktif dan menyentuhnya bukan hanya tidak diperlukan, tetapi bahkan berbahaya.

Pertama-tama, Anda harus ingat tentang basis sistem tempdb, yang secara aktif digunakan oleh 1C untuk menyimpan tabel sementara dan hasil antara. Selain itu, ini digunakan sekaligus oleh semua database 1C yang berjalan di server. Dan karena secara default terletak di folder instalasi server SQL, mis. pada disk sistem, maka ketika beban meningkat, itu terjadi tempdb menjadi hambatan bagi seluruh server. Seringkali hal ini mengarah pada situasi: Anda membeli HDD / SSD yang cepat, terdapat sumber daya disk yang cukup, tetapi 1C lambat, yang dapat menyebabkan kesulitan serius bagi administrator pemula.

Poin kedua. Pengkodean perbandingan tempdb harus cocok dengan pengkodean perbandingan basis informasi, jika tidak, hal ini dalam beberapa kasus dapat menyebabkan hasil yang tidak diharapkan, bahkan kesalahan perhitungan yang serius.

Pada saat yang sama, kesulitan ini sama sekali tidak sulit untuk dihindari; Anda hanya perlu meluangkan beberapa menit ekstra selama instalasi atau meninjau dengan cermat pengaturan server yang sudah diinstal.

Menginstal MS SQL Server untuk bekerja dengan 1C:Enterprise

Seperti yang telah kami katakan, menginstal server SQL sangatlah sederhana, dan kami tidak akan menjelaskan proses ini secara detail, hanya berfokus pada pengaturan yang diperlukan. Mari kita mulai dengan pemilihan komponen, karena 1C tidak menggunakan sebagian besar mekanisme server SQL dan jika Anda tidak akan menggunakannya untuk tujuan lain, maka kita tinggalkan saja Mesin Basis Data,Komunikasi Fasilitas Klien Dan Kontrol(opsional).

Alat manajemen tidak dapat diinstal di server, tetapi diinstal secara terpisah di stasiun kerja administrator dan dikelola dari sana semua server MS SQL yang tersedia.

Anda juga harus memeriksa parameter penyortiran; jika pengaturan regional Anda dikonfigurasi dengan benar, kemungkinan besar Anda tidak perlu mengubah apa pun di sana, tetapi disarankan untuk memeriksa parameter ini, parameter ini harus ada di sana. Sirilik_Umum_CI_AS.

DI DALAM Konfigurasi server tolong tunjukkan Otentikasi mode campuran dan atur kata sandi ke pengguna super SQL - sa. Juga, tunjukkan di bawah administrator contoh server SQL ini; secara default, sudah ada akun tempat instalasi dilakukan, tetapi jika pengguna lain juga harus mengelola contoh ini, maka masuk akal untuk segera menunjukkannya.

Penanda berikutnya - Direktori data- membutuhkan perhatian paling dekat. Pastikan untuk menentukan lokasi penyimpanan untuk database pengguna dan database tempdb ruang pada array kinerja atau disk terpisah. Terlepas dari kenyataan bahwa lokasi database dapat ditentukan saat membuatnya, pengaturan pengaturan default yang benar menyelamatkan Anda dari pekerjaan yang tidak perlu, serta dari situasi ketika database dibuat menggunakan alat 1C dan berakhir di direktori default, mis. pada disk sistem. Anda juga bisa langsung menentukan direktori untuk menyimpan backup.

Anda dapat membiarkan pengaturan lainnya sebagai default dan menyelesaikan instalasi.

Menyiapkan MS SQL Server agar berfungsi dengan 1C:Enterprise

Jika Anda berurusan dengan contoh SQL Server yang sudah terinstal, pastikan bahwa pengkodean perbandingan Sirilik_Umum_CI_AS, jika tidak, data harus diunduh menggunakan alat 1C, dan server harus diinstal ulang (atau instance lain harus diinstal jika layanan ini digunakan oleh layanan lain).

Untuk melakukan ini, buka Studio Manajemen, pilih contoh server SQL yang diperlukan dan klik kanan padanya dan buka Properti.

Lalu pergi ke penanda Ingatan dan tunjukkan jumlah RAM yang tersedia untuk server SQL, jika tidak, server SQL akan mencoba mendaur ulang semua memori yang tersedia. Dalam situasi di mana peran server SQL digabungkan dengan peran lain, dan dalam implementasi kecil dan menengah biasanya terletak di mesin yang sama dengan server 1C, Anda harus mengurangi jumlah total memori yang dibutuhkan oleh sistem. dan server 1C, memberikan SQL apa yang tersisa.

Sulit untuk memberikan rekomendasi yang jelas di sini; semuanya tergantung pada volume data yang diproses; dalam praktiknya, masuk akal untuk mengalokasikan setengah dari memori bebas ke server SQL, kemudian menyesuaikan nilai ini berdasarkan beban sebenarnya.

Pengaturan selanjutnya akan terkait dengan keamanan. Untuk menghubungkan 1C ke server, akun paling sering digunakan sa, yang, secara halus, tidak aman, karena memberikan dampak buruk bagi orang yang masuk di bawahnya akses penuh ke server SQL. Mengingat administrasi database 1C sering dilakukan oleh spesialis pihak ketiga, masuk akal untuk membuat akun terpisah untuk mereka.

Untuk melakukan ini, buka Keamanan - Login dan buat nama baru (akun), tentukan otentikasi server SQL dan atur kata sandi.

Lalu pergi ke penanda Peran server dan izinkan dbcreator, admin proses Dan publik.

Kemudian gunakan akun ini untuk terhubung ke server SQL dari 1C.

Pengaturan lain berlaku untuk database yang sudah dibuat; buka properti database yang diinginkan dan buka tab File. Temukan opsinya Tumbuh otomatis/ukuran maksimum untuk file datanya. Secara default, ukurannya adalah 1 MB, yang sangat tidak optimal; ketika aktif bekerja dengan database, DBMS hanya akan mementingkan peningkatan ukuran file, selain itu, ketika beberapa database aktif bekerja, hal ini akan menyebabkan fragmentasi yang signifikan dari file data. Oleh karena itu, berdasarkan ukuran database dan aktivitas kerja, tetapkan nilai yang lebih tinggi yang tidak akan menyebabkan peningkatan konstan pada file database.

Mentransfer database tempdb

Untuk mengakhiri artikel kita, mari kita kembali ke database tempdb, sering kali ada situasi ketika file database ini perlu dipindahkan ke lokasi lain. Misalnya, server diinstal dengan pengaturan default dan tempdb terletak di partisi sistem, atau Anda membeli SSD dan ingin mentransfer tidak hanya database ke sana, tetapi juga tempdb(yang merupakan solusi yang tepat). Juga di bawah beban berat tempdb Disarankan untuk meletakkannya di disk terpisah.

Untuk mengubah lokasi file tempdb membuka Studio Manajemen, pilih Buat permintaan dan di jendela yang terbuka, masukkan teks berikut, di mana E:\NEW_FOLDER- lokasi baru untuk pangkalan:

Gunakan tuan
mengubah tempdb basis data
memodifikasi berkas(
nama = tempdev,
nama file = N"E:\NEW_FOLDER\tempdb.mdf")
pergi

mengubah tempdb basis data
memodifikasi berkas(
nama = templog,
nama file = N"E:\NEW_FOLDER\templog.ldf")
pergi

Lalu klik Menjalankan, setelah menjalankan permintaan, mulai ulang server SQL, database, dan file log tempdb akan dibuat di lokasi baru, file di lokasi lama harus dihapus secara manual.

Kami akan mengakhirinya di sini hari ini, akhirnya mengingatkan Anda untuk tidak melupakan pemeliharaan dan pencadangan basis data.

Dalam kebanyakan kasus, untuk menginstal 1C:Enterprise 8.x dalam versi client-server, cukup menjalankan program instalasi 1C:Enterprise 8.x. Dalam hal ini, server 1C:Enterprise menerima nilai parameter standar yang diperlukan untuk fungsi normalnya.

Mari kita lihat instalasi server 1C:Enterprise lebih detail. Selama instalasi server 1C:Enterprise 8.x, program instalasi 1C:Enterprise 8.x melakukan tindakan berikut:

* Menyalin modul boot server 1C:Enterprise ke direktori yang ditentukan oleh program instalasi 1C:Enterprise sebagai folder terakhir.
* Jika "Buat pengguna USR1CV81" dipilih selama instalasi, buatlah pengguna USR1CV81. Server 1C:Enterprise 8.1 berjalan atas nama pengguna ini jika diluncurkan sebagai layanan. Ia hanya memiliki akses ke sumber daya yang dibutuhkan server 1C:Enterprise. Penting bahwa server 1C:Enterprise memerlukan dua direktori untuk beroperasi: direktori umum dengan data server (biasanya "C:\Program Files\1cv81\server") dan direktori file sementara (biasanya "C:\Documents and Settings \usr1cv81\Pengaturan Lokal \Temp" atau "C:\WINNT\Temp"). Pengguna USR1CV81 menerima hak atas direktori bersama dengan data server. Direktori file sementara biasanya dapat diakses oleh semua pengguna.
* Jika selama proses instalasi "Instal server 1C:Enterprise 8.1 sebagai layanan Windows" diaktifkan, maka layanan agen server 1C:Enterprise terdaftar di Windows dan memulainya. Pada peluncuran pertama, sekelompok server 1C:Enterprise dibuat dengan pengaturan default. Ini memiliki satu server pekerja dan satu proses pekerja. Alamat server yang berfungsi cocok dengan nama komputer tempat instalasi dilakukan.

Pengguna USR1CV81 atau USR1CV82 dan haknya

1C:Enterprise Server adalah aplikasi server yang pengoperasiannya tidak bergantung pada pengguna mana yang masuk ke komputer server dalam mode interaktif, jika ada yang masuk sama sekali. Oleh karena itu, saat memasang server 1C:Enterprise, disarankan untuk membuat pengguna khusus USR1CV81, yang memiliki hak minimum yang diperlukan untuk server 1C:Enterprise, dan tidak dimaksudkan untuk login interaktif. Server 1C:Enterprise disajikan ke sistem Windows oleh pengguna USR1CV81.

Mari kita lihat lebih dekat hak yang ditetapkan untuk pengguna USR1CV81. 1C:Server perusahaan menggunakan direktori berikut:

* Direktori pemuatan modul terletak di direktori yang ditentukan oleh program instalasi 1C:Enterprise sebagai folder terakhir. Ini berisi modul pemuatan server 1C:Enterprise. Pengguna USR1CV81 memerlukan hak untuk membaca data dan menjalankan program dari direktori ini dan subdirektorinya. Ia menerima hak-hak ini secara implisit dengan dimasukkan dalam kelompok Pengguna.
* Direktori data server biasanya bernama "C:\Program Files\1cv81\server". Pengguna USR1CV81 memerlukan hak penuh atas direktori ini. Program instalasi 1C:Enterprise, saat membuat pengguna USR1CV81, memberinya hak atas direktori ini.
* Direktori file sementara biasanya bernama "C:\Documents and Settings\usr1cv81\Local Settings\Temp" atau "C:\WINNT\Temp", yang ditentukan oleh nilai variabel TEMP lingkungan pengguna atau TEMP lingkungan sistem variabel. Anda dapat melihat nilai variabel ini dalam dialog System Properties (Mulai -> Pengaturan -> Panel Kontrol -> Sistem -> Lanjutan -> Variabel Lingkungan). Program instalasi 1C:Enterprise memberi pengguna USR1CV81 hak penuh atas direktori ini. Biasanya, saat menginstal Windows, direktori file sementara dapat diakses oleh semua pengguna dengan menyertakan grup CREATOR OWNER dalam daftar aksesnya. Namun akses ini belum sepenuhnya. Secara khusus, operasi pencarian file di direktori ini tidak tersedia untuk semua pengguna. Menetapkan hak penuh pengguna USR1CV81 ke direktori file sementara memungkinkan server 1C:Enterprise melakukan semua operasi yang diperlukan. Anda dapat melihat daftar akses dalam dialog properti direktori pada tab Keamanan. Kehadiran grup CREATOR OWNER memungkinkan akses ke direktori oleh setiap pengguna yang membuat file apa pun di direktori ini atau memiliki file apa pun di direktori ini. Dalam hal ini, dalam daftar akses file yang dibuat, alih-alih grup CREATOR OWNER, pengguna yang membuat file tersebut akan ditulis. Di antara pengguna yang diperbolehkan mengakses direktori ini, harus ada pengguna USR1CV81, yang memiliki hak penuh atas direktori ini.
Penting untuk diingat bahwa direktori file sementara untuk pengguna tertentu (termasuk pengguna USR1CV81) ditentukan oleh kombinasi variabel lingkungan pengguna dan variabel lingkungan sistem. Untuk mengetahui direktori ini, program instalasi 1C:Enterprise meminta konteks pengguna USR1CV81. Untuk melakukan hal ini di Windows 2000, pengguna yang atas nama program instalasi 1C:Enterprise diluncurkan mungkin memerlukan hak istimewa berikut: Bertindak sebagai bagian dari sistem operasi dan Lewati pemeriksaan lintasan. Anda dapat memeriksa hak istimewa pengguna menggunakan utilitas Pengaturan Keamanan Lokal di cabang Kebijakan Lokal -> Penetapan Hak Pengguna. Saat memasang perangkat lunak baru, penginstal biasanya mendapatkan hak istimewa ini secara otomatis.

Mendaftarkan server 1C:Enterprise sebagai layanan Windows


1C:Enterprise Server adalah aplikasi konsol Windows sederhana dan dapat diluncurkan secara interaktif. Namun, untuk penggunaan terus-menerus, hal ini merepotkan, karena memerlukan peluncuran server 1C:Enterprise dari login pengguna yang tidak aktif ke komputer server. Untuk menghilangkan ketergantungan ini, server 1C:Enterprise dapat diluncurkan sebagai layanan Windows. Untuk melakukan ini, itu harus didaftarkan di manajer layanan Windows.

Untuk melihat daftar layanan Windows dan parameternya, gunakan utilitas Layanan Komponen (Mulai -> Pengaturan -> Panel Kontrol -> Alat Administratif -> Layanan). Server 1C:Enterprise diwakili dalam daftar layanan oleh layanan "1C:Enterprise Server Agent 8.1". Parameter layanan menentukan peluncuran proses 1C:Enterprise Server Agent (ragent), pengguna dengan nama siapa proses tersebut diluncurkan, dan metode memulai ulang dalam situasi darurat.

Dalam dialog properti layanan "1C:Enterprise 8.1 Server Agent", pada tab Umum, baris untuk meluncurkan proses ragent, yaitu 1C:Enterprise Server Agent, ditampilkan. Biasanya baris ini terlihat seperti:


Ini menyatakan bahwa:

* proses Agen Server adalah modul boot "C:\Program Files\1cv81\bin\ragent.exe";
* proses ragent berjalan sebagai layanan Windows dan harus dikelola oleh manajer layanan (-srvc);
* digunakan sebagai 1C:Agen Server Perusahaan (-agent);
* saat memulai layanan untuk pertama kali, cluster harus dibuat dengan parameter default dan nomor port IP utama 1541 (-regport 1541). Dengan menggunakan port ini, aplikasi klien harus terhubung ke basis info yang terdaftar di cluster;
* Port IP agen server harus bernomor 1540 (-port 1540). Dengan menggunakan port ini, Cluster Console harus terhubung ke server pusat untuk menjalankan fungsi administratif;
* ketika proses cluster diluncurkan di server ini, mereka akan diberi port IP secara dinamis dari rentang 1560-1591 (-rentang 1560:1591).
* data cluster yang dibagikan akan ditempatkan di direktori "C:\Program Files\1cv81\server" (-d "C:\Program Files\1cv81\server").

Layanan "1C:Enterprise 8.1 Server Agent" dapat ditambahkan atau dihapus tidak hanya saat menginstal atau menghapus instalasi 1C:Enterprise menggunakan program instalasi 1C:Enterprise 8.1, tetapi juga secara manual. Untuk melakukan ini, Anda dapat menjalankan utilitas ragent dari baris perintah, menentukan parameter yang sesuai.

Untuk membuat layanan, Anda perlu menentukan parameter -instsrvc dan parameter berikut: -usr - nama pengguna yang namanya layanan harus diluncurkan, -pwd - kata sandi pengguna ini. Dalam hal ini, parameter lainnya akan menjadi parameter jalur peluncuran 1C:Enterprise Server Agent sebagai layanan. Misalnya, untuk pendaftaran standar layanan 1C:Enterprise Server Agent dalam mode debug, rangkaian parameternya harus sebagai berikut:

"C:\Program Files\1cv81\bin\ragent.exe" -instsrvc -usr .\USR1CV81 -pwd Kata Sandi -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv81\server" - men-debug

Untuk menghapus layanan, Anda perlu menentukan parameter -rmsrvc. Misalnya:
"C:\Program Files\1cv81\bin\ragent.exe" -rmsrvc

Terkadang berguna untuk mengubah baris startup Agen Server atau parameter lain dari layanan Agen, misalnya, mengaktifkan mode debugging, atau membuat beberapa layanan dengan versi berbeda. Dialog properti layanan tidak memungkinkan Anda mengedit jalur peluncuran aplikasi layanan dan beberapa parameter lainnya, misalnya pengidentifikasi layanan. Untuk mengedit, Anda memerlukan utilitas regedit, yang dirancang untuk melihat dan mengedit registri sistem Windows.

Perhatian!
Mengedit registri sistem Windows memerlukan kehati-hatian yang ekstrem, karena perubahan yang salah dapat menyebabkan sistem operasi tidak dapat dioperasikan.

Jalankan utilitas regedit (buka Start -> Run dan ketik regedit) dan pilih cabang:


Di antara parameternya adalah parameter ImagePath, yang nilainya merupakan string startup dari 1C:Enterprise Server Agent. Di sini Anda dapat menambahkan parameter string peluncuran baru atau mengubah nilai yang sudah ada. Daftar lengkap parameter yang mungkin diberikan dalam buku dokumentasi "1C:Enterprise 8.1 Client-Server".

Jika Anda perlu mendaftarkan beberapa layanan 1C:Enterprise Server Agent independen, Anda perlu menentukannya dengan modul boot yang berbeda, port yang berbeda, dan direktori data cluster yang berbeda. Anda juga perlu mendaftarkannya dengan pengidentifikasi layanan yang berbeda. Ini bisa dilakukan seperti ini:

* Buat layanan pertama:
"C:\Program Files\1cv81\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv81\server"

* Menggunakan utilitas regedit, ubah pengidentifikasi layanan terdaftar. Untuk melakukan ini: pilih cabang
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Agen Server Perusahaan 8.1

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Agen Server Enterprise 8.1 Pertama
* Buat layanan kedua:
"C:\Program Files\1cv81_10\bin\ragent.exe" -srvc -agent -regport 1641 -port 1640 -range 1660:1691 -d "C:\Program Files\1cv81_10\server"

* Mungkin ID-nya juga harus diubah. Untuk melakukan ini: pilih cabang
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Agen Server Perusahaan 8.1
dan ubah namanya, misalnya menjadi:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 Agen Server Kedua

Apa yang tidak dapat dilakukan oleh program instalasi 1C:Enterprise?

Seperti yang telah disebutkan, program instalasi 1C:Enterprise menyalin modul boot 1C:Enterprise dan melakukan registrasi yang diperlukan di COM dan manajer layanan Windows. Di atas adalah informasi yang diperlukan untuk memahami mekanisme internal pendaftaran ini. Jika tidak hanya server yang diinstal pada komputer server, tetapi juga bagian klien 1C:Enterprise, maka server siap bekerja segera setelah instalasi (dan menghubungkan kunci keamanan).

Agar server 1C:Enterprise dapat diakses dari komputer lain di jaringan lokal, Anda perlu memeriksa pengaturan jaringan pada komputer server dan klien, serta jaringan secara keseluruhan. TCP/IP digunakan untuk mentransfer data antara aplikasi klien dan server 1C:Enterprise, serta antara proses cluster server. Pengoperasian 1C:Enterprise dalam versi client-server bergantung pada konfigurasi yang benar.

Proses cluster server 1C:Enterprise terhubung satu sama lain di alamat yang ditentukan sebagai nilai properti "Komputer" dalam dialog properti server yang berfungsi. Cluster mengharuskan nilai properti Komputer berupa alamat IP dalam notasi titik atau alamat simbolis yang alamat IP-nya dapat ditentukan menggunakan fungsi gethostbyname yang ditentukan dalam API TCP. Alamat IP ditentukan berdasarkan tabel alamat simbolik lokal (C:\WINNT\system32\drivers\etc\hosts) atau pada tabel alamat di server DNS yang tersedia. Jika alamat simbolis dari server yang berfungsi tidak menentukan alamat IP-nya atau salah menentukannya (misalnya, alamat IP tidak cocok dengan alamat IP sebenarnya komputer ini), maka cluster tidak akan berfungsi. Penting agar nama komputer dan alamatnya yang ditentukan di Windows pada setiap server yang berfungsi di cluster tidak bertentangan dengan namanya di DNS.

Pada setiap server yang berfungsi, proses cluster menggunakan port berikut: Port IP dari server yang berfungsi (biasanya 1540); Port IP dari rentang port IP alur kerja (biasanya 1560-1591). Selain itu, server pusat cluster menggunakan port cluster (biasanya 1541). Jika sistem menggunakan firewall, maka transmisi data melalui port ini harus diizinkan. Daripada mengizinkan port dari daftar di atas, Anda dapat mengizinkan transfer data ke proses cluster (ragent, rmngr, rphost).

Koneksi antara aplikasi klien 1C:Enterprise dan server dilakukan dalam 2 tahap. Ini pertama kali membuat koneksi ke manajer cluster. Ini menggunakan alamat server pusat (simbolis atau numerik) dan port cluster (biasanya 1541). Selanjutnya, aplikasi klien membuat koneksi dengan salah satu proses pekerja. Nilai properti "Komputer" dari server kerja terkait dan port proses kerja, yang dipilih dari rentang port IP server kerja, digunakan sebagai alamatnya. Transmisi data ke port ini harus diizinkan di semua firewall di sepanjang rute dari komputer aplikasi klien ke komputer cluster server 1C:Enterprise. Alamat IP proses server ditentukan menggunakan fungsi gethostbyname di komputer klien. Penting agar nama server pusat dan server yang berfungsi serta alamatnya yang ditentukan di Windows pada masing-masing server di cluster tidak bertentangan dengan namanya di DNS yang dapat diakses oleh komputer klien.

Dan satu hal terakhir. Jelasnya, agar berhasil mengakses server 1C:Enterprise dari komputer lain, server tersebut harus berada di jaringan dan pengaturan yang diperlukan harus dibuat untuk ini. Metode koneksi dan pengaturan jaringan berhubungan dengan administrasi jaringan berbasis Microsoft Windows dan dijelaskan dalam instruksi terkait.

Fitur menyiapkan server SQL

1C:Enterprise dalam versi "client-server" menggunakan server SQL untuk menyimpan data. Dalam hal ini, hanya 1C:Enterprise Server yang mengakses server SQL. 1C:Klien perusahaan tidak memiliki akses langsung ke server SQL. Menginstal dan mengonfigurasi server SQL dijelaskan secara rinci dalam dokumentasi Microsoft SQL Server. Agar pengoperasian 1C:Enterprise Server dengan server SQL berhasil, Anda perlu memberikan perhatian khusus pada pengaturan berikut.

* Komponen server SQL yang diperlukan. Untuk mengakses server SQL dari sisi 1C:Enterprise Server, komponen Microsoft Data Access 2.6 atau yang lebih baru harus diinstal di komputer 1C:Enterprise Server.
* Otentikasi pengguna oleh server SQL. Hak akses ke database server SQL ditentukan oleh pengguna atas nama siapa database tersebut diakses. Dari komputer tempat server SQL diinstal, luncurkan utilitas SQL Server Enterprise Manager, temukan node Lokal (Console Root -> Microsoft SQL Servers -> SQL Server Group -> (Local)) dan buka propertinya. Pada tab Keamanan Anda dapat melihat bahwa server SQL mendukung dua metode otentikasi pengguna: SQL Server dan Windows dan hanya Windows. Otentikasi Windows akan mengizinkan 1C:Enterprise Server untuk mengakses server SQL hanya atas nama pengguna USR1CV81, yang tidak mengizinkan pembedaan hak akses ke basis informasi berbeda yang dilayani oleh satu server 1C:Enterprise. Disarankan untuk memilih mode SQL Server dan Windows. Dalam hal ini, akses ke basis info tertentu akan dilakukan atas nama pengguna yang ditentukan sebagai pengguna server SQL saat membuat basis info ini. Penting bahwa pengguna ini tidak hanya memiliki hak penuh atas database infobase, tetapi juga hak untuk membuat database di server SQL dan membaca tabel database Master.
* Protokol jaringan untuk mengakses server SQL. Jika 1C:Enterprise Server dan server SQL terletak di komputer yang berbeda, maka Anda perlu mengkonfigurasi protokol akses jaringan ke server SQL. Ini dapat dilakukan dengan menggunakan Utilitas Jaringan Klien SQL Server. Pada tab Umum, Anda dapat memilih daftar protokol jaringan yang digunakan untuk mengakses server SQL. Cara tercepat dan paling serbaguna adalah dengan menggunakan protokol TCP/IP. Saat menggunakan protokol lain, Anda harus ingat bahwa beberapa di antaranya, misalnya Named Pipes, melakukan otentikasi tambahan menggunakan alat Windows saat bertukar data dengan server SQL. Dalam hal ini, agar berhasil bekerja dengan server SQL, pengguna USR1CV81 harus terdaftar di komputer dengan server SQL, dengan hak yang sesuai. Protokol akses untuk server SQL ini dapat diubah pada tab Alias.

Selain artikel tersebut

Tidak ada keraguan bahwa kombinasi server MS SQL Server + 1C: Enterprise 8 adalah kombinasi paling populer dan sering digunakan di niche-nya. Untuk dukungan berkualitas tinggi, pemahaman tentang kedua produk sangat diharapkan. Pada saat yang sama, dalam praktiknya, spesialis dukungan biasanya berspesialisasi dalam mengelola MS SQL Server dan tidak terbiasa dengan fitur server 1C: Enterprise 8, atau, sebaliknya, berspesialisasi dalam mengelola server 1C: Enterprise 8 dan tidak akrab dengan fitur-fitur MS SQL Server.

Artikel ini ditulis untuk membantu spesialis tersebut dan spesialis lainnya, dirancang untuk menghemat waktu Anda dan menarik perhatian Anda ke detail terpenting saat menggunakan produk perangkat lunak ini bersama-sama.

Untuk mempermudah pemahaman informasi, disediakan studi kasus, catatan dan tips (dicetak miring).

Sirkuit tiga tautan

Seperti yang mungkin sudah diketahui pembaca, database dalam kasus ini memiliki arsitektur tiga tingkat:

Tautan 1: DBMS MS SQL Server. “Menyimpan” dan memelihara database, yang pada akhirnya melakukan semua jenis operasi database. Dengan demikian, kinerja database, kecepatan dan paralelisme membaca dan menulis data sangat ditentukan oleh kinerja MS SQL Server.

Tautan 2: Server "1C: Perusahaan 8". Berfungsi sebagai perantara dalam interaksi antara klien (pengguna) dan MS SQL Server. Semua permintaan klien dikirim ke server, yang “menerjemahkannya” ke dalam bahasa kueri MS SQL Server, menerima hasil eksekusi kueri ini, dan mengirimkan hasilnya ke klien.

Hanya ada sebagian kecil dari operasi yang dilakukan di tingkat server 1C: Enterprise 8, tanpa mengakses MS SQL - ini, khususnya, melacak apa yang disebut "kunci terkelola", membaca dan menulis "parameter sesi". Dalam kasus seperti itu, akses ke DBMS tidak diperlukan, karena operasi ini dilakukan bukan dengan data database, tetapi dengan informasi server tambahan.

Tautan 3: Bagian klien dari "1C: Enterprise 8". Mengakses server 1C: Enterprise 8, menerima hasil darinya (misalnya, sampel data), dan bertanggung jawab atas antarmuka pengguna.

"Aku menginginkan yang terbaik."

Setelah menginstal ulang server 1C: Enterprise 8, pengguna mengeluhkan penurunan kinerja yang tajam. Spesialis implementasi perangkat lunak 1C: Perusahaan yang melakukan instalasi ulang hanya terkejut - mereka mengatakan dia menginginkan yang terbaik, sistem seharusnya mulai bekerja lebih cepat... Analisis situasi menunjukkan bahwa server 1C: Enterprise 8 dialokasikan terlalu banyak sumber daya : memproses (lihat poin 3) rphost menggunakan 15,5 GB dari 16 GB RAM server, akibatnya, praktis tidak ada RAM yang tersedia untuk MS SQL Server yang sesuai.

Hasilnya adalah "swap" yang konstan, beban yang tidak perlu pada subsistem disk, dan eksekusi operasi database yang sangat lambat - karena fakta bahwa MS SQL Server tidak punya waktu untuk memproses permintaan yang datang dari 1C: Enterprise 8 yang "di-overclock" server.

Kompatibilitas Produk

Informasi terkini tentang versi MS SQL Server yang direkomendasikan untuk digunakan bersama dengan 1C:Enterprise 8 dapat ditemukan di tautan ini http://v8.1c.ru/requirements/.

Pada saat penulisan artikel ini, pengembang 1C merekomendasikan opsi berikut:

      1.SQL Server 2008 R2.
      2. SQL Server 2008, memerlukan instalasi Service Pack 1 (SP1).
    3. SQL Server 2005, memerlukan instalasi Service Pack 3 (SP3).



Secara teknis dimungkinkan, namun tidak disarankan, untuk menggunakan MS SQL Server 2000; memerlukan instalasi Service Pack 2 (SP2), dan instalasi Service Pack 4 (SP4) diinginkan.

Harap dicatat bahwa versi ini sudah tidak digunakan lagi dan tidak memiliki versi 64-bit untuk arsitektur x86-64.

Harap dicatat:

Penting untuk memperhatikan pengaturan sistem operasi: misalnya, untuk pengoperasian M SQL Server 2008 yang efektif di bawah OS Server 2008R2, perlu untuk menonaktifkan mode catu daya seimbang dan beralih ke mode kinerja maksimum.

Menginstal versi client-server "1C: Enterprise 8"

"1C terpasang"

Untuk salah satu pelanggan, instalasi "1C: Enterprise 8" dilakukan oleh administrator sistem yang tidak memiliki pengalaman bekerja dengan "1C: Enterprise 8". Dan meskipun, menurut dia, dia “menginstal 1C”, tidak ada bagian klien di komputer pengguna, dan tidak ada bagian server di server. Analisis situasi memperjelas gambaran - kit 1C: Enterprise 8 mencakup 2 disk - instalasi platform dan instalasi templat database. Administrator tidak mempelajari prosedur instalasi - dan menginstal templat database, bukan file yang dapat dieksekusi, komponen platform.

Tentu saja, ini adalah contoh yang tidak biasa dari sikap lalai dalam bekerja.

Saat memasang "1C: Enterprise 8" Anda harus mempertimbangkan bahwa yang berikut ini diinstal secara terpisah:

      Platform 1C:Enterprise 8 adalah aplikasi yang dapat dieksekusi, lingkungan terintegrasi untuk pengembangan dan pengoperasian database. Saat Anda meluncurkannya, Anda memilih salah satu dari dua mode operasi - "Enterprise" (shell basis data pengguna) atau "Configurator" (lingkungan pengembangan terintegrasi). Penjelasan lebih lengkap dapat dibaca pada link
      Templat konfigurasi "1C:Enterprise" adalah file format internal platform, yang dengannya platform dapat membuat database murni atau demo dari struktur yang terdapat dalam templat. Anda juga dapat menggunakan pola pembaruan untuk memperbarui struktur database yang sudah ada yang sudah diisi dengan data.
      Saat memasang platform, Anda harus memperhatikan pemilihan komponen:





Komponen 1C:Enterprise mungkin tidak diinstal di server.

Dalam hal ini, server akan memberi komputer klien akses ke database 1C:Enterprise, tetapi bekerja dengan database dalam mode pengguna langsung dari server tidak akan dapat dilakukan.

Harap dicatat:

Platform versi 64-bit tidak berisi bagian klien. Oleh karena itu, ketika menginstal di server, komponen server 64-bit diinstal secara terpisah, dan komponen aplikasi klien 32-bit diinstal secara terpisah.

Komponen "1C Server: Enterprise" diperlukan untuk terhubung ke MS SQL Server - ini adalah server aplikasi, penghubung antara platform pada workstation klien dan MS SQL Server.

Dimungkinkan untuk menginstal komponen dalam mode aplikasi sederhana atau layanan sistem, dan, tentu saja, opsi kedua direkomendasikan.

Saat diinstal "sebagai layanan", komponen ini akan diluncurkan dan dijalankan atas nama pengguna yang dipilih:




Setelah memuat komponen, beberapa proses akan muncul, seperti: "agen server", "manajer cluster server", "proses pekerja server".

Kueri ke database dijalankan oleh proses pekerja, dan manajer cluster server mendistribusikan beban di antara proses tersebut.

Proses pekerja server dapat dikelola (ditambahkan, dihapus, menetapkan batas penggunaan RAM, dinyatakan sebagai primer atau cadangan) jika komponen 1C: Enterprise Server Administration diinstal.



Harap dicatat:

Untuk server versi 32-bit, disarankan untuk menginstal proses kerja dalam jumlah sedemikian rupa agar RAM tidak terpakai - masing-masing proses memiliki batasan nyata dalam penggunaan RAM, dari 2 hingga 4 GB tergantung pada sistem konfigurasi.

Untuk server versi 64-bit, secara teoritis dua proses pekerja sudah cukup - satu pekerja dan satu cadangan. Namun, dalam praktiknya, untuk menjamin keandalan dan stabilitas koneksi untuk sejumlah besar (beberapa ratus) pengguna, diperlukan jumlah yang lebih besar, hal ini bergantung pada banyak faktor - pada jumlah pengguna, konten database, dan volume. query dilakukan, sehingga penulis percaya bahwa jumlah proses dalam kasus ini harus dipilih secara eksperimental.

"Ouroboros"

Setelah optimasi pengaturan server 1C:Enterprise 8 gagal, pengguna melaporkan pengoperasian sistem yang sangat lambat, dan administrator sistem mencatat beban prosesor 100% yang konstan di server.

Analisis situasi menunjukkan sumber masalahnya - selama pengaturan, batas penggunaan RAM oleh proses kerja ditetapkan terlalu kecil.

Namun faktanya batasan ini berfungsi sebagai berikut:

Ketika manajer cluster server melihat bahwa proses pekerja telah melampaui batas RAM, proses tersebut dihentikan, dinonaktifkan, proses pekerja baru dibuat, dan koneksi serta permintaan pengguna didistribusikan kembali di antara proses pekerja.

Batas yang ditetapkan sangat kecil (300MB) sehingga proses pekerja tidak dapat sepenuhnya melayani satu pengguna intensif sekalipun - akibatnya, manajer cluster server terus-menerus memulai ulang proses pekerja dan menghubungkan kembali pengguna. Segera setelah proses baru dibuat dan pengguna terhubung dengannya, batas RAM hampir tercapai secara instan dan menyebabkan restart berikutnya. Ini menghabiskan 100% beban prosesor.

Komponen "1C Server: Enterprise" tidak diperlukan di stasiun kerja klien, dan tidak akan dapat dijalankan dari sana, karena memerlukan kehadiran fisik kunci keamanan.

Jika jumlah pengguna yang terhubung sedikit (kurang dari 50), server aplikasi biasanya diinstal pada komputer yang sama tempat MS SQL Server dijalankan.

Untuk sistem dengan jumlah pengguna yang besar dan/atau arus informasi dalam jumlah besar, disarankan untuk melakukan instalasi terpisah, serta penggunaan cluster server.

Komponen "1C: Enterprise Server Administration" juga dapat berguna pada klien - misalnya, dengan bantuannya Anda dapat melihat daftar infobase yang terhubung ke server "1C: Enterprise" tertentu.

Sangat disarankan untuk menginstalnya di server itu sendiri.

Mengakses

Harap dicatat:

Untuk memverifikasi bahwa akses disediakan, tidak cukup hanya menggunakan utilitas administrasi server 1C: Enterprise, dan terlebih lagi, kehadiran server di “Network Neighborhood” saja tidak cukup!

Setiap klien harus masuk ke database yang diinstal di server - hanya ini yang akan memberikan keyakinan 100% bahwa akses disediakan.

1. Tergantung pada kebijakan keamanan, MS SQL Server menggunakan otentikasi akun Windows atau otentikasi akun MS SQL Server.




Dalam kasus terakhir, saat membuat database 1C:Enterprise, sistem akan meminta login dan kata sandi akun MS SQL Server (misalnya, sa), dalam kasus pertama, login dan kata sandi harus dibiarkan kosong:



dan pengguna sistem yang atas nama 1C:Enterprise server dijalankan harus diberikan hak dalam MS SQL Server, yaitu:

      hak penuh atas database di mana basis informasi tersebut berada
      akses ke database master (peran publik)
      direkomendasikan - hak untuk membuat database, jika tidak, setiap database baru harus dibuat terlebih dahulu menggunakan MS SQL Sever, dan baru kemudian dihubungkan ke server 1C: Enterprise
      direkomendasikan - hak untuk menghapus database Anda



Misalnya, Anda dapat menugaskan pengguna yang dimaksud dengan peran tetap processadmin atau sysadmin.

Nasihat.

Jika semua pengguna secara bersamaan kehilangan akses ke database yang berfungsi, Anda perlu memeriksa ulang hak dan peran pengguna di MS SQL Server, termasuk yang ditetapkan untuk database tertentu, yaitu Pemetaan pengguna:




2. Server 1C:Enterprise mengakses MS SQL Server melalui mekanisme Microsoft Data Access, sehingga komponennya harus diinstal, dan pengguna server 1C:Enterprise (lihat paragraf sebelumnya) harus memiliki hak untuk menjalankannya.

3. Komunikasi antara klien dan server didukung oleh protokol TCP, sehingga protokol ini perlu didukung oleh kedua belah pihak. Mungkin ada masalah dalam mencocokkan nama server dan alamat IP-nya, misalnya jika menggunakan jaringan peer-to-peer. Dalam hal ini, Anda harus mencatat korespondensi dalam file [C:\WINDOWS\] system32\drivers\etc\hosts .

Nasihat.

Jika jaringan adalah peer-to-peer, untuk memastikan koneksi permanen ke server, buat drive jaringan yang mengakses salah satu folder di server ini.

4. Jika protokol Named Pipes digunakan, dan jika MS SQL Server dan server 1C:Enterprise diinstal pada komputer yang berbeda, pengguna yang atas namanya menjalankan server 1C:Enterprise harus terdaftar dalam daftar pengguna komputer di mana MS SQL Server sedang berjalan.

5. Dalam beberapa kasus, konfigurasi tambahan firewall Windows mungkin diperlukan, yaitu menambahkan pengecualian.

6. Beberapa program antivirus mungkin memblokir lalu lintas jaringan yang “tidak diinginkan”, jadi Anda mungkin perlu menambahkannya ke daftar pengecualian.

7. Rilis platform 1C:Enterprise 8 harus benar-benar identik di klien dan di server.

"Saudara kembar"

"Salah satu pelanggan menggunakan dua server database, yang masing-masing menampung satu database yang berfungsi. Pengguna bekerja - masing-masing secara bersamaan dengan kedua database. Layanan dukungan memperbarui platform 1C: Enterprise 8 di server dan klien.... Dan kemudian keluhan mulai mengalir karena ketidakmungkinan terhubung ke database tertentu. Analisis situasi menunjukkan bahwa pembaruan pada klien dan server dilakukan oleh beberapa orang, dan spesialis penginstalan tidak memeriksa ulang apakah mereka menginstal rilis yang sama adalah satu rilis platform di satu server. yang kedua - yang lain, pada separuh klien - rilis pertama, di separuh lainnya - yang lain.

Untuk menyelesaikan masalah dengan cepat, setiap pengguna harus menginstal kedua rilis platform dan membuat pintasan terpisah untuk masuk ke setiap database.

Pengaturan awal MS SQL Server dan database

“Dan begitulah cara kerjanya”

MS SQL Server dibedakan dari instalasi awal yang sederhana, sehingga tidak semua administrator repot dengan konfigurasi tambahannya - setelah melakukan instalasi default, database berfungsi, pengguna masuk - pekerjaan selesai. Pendekatan ini hampir selalu menimbulkan masalah yang muncul setelah sekitar satu atau dua bulan - dan, tentu saja, secara tiba-tiba dan pada saat yang paling tidak nyaman.

Misalnya, jika database ditujukan untuk tujuan akuntansi, sebelum menyampaikan laporan pajak, seringkali ada kebutuhan untuk segera menghitung ulang data tertentu, dan menghitung ulang secara massal, katakanlah, “semua penerimaan aset tetap dari awal tahun.” Apalagi pada hari kerja, tanpa menghentikan pekerjaan pengguna database lainnya.

Dan, tentu saja, pada saat inilah akan diketahui bahwa selama perhitungan ulang seperti itu, database “macet”, atau “crash”, atau tidak memungkinkan pengguna lain untuk bekerja.

“Hukum Murphy” semacam ini berlaku untuk setiap poin berikut.

Sebelum mulai menggunakan MS SQL Server sebagai DBMS untuk 1C:Enterprise, disarankan:

1. Tetapkan nilai parameter derajat paralelisme maksimal ke 1.

Yaitu:

      Setelah terhubung ke server, masuk ke properti server melalui menu konteks, item Properties
      lalu pilih halaman Lanjutan dan edit parameter derajat paralelisme maksimal






Jika tidak, beberapa kueri yang dihasilkan oleh server 1C:Enterprise dapat menyebabkan kesalahan "Paralelisme intra-kueri menyebabkan perintah server Anda (ID proses #XX) menemui jalan buntu. Jalankan kembali kueri tanpa paralelisme intra-kueri dengan menggunakan opsi petunjuk kueri (maxdop 1 )". Setelah kesalahan ini, bagian klien sering crash.

Kesalahan tidak akan muncul secara konsisten, karena rencana kueri dibentuk secara berbeda bergantung pada akumulasi statistik - kesalahan akan muncul pada kueri besar dan kompleks, yaitu pada saat yang paling tidak menguntungkan.

2. Buat Rencana Pemeliharaan yang menyusutkan database tabel sementara tempdb setiap malam. Basis data tabel sementara tidak selalu dihapus secara otomatis oleh server 1C:Enterprise, dan terkadang, sebagai akibat dari kueri yang ditulis tidak berhasil, tabel sementara, misalnya, berukuran 50 GB dapat dibuat dan tidak dihapus. Akibatnya, ruang disk mungkin habis, akibatnya bagian klien dan server mungkin mogok, dan ada juga sedikit risiko pelanggaran integritas data.

Artinya, Anda membutuhkan:

      buka MS SQL Management Studio
      setelah terhubung ke server, perluas bagian "Rencana pemeliharaan".
      membuat Paket Layanan baru (atau menambah yang sudah ada),
      tambahkan item "Jalankan tugas Pernyataan T-SQL" ke dalamnya (karena Anda tidak dapat memilih database tempdb dalam tugas "Kecilkan database") dengan kode




1.GUNAKAN
2.
3.PERGI
4.
5.DBCC SHRINKFILE (N"tempdev", 0, HANYA POTONG)
6.
7.PERGI
8.
9.DBCC SHRINKFILE (N"templog", 0, HANYA POTONG)
10.
11.PERGI

Perhatikan bahwa nama file database tabel sementara tidak boleh "tempdev". Anda dapat menggunakan skrip untuk memeriksa nama ini

1.GUNAKAN tempdb
2.
3.PERGI
4.
5.EXEC sp_helpfile
6.
7.PERGI




“Panci, jangan dimasak”

Cara paling umum dalam praktik untuk memenuhi tempdb secara berlebihan dan menyebabkan crash server adalah dengan lupa menentukan kondisi saat menggabungkan tabel.

Yaitu, katakanlah kita memiliki dua tabel dalam database, masing-masing berukuran 20 ribu record. Katakanlah ada korespondensi satu-satu antara catatan mereka, dan kami menulis kueri yang membuat tabel sementara yang berisi 20 ribu catatan dengan bidang dari kedua tabel sumber. Namun jika kita lupa menentukan kondisi join, setiap record pada tabel pertama akan digabungkan ke setiap record tabel kedua! Artinya, tabel yang dihasilkan akan terdiri dari 20'000 * 20'000 = 400 juta catatan. Dan sebagainya.

3. Untuk mengurangi beban pada subsistem disk, disarankan, jika memungkinkan, untuk mendistribusikan database kerja dan tempdb, log, dan file swap sistem ke berbagai disk fisik.

Lebih baik mengatur jalur yang diinginkan untuk menyimpan file database yang berfungsi saat membuatnya dengan mengedit kolom Path:




Untuk mengubah lokasi fisik file database tabel sementara, gunakan perintah ALTER DATABASE, yaitu di MS SQL Management Studio Anda perlu menjalankan skrip berikut (perintah "Permintaan baru")

1.GUNAKAN master
2.
3.PERGI
4.
5.UBAH DATABASE tempdb
6.
7.MODIFIKASI FILE (NAMA = tempdev, NAMA FILE = "Disk_Baru:\Direktori_Baru\tempdb.mdf")
8.
9.PERGI
10.
11.UBAH DATABASE tempdb

12.
13.MODIFIKASI FILE (NAMA = templog, NAMA FILE = "Disk_Baru:\Direktori_Baru\templog.ldf")
14.
15.PERGI

4. “Pertumbuhan” database kerja dan lognya tidak boleh terhambat – tidak boleh ada batasan ukuran, properti “Pertumbuhan Otomatis” harus ditetapkan sebagai persentase, nilai yang disarankan adalah 10%. Jika tidak, menambahkan data ke database, memulihkan dari arsip, dan operasi lainnya mungkin memerlukan waktu yang sangat lama.

Untuk mengatur properti ini, Anda perlu pergi ke properti database melalui menu konteks, pilih bagian File, dan buka pengeditan properti file:



5. Disarankan untuk mengaktifkan dukungan untuk protokol jaringan TCP/IP di MS SQL Server dan menonaktifkan semua protokol lainnya, jika tidak, operasi gabungan MS SQL Server dan 1C: Server perusahaan akan menjadi kurang stabil.




6. Di tempat yang sama - hapus bagian Alias, karena pemasangannya menyebabkan kesalahan dalam interaksi antara MS SQL Server dan 1C: Server perusahaan.

Sebelum mulai menggunakan database, disarankan:

1. Saat membuat database dari "1C: Enterprise", atur "date offset" ke 2000, jika tidak, upaya untuk mencatat tanggal lebih awal dari 01/01/1753 (yang mungkin karena faktor manusia) akan menyebabkan kegagalan dalam basis data.

Perhatian! Offset tanggal tidak dapat diubah untuk database yang sudah ada!



2. Atur model Pemulihan ke Sederhana, atau buat Rencana Pemeliharaan, yang akan membuat cadangan harian database dan memangkas log transaksi (file log). Jika tidak, selama beberapa operasi, log transaksi (file log) akan bertambah dengan sangat cepat: misalnya, saat merestrukturisasi database, pertumbuhan ukuran file log bisa beberapa kali lebih besar dari ukuran database itu sendiri.




3. Buat Rencana Pemeliharaan yang melakukan tugas rutin berikut setidaknya sekali seminggu:

      Membuat salinan cadangan database.
      Perbarui statistik basis data dan hapus cache prosedural (perhatikan bahwa properti statistik pembaruan otomatis tidak berarti menghapus cache prosedural).
      Menghapus cache prosedural tidak termasuk dalam operasi standar Rencana Pemeliharaan; langkah ini harus didefinisikan sebagai menjalankan skrip (Jalankan Pernyataan T-SQL) dengan konten berikut:
      PROCCACHE GRATIS DBCC
      Mengindeks ulang tabel database.






Tentu saja, masuk akal untuk mengatur pengiriman email otomatis tentang penyelesaian tugas yang berhasil/tidak berhasil.




Kesimpulan

Masalah yang paling sering menimbulkan kesulitan bagi administrator sistem dan pelaksana 1C:Enterprise 8 dipertimbangkan sehubungan dengan penggunaan bersama MS SQL Server dan versi client-server 1C:Enterprise 8.

Penulis berharap bahwa ia telah membahas “kedua sisi mata uang” dengan cara yang cukup konsisten dan mudah diakses.

P.S. Sering-seringlah membuat cadangan!

Versi kerja klien-server- salah satu opsi untuk mengoperasikan sistem 1C:Enterprise 8.

Versi klien-server dari pekerjaan ini dimaksudkan untuk digunakan dalam kelompok kerja atau pada skala perusahaan. Ini diimplementasikan berdasarkan arsitektur client-server tiga tingkat.

Arsitektur client-server membagi seluruh sistem kerja menjadi tiga bagian berbeda yang berinteraksi satu sama lain dengan cara tertentu:

Program yang berjalan untuk pengguna (aplikasi klien) berinteraksi dengan cluster server 1C:Enterprise 8, dan cluster, jika perlu, mengakses server database.

Dalam hal ini, cluster fisik server 1C:Enterprise 8 dan server database dapat ditempatkan di komputer yang sama atau di komputer yang berbeda. Hal ini memungkinkan administrator untuk mendistribusikan beban antar server jika diperlukan.

Menggunakan cluster server 1C:Enterprise 8 memungkinkan Anda memusatkan operasi pemrosesan data paling ekstensif di dalamnya. Misalnya, ketika menjalankan kueri yang sangat kompleks sekalipun, program yang dijalankan untuk pengguna hanya akan menerima pilihan yang diperlukan, dan semua pemrosesan perantara akan dilakukan di server. Biasanya, meningkatkan kapasitas cluster server jauh lebih mudah daripada mengupgrade seluruh armada mesin klien.

Aspek penting lainnya dalam penggunaan arsitektur 3-tier adalah kemudahan administrasi dan perampingan akses pengguna ke basis informasi. Dalam opsi ini, pengguna tidak perlu mengetahui lokasi fisik konfigurasi atau database. Semua akses dilakukan melalui cluster server 1C:Enterprise 8. Saat mengakses infobase tertentu, pengguna hanya perlu menentukan nama cluster dan nama infobase, dan sistem meminta nama pengguna dan kata sandi masing-masing.

1C:Enterprise 8 menggunakan kemampuan sistem manajemen basis data untuk mengambil informasi secara efisien:

  • mekanisme query difokuskan pada memaksimalkan penggunaan DBMS untuk melakukan perhitungan dan menghasilkan laporan,
  • melihat daftar dinamis yang besar dipastikan tanpa melakukan panggilan database dalam jumlah besar; pada saat yang sama, pengguna diberikan kemampuan pencarian yang efektif, serta pengaturan pemilihan dan penyortiran.

Menyebarkan opsi client-server dan mengelolanya cukup sederhana. Misalnya, pembuatan database dilakukan langsung saat peluncuran konfigurator (sama seperti versi file).

Aplikasi Klien

Bekerja dalam versi client-server dimungkinkan baik secara langsung dengan cluster atau melalui server web. Selain itu, dalam kasus koneksi langsung ke cluster, klien tebal dan klien tipis menggunakan protokol TCP/IP. Saat terhubung melalui server web, klien tipis dan klien web menggunakan protokol HTTP atau HTTPS.

Kluster server

Cluster server 1C:Enterprise 8 adalah komponen utama platform, memastikan interaksi antara pengguna dan sistem manajemen database dalam mode client-server. Kehadiran cluster memungkinkan Anda memastikan pengoperasian sejumlah besar pengguna yang tidak terputus, toleran terhadap kesalahan, dan kompetitif dengan database informasi yang besar.

server basis data

Berikut ini dapat digunakan sebagai server database:

Administrasi cluster server

Platform ini mencakup serangkaian alat yang memungkinkan administrator mengelola komposisi cluster, database informasi, dan koneksi pengguna.

Melakukan fungsionalitas dasar di server

Semua pekerjaan dengan objek aplikasi, membaca dan menulis database hanya dilakukan di server. Fungsionalitas formulir dan antarmuka perintah juga diimplementasikan di server.

Server menyiapkan data formulir, mengatur elemen, dan mencatat data formulir setelah perubahan. Klien menampilkan formulir yang sudah disiapkan di server, memasukkan data dan memanggil server untuk mencatat data yang dimasukkan dan tindakan lain yang diperlukan.

Demikian pula antarmuka perintah dibentuk di server dan ditampilkan di klien. Selain itu, laporan dibuat seluruhnya di server dan ditampilkan di klien.

Pada saat yang sama, mekanisme platform difokuskan untuk meminimalkan jumlah data yang ditransfer ke komputer klien. Misalnya, data dari daftar, bagian tabel, dan laporan tidak langsung ditransfer dari server, tetapi saat pengguna melihatnya.

Server berjalan:

  • Kueri basis data
  • Perekaman data,
  • Melaksanakan dokumen,
  • Berbagai perhitungan
  • Melakukan pemrosesan,
  • Pembuatan laporan,
  • Mempersiapkan formulir untuk dipajang.

Berjalan di klien:

  • Menerima dan membuka formulir,
  • Tampilan formulir,
  • “Komunikasi” dengan pengguna (peringatan, pertanyaan...),
  • Perhitungan kecil dalam bentuk yang membutuhkan respon cepat (misalnya mengalikan harga dengan kuantitas),
  • Bekerja dengan file lokal,
  • Bekerja dengan peralatan komersial.

Menggunakan bahasa bawaan pada klien

Anda dapat mengelola fungsionalitas formulir tidak hanya di server, tetapi juga di klien. Klien mendukung bahasa bawaan. Ini digunakan dalam kasus di mana perlu untuk melakukan perhitungan terkait dengan formulir yang ditampilkan di layar, misalnya, dengan cepat (tanpa menghubungi server) menghitung jumlah baris dokumen berdasarkan harga dan kuantitas; ajukan pertanyaan kepada pengguna dan proses jawabannya; membaca file dari sistem file komputer dan mengirimkannya ke server.

Namun, pengoperasian bahasa bawaan pada klien didukung sampai batas tertentu. Prosedur klien dalam modul secara eksplisit dipisahkan dari prosedur server, dan prosedur tersebut menggunakan komposisi terbatas model objek bahasa bawaan.

Pekerjaan langsung dengan database tidak diperbolehkan di klien. Bekerja secara langsung dengan objek aplikasi tidak diperbolehkan; misalnya, jenis bahasa bawaan seperti Objek Direktori.<имя> . Permintaan tidak diperbolehkan. Jika Anda perlu memanggil tindakan dengan data dalam kode klien, Anda perlu memanggil prosedur server yang sudah mengakses data tersebut.

Menu Beta

Menyiapkan Server 1C:Enterprise 8.3 dan PostgreSQL 9.4.2-1.1C. Instruksi lengkap

Dalam manual ini kami akan memberi tahu (dan menunjukkan) cara mengatur koneksi 1C:Perusahaan 8.3 Dan PostgreSQL 9.4.2 dari saat instalasi kedua layanan, hingga pembuatan basis informasi. Anda dapat membaca tentang menyetel kombinasi ini.

Tahapan yang harus kita lalui:

  1. Instalasi Server 1C:Perusahaan(64-bit) untuk Windows
  2. Instalasi PostgreSQL 9.4.2-1.1C
  3. Pembuatan Basis Data Informasi.

Detail lebih lanjut di bawah potongan!

Tahap 0. Memasukkan data.

Nama server - 1CServer
Nama akun server - Administrator
Kata sandi akun - 123456Ab

Nama akun 1C di server - USR1CV8
Kata sandi akun 1C di server - 123456Cd

Nama akun PostgreSQL di server - postgres
Kata sandi untuk akun PostgreSQL di server adalah 123456Ef

Nama pengguna super PostgreSQL - postgres
Kata sandi pengguna super PostgreSQL - 1234

Uji Nama Basis Data - tesdb

Tahap 1. Instalasi Server 1C:Perusahaan(64-bit) untuk Windows


Tahap 2. Instal PostgreSQL dan pgAdmin.


Tahap 3. Pembuatan basis informasi 1C.

  1. Sebelum melakukan operasi berikut, nonaktifkan IPv6 pada antarmuka jaringan Anda: Jaringan dan Pusat Berbagi > Koneksi jaringan lokal > Properti> Hapus centang Protokol Internet Versi 6 (TCP/IPv6).
  2. Kami meluncurkan klien 1C:Enterprise dan menambahkan database baru.
  3. Membuat infobase baru > Membuat infobase tanpa konfigurasi (misalnya, Anda dapat memiliki konfigurasi apa pun) > Di server 1C:Enterprise >
  4. Kami mengisi semua kolom sesuai dengan contoh kami (Tahap 0):
    Kluster server 1C:Perusahaan: 1CServer
    Nama infobase di cluster: tesbd
    Koneksi aman: Mati
    Jenis DBMS: PostgreSQL
    Server basis data: 1CServer
    Nama basis data: tesbd
    Pengguna basis data: postgres
    Kata sandi pengguna: 1234
  5. Lebih jauh lagi. Kami meluncurkan database yang dibuat dalam mode perusahaan - semuanya berfungsi!

Kami ingatkan sekali lagi bahwa PostgreSQL dapat di-overclock dengan cukup baik. Detail di.
Dan jangan lupa tentang 1C!
Jika ada masalah dengan database, mungkin ini bisa membantu Anda.
Basis data 1C dimungkinkan!

Masih ada pertanyaan?

Apakah ada yang tidak beres? Spesialis perusahaan kami akan membantu Anda menyelesaikan masalah apa pun yang mungkin timbul! Hubungi kami! →

Orang-orang terus-menerus bertanya di forum di Internet:
-Cara menginstal 1C:Enterprise 8.1 (8.2) pada PostgreSQL di sistem operasi Windows
-Apakah mungkin untuk menginstal secara bersamaan dua proses "1C:Enterprise 8.1 Server Agent" dan "1C:Enterprise 8.2 Server Agent". Jika ya, bagaimana cara melakukannya?
-Setelah menginstal 1C dan PostgreSQL, kesalahan berikut ditampilkan:
A)



b) Kesalahan saat membuat infobase:
Terjadi kesalahan saat melakukan operasi dengan infobase.

c) Kesalahan saat membuat infobase:
Terjadi kesalahan saat melakukan operasi dengan infobase.


Jika Anda menghadapi masalah seperti itu dan sedang mencari jawabannya, maka artikel ini cocok untuk Anda.

1. Instalasi 1C:Perusahaan 8.2

Memulai instalasi 1C:Enterprise 8.2.

Memilih komponen untuk instalasi; selain itu, kita memerlukan:
-Server 1C:Perusahaan
-Administrasi server 1C:Perusahaan

Memilih bahasa Rusia

Selanjutnya, Anda perlu membuat pengguna yang atas namanya layanan Agen Server akan diluncurkan. Jadi, centang kotak untuk menginstal server 1C: Perusahaan sebagai layanan Windows (Disarankan). Dan kami membuat pengguna. Bahkan jika Anda menentukan kata sandi yang sudah ada dan secara tidak sengaja memasukkan kata sandi yang salah, layanan tidak akan dimulai setelah instalasi. Dan instalasi itu sendiri akan selesai dengan benar, Anda perlu mengklik lanjutkan di jendela startup layanan.

Mari kita mulai instalasinya

Menginstal driver keamanan: Driver keamanan harus diinstal pada komputer tempat kunci fisik dimasukkan. Paling sering, kuncinya diinstal di server, kami akan melakukan hal yang sama dan membiarkan kotak centang instalasi driver default - instal.

Kami menyelesaikan instalasi.

Temukan "1C: Agen Server Perusahaan", buka properti:

Dan pada tab “login”, alihkan jenis login ke “dengan akun sistem”.

2. Menginstal PostgreSQL untuk 1C:Enterprise.

Kami memulai instalasi PostgreSQL. Kit distribusinya sendiri harus diunduh dari situs resmi 1C, karena sudah ada versi yang dikonfigurasi untuk bekerja dengan 1C.

Kami memulai instalasi, pilih bahasa Rusia, dan klik berikutnya.

Pilihan komponen yang akan diinstal dibiarkan default.

Inisialisasi klaster.

Jika agen server perlu dibagikan dengan server SQL, centang kotak untuk mendukung koneksi dari IP apa pun, bukan hanya localhost.
PERHATIAN! Kami mengatur pengkodean: UTF-8 untuk server dan klien.

Di sini kita membiarkan semuanya sebagai default dan klik berikutnya lagi.

Modul tambahan dapat dibiarkan secara default, jika perlu, Anda dapat menandai modul yang diperlukan.

Memulai instalasi PostgreSQL

Kami menyelesaikan instalasi.

Untuk layanan PostgreSQL, saya juga biasanya mengganti jenis startup - dengan akun sistem.

3. Membuat basis informasi pada server pgsql dan kesalahan umum yang terjadi pada tahap ini.

Kami pergi ke 1C, tambahkan database baru, katakan bahwa database akan ada di server dan tunjukkan parameter server:

Perhatian. Database harus dibuat khusus dari 1C, sebaliknya jika Anda membuatnya dari PgMyAdmin, maka ketika Anda mencoba masuk ke database Anda akan menerima kesalahan:

Kesalahan saat membuat basis info:
Terjadi kesalahan saat melakukan operasi dengan infobase.
Kesalahan DBMS: KESALAHAN: bahasa "plpgsql" tidak ada.
PETUNJUK: gunakan CREATE LANGUAGE untuk memuat bahasa ke dalam database.

Bahkan jika Anda membuka pgMyAdmin dan menambahkan bahasa "plpgsql" untuk database, kesalahan berikut akan muncul.

Kesalahan saat membuat basis info:
Terjadi kesalahan saat melakukan operasi dengan infobase.
Kesalahan DBMS: ERROR: ketik "mvarchar" tidak ada pada karakter 31

SOLUSI: Anda perlu membuat database dari 1C.

Jika, saat membuat database dari 1C:Enterprise, Anda menerima pesan berikut:

Terjadi kesalahan saat melakukan operasi dengan infobase.
Kesalahan DBMS: ERROR: pengkodean baru (UTF8) tidak kompatibel dengan pengkodean database templat (WIN1251).
PETUNJUK: Gunakan pengkodean yang sama seperti pada database template, atau gunakan template0 sebagai template.

SOLUSI: Saat menginstal PostgreSQL, Anda meninggalkan bahasa Windows-1251 untuk server atau klien, yang diinstal secara default, tetapi Anda perlu mengubahnya ke UTF-8

Instal ulang PostgreSQL dan tentukan bahasa UTF-8 selama instalasi.

4. Meluncurkan agen server 1C:Enterprise 8.1 dan

Agen server 1C:Enterprise 8.2 secara bersamaan di satu komputer.

Dengan munculnya platform 8.2, banyak orang mulai mengalami masalah ketika mereka membutuhkan platform 8.2 untuk berjalan di server, namun pada saat yang sama mereka ingin tetap menggunakan 8.1.

Saya mengusulkan salah satu cara untuk menginstal dua agen server, melalui pemisahan port.

Pertama, instal Platform 8.1, seperti dijelaskan di atas. Selanjutnya, instal Platform 8.2. Sekarang kita akan melihat 2 layanan agen server muncul di daftar layanan. Namun saat memulai layanan kedua, pesan berikut akan ditampilkan:

Layanan "1C: Enterprise 8 Server Agent" di "komputer lokal" dimulai dan kemudian dihentikan. Beberapa layanan berhenti secara otomatis jika tidak digunakan oleh layanan atau program lain.

Hal ini terjadi karena sistem mencoba menjalankan 2 proses pekerja secara bersamaan yang beroperasi pada port yang sama.

Untuk keluar dari situasi ini, mari kita ubah portnya, misalnya Server Agent 8.1.
Untuk melakukan ini, Anda perlu menghentikan layanan Agen Server 1C:Enterprise 8.2.
Luncurkan 1C:Agen Server Perusahaan 8.1.

Cabang registri: HKLM\SYSTEM\ControlSet001\services\1C:Enterprise 8.1 Server Agent
Parmert: Jalur Gambar
Nilai: "C:\Program Files\1cv81\bin\ragent.exe" -srvc -agent -regport 1641 -port 1640 -range 1660:1691 -d "C:\Program Files\1cv81\server"

Setelah perubahan ini, kita akan menjalankan 2 Agen Server 1C secara bersamaan: Perusahaan 8. Kami meluncurkannya sesuai dengan itu.

Sekarang kita perlu menambahkan cluster server baru. Kami melakukan semuanya dengan baik:

Jika kami tidak memiliki server pusat 8.1, tambahkan, tetapi dengan port 1640:

Tambahkan cluster server, ubah port menjadi 1641:

Sekarang cluster 8.1 kami akan bekerja melalui port 1640, dan untuk 8.2 melalui 1540 (port default):

Menambahkan alur kerja 8.1. port yang sesuai juga berubah menjadi 16xx

Kami memulai proses, jangan lupa centang kotak - proses diaktifkan.

Sekarang semuanya akan berjalan baik bagi kita.

Hal terakhir yang perlu dikatakan: saat membuat database di 8.1, Anda perlu menentukan portnya, karena jika tidak, port default (1541) akan digunakan dan program akan menulis tentang ketidakcocokan versi platform.