Penjelasan tentang fitur-fitur baru yang disertakan dalam Microsoft Jet 4.0

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 275561 - Melihat produk di mana artikel ini berlaku.
Lanjutan: Memerlukan ahli coding, interoperabilitas, dan multiuser keterampilan.

Artikel ini hanya berlaku untuk Microsoft Access database (.mdb).

Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Artikel ini menjelaskan fitur-fitur baru dari Microsoft Jet 4.0, dan artikel juga membandingkan beberapa perubahan antara Microsoft Jet 3.5 dan Jet 4.0.

INFORMASI LEBIH LANJUT

Menyimpan karakter dalam Unicode

Salah satu kunci fitur sekarang tersedia di Microsoft Jet, versi 4,0 adalah kemampuan untuk menyediakan dukungan Unicode. Fitur ini membawa Jet lebih dekat untuk format penyimpanan data yang digunakan oleh Microsoft SQL Server. Semua karakter data-- itu adalah, data yang disimpan dalam bidang didefinisikan sebagai tipe data Microsoft Jet teks dan Memo, yang setara dengan tipe data Microsoft SQL Server Char, Varchar, dan sebagainya - sekarang disimpan dalam dua byte Unicode karakter representasi format. Menggantikan Double-Byte karakter String (DBCS) format yang digunakan dalam versi sebelumnya dari Microsoft Jet database engine untuk menyimpan karakter data untuk bahasa tertentu, seperti Jepang, Cina, dan orang lain.

Untuk mengakomodasi perubahan Unicode data dan mengaktifkan semua data yang ada untuk berhasil diubah, internal unit penyimpanan ( Halaman ukuran) meningkat dari 2 kilobyte (KB) (2,2048 byte) untuk 4 KB (4,096 byte). Ini memungkinkan peningkatan ukuran maksimum database untuk Microsoft Jet database, memungkinkan mereka untuk pergi dari maksimum 1.07 gigabyte (GB) awal Versi Microsoft Jet, 2.14 GB untuk Microsoft Jet 4.0.

Sementara representasi Unicode karakter data memerlukan lebih banyak ruang untuk menyimpan setiap karakter (dua byte bukan hanya satu byte), bidang dengan tipe data string dapat didefinisikan untuk secara otomatis kompres data, jika mungkin. Oleh karena itu, dengan Kebanyakan karakter set, karakter data dapat disimpan dalam format terkompresi, seperti bahwa penggunaan representasi Unicode meningkatkan mengurangi ukuran database. Ada beberapa dampak, namun, berdasarkan Apakah karakter data disimpan dalam bidang didefinisikan sebagai teks atau Memo. Jet Memo bidang memiliki batasan dengan hormat untuk kompresi (cara mengaktifkan kompresi Unicode, ketika diaktifkan oleh default, dan di mana itu diterapkan dijelaskan nanti dalam artikel ini). Perhatikan bahwa non-karakter data jenis, seperti Integer, mata uang, waktu, dan sebagainya adalah tidak terpengaruh oleh pelaksanaan Unicode.

NT-kompatibel menyortir


Menerapkan representasi Unicode untuk penyimpanan karakter data diaktifkan Microsoft Jet Database Engine untuk mengembangkan dan menggunakan menyortir mekanisme yang didasarkan pada Microsoft Windows NT asli menyortir fungsionalitas. Mekanisme ini penyortiran menggunakan Windows NT lokal pengidentifikasi (LCID) dan dapat mendukung semua jenis pesanan didukung oleh Microsoft Windows NT.

Mekanisme ini penyortiran juga digunakan oleh Microsoft Jet ketika menjalankan pada Microsoft Windows 95, menyediakan salinan Unicode fungsi yang tersedia dalam Windows NT belum dihilangkan dari Windows 95. Hal ini memungkinkan untuk benar menyortir pada Windows 95 bahasa-bahasa yang tersedia pada Windows NT, Alih-alih hanya sistem bahasa default yang mendukung Windows 95 dalam yang ANSI penyortiran. Mekanisme ini penyortiran juga digunakan oleh Microsoft Jet ketika menjalankan pada Microsoft Windows NT. Oleh karena itu, ada konsistensi dalam memilah di sistem operasi dan mutlak konsistensi dengan asli Windows NT menyortir perintah.

Mekanisme ini penyortiran juga digunakan oleh Microsoft SQL Server 7,0 dan 2000, dan oleh Visual Basic 6.0, menyediakan lebih besar perkalian silang konsistensi.

Kinerja tinggi dalam memilah penting. Sebelum Windows NT pengurutan mekanisme ditambahkan ke Microsoft Jet 4.0, itu secara substansial dioptimalkan untuk kinerja tinggi. Dalam kebanyakan kasus, Microsoft Jet menyortir mekanisme adalah 50% lebih cepat daripada Windows NT setara dengan, dan untuk beberapa bahasa seperti Thailand, peningkatan kecepatan lebih besar dari 50%.

Ikhtisar dari tipe data Jet 4.0

Untuk membuatnya lebih mudah untuk upsize Microsoft Jet Database ke Microsoft SQL Server Database, dan untuk kompatibilitas yang lebih baik antara Microsoft Jet dan Microsoft SQL Server, dan untuk kepentingan replikasi, tipe data Microsoft Jet memiliki telah selaras dengan orang-orang dari Microsoft SQL Server untuk tingkat yang lebih besar. Dalam beberapa kasus, ini juga telah disediakan untuk kompatibilitas yang lebih besar dengan ODBC data sumber-sumber yang dapat diakses melalui Microsoft Jet.

Karakter (itu adalah, Tipe data teks) masih memiliki panjang maksimum dari 255 karakter. Dukungan Unicode sekarang membuat panjang maksimum ini layak untuk semua bahasa. Didukung sinonim untuk tipe data teks adalah Char, Varchar, karakter bervariasi, Nchar, Nasional Karakter, Char nasional, Nvarchar, karakter Nasional bervariasi, dan nasional Char bervariasi.

Penggunaan kata kunci teks tanpa disertai panjang spesifikasi telah berubah. Sekarang adalah sinonim untuk Memo. Ini lebih baik sejalan penggunaan kata kunci Microsoft Jet teks dengan penggunaannya dalam Microsoft SQL Server. Anda dapat terus menggunakan teks kata kunci dengan panjang spesifikasi, misalnya Teks (100) untuk mendefinisikan kolom data panjang tetap karakter.

Contoh untuk menggambarkan penggunaan kata kunci tipe data teks
CREATE TABLE TableName (FieldName TEXT)
				
setara dengan
CREATE TABLE TableName (FieldName MEMO)
				
dan sejalan dengan SQL Server definisi dan sintaks untuk teks. Ini contoh berikutnya:
CREATE TABLE TableName (FieldName TEXT (100))
				
setara dengan
CREATE TABLE TableName (FieldName CHAR (100))
				
dan akan memberikan kompatibilitas untuk kebanyakan ada Microsoft Jet aplikasi.

LongText (, Memo) memungkinkan untuk panjang maksimum sekitar 2.14 GB. Dengan implementasi Unicode, ini akan menjadi sekitar 1.07 GB karakter. Sinonim didukung adalah teks, Ntext, Memo, LongChar, dan catatan.

Tipe data Binary(n) memungkinkan untuk panjang maksimum dari 255 karakter. Sinonim didukung adalah Varbinary, biner bervariasi, dan Bit Bervariasi.

Tipe data LongBinary sekarang akan memungkinkan untuk panjang maksimum sekitar 2.14 GB. Sinonim didukung adalah gambar, umum, dan OLEObject.

Tanggal/waktu data jenis tidak berubah dari versi sebelumnya Jet. Sinonim Timestamp tidak lagi didukung karena yang sesuai SQL Server Timestamp berkorelasi langsung ke data tanggal/waktu jenis.

Tipe data tunggal tidak berubah dari versi sebelumnya juga. Sinonim didukung adalah nyata, Float4, dan IEEESingle.

Data ganda jenis juga tidak berubah dan sinonim didukung mengambang, ganda Presisi, Float8, dan IEEEDouble. Sinonim numerik tidak lagi didukung untuk jenis data ganda. Kata kunci angka sekarang digunakan untuk mendefinisikan bidang sebagai tipe data numerik yang tepat yang sesuai dengan SQL Server desimal atau angka tipe data.

Byte tidak berubah dan sinonim Tinyint.

Bilangan bulat tidak berubah dan didukung sinonim Smallint, Integer2, dan Pendek.

LongInteger tidak berubah dan sinonim didukung Int, Bilangan bulat, dan Counter. Sinonim AutoIncrement tidak lagi didukung (lihat informasi nanti dalam artikel ini untuk pada bidang Auto Increment).

Tipe data mata uang tidak berubah dan sinonim adalah uang. Data yang diakses melalui ODBC yang diketik sebagai Sql_Decimal atau Sql_Numeric (, SQL Server desimal atau bidang) tidak lagi dipetakan ke Microsoft Jet mata uang jenis.

Jenis Boolean tidak berubah dan sinonim didukung Sedikit, logis, dan ya/tidak

GUID (global pengenal unik) adalah tidak berubah dan sinonim didukung adalah UniqueIdentifier.

Auto Increment bidang hanya dapat menggunakan tipe data LongInteger untuk menentukan bidang nilai-nilai yang akan secara otomatis dihasilkan oleh Microsoft Jet Database Mesin. Berikut menunjukkan contoh cara menetapkan auto-incrementing bidang:
CREATE TABLE TableName (FieldName1 IDENTITY (10, 5), FieldName2 CHAR,
FieldName3 CHAR)
				
Bidang FieldName1 didasarkan pada jenis data LongInteger, nilai FieldName1 untuk pertama catatan dimasukkan ke dalam TableName akan 10, dan nilai dalam setiap catatan berikutnya akan bertambah sebesar 5.

Kata kunci Counter dapat digunakan sebagai kata kunci identitas. Kedua benih ( mulai nilai) dan nilai inkremental opsional. Jika tidak ditentukan, keduanya standar nilai 1.

Benih dan kenaikan dapat diubah dengan menggunakan ALTER TABLE pernyataan. Catatan baru dimasukkan ke dalam tabel akan memiliki nilai-nilai yang secara otomatis dihasilkan untuk bidang berdasarkan baru benih dan peningkatan nilai. Jika benih baru dan peningkatan dapat menghasilkan baru nilai-nilai yang cocok ada nilai-nilai yang dihasilkan oleh benih sebelumnya dan kenaikan, duplikat akan dibuat. Jika bidang Primary Key, kemudian memasukkan catatan baru dapat mengakibatkan kesalahan ketika duplikat primary key dibuat. Berikut adalah contoh dari menggunakan ALTER TABLE pernyataan untuk mengatur baru benih dan peningkatan nilai untuk auto-kenaikan bidang:
ALTER TABLE TableName ALTER COLUMN FieldName SET IDENTITY (2,4)
				

Tipe data Microsoft Jet 4.0 baru

Tipe data desimal baru untuk Microsoft Jet 4.0. Itu adalah tepat tipe data numerik yang memegang nilai-nilai dari-10 ^ 28-1 melalui 10 ^ 28-1. Kamu bisa menentukan presisi (1-28) dan skala (0 - didefinisikan presisi). Default presisi dan skala adalah 18 dan 0, masing-masing. Sinonim didukung adalah Desember dan Numerik. Data yang diakses melalui ODBC yang diketik sebagai Sql_Decimal atau Sql_Numeric sekarang dapat dipetakan untuk Microsoft Jet desimal, bukan dari mata uang. Data ini jenis tidak didukung melalui Data akses objek (DAO). Didukung hanya dengan Objek ActiveX Data (ADO).

Mencari pada tipe data karakter dan memo

Dalam versi sebelumnya dari Microsoft Jet, bidang Memo tidak bisa diindeks. Sekarang, indeks pada bidang Memo yang didukung. Karakter pertama 255 data dalam bidang Memo yang digunakan untuk membangun indeks. Ketika pencarian wildcard yang dilakukan, hanya indeks digunakan. Ini memberikan kinerja yang baik, tetapi membatasi pencarian untuk hanya pertama 255 karakter data. Alasan yang ini terbatas pengindeksan dan mencari kemampuan ditambahkan adalah untuk menyediakan lebih cepat menyortir tipe data Microsoft akses Hyperlink, yang didasarkan pada Tipe data Microsoft Jet Memo.

Tipe data mampat

Semua kolom tipe data string dapat ditetapkan untuk menyimpan data dalam format terkompresi. Jika Anda telah menetapkan lapangan tipe data string dengan ini atribut, data akan dikompresi seperti disimpan, dan tidak dikompresi ketika Diperoleh dari lapangan.

Atribut ini telah ditambahkan untuk karakter bidang karena perubahan format representasi karakter Unicode. Karakter Unicode seragam memerlukan dua byte untuk setiap karakter. Yang ada Microsoft Jet Database yang terutama berisi karakter data, ini bisa berarti bahwa database file akan hampir dua kali lipat dalam ukuran ketika dikonversi ke Microsoft Jet 4.0 format. Namun representasi Unicode banyak karakter set (mereka sebelumnya dilambangkan sebagai rangkaian karakter Byte tunggal, SBCS) dapat dengan mudah dikompresi byte tunggal. Berikut adalah contoh tentang bagaimana untuk menentukan bidang yang dikompresi:
CREATE TABLE TableName (FieldName CHARACTER(255) WITH COMPRESSION)
				
Bidang memo juga dapat didefinisikan untuk menyimpan data dalam format terkompresi. Ada batasan, namun. Hanya Memo bidang nilai yang, ketika terkompresi, muat dalam byte 4,096 atau kurang, akan terkompresi. Semua bidang Memo nilai akan tetap tak terkompresi. Ini berarti bahwa dalam tabel tertentu, untuk bidang Memo tertentu, beberapa data mungkin dikompresi, dan beberapa mungkin tidak.

Itu harus mencatat bahwa ketika akan melalui akses pengguna Interface (UI), akses akan selalu menambahkan atribut kompresi Unicode setiap kali berlaku. Satu-satunya waktu yang pengguna akhir perlu khawatir tentang menambahkan kompresi atribut adalah ketika membuat sebuah tabel dengan membuat TABEL SQL sintaks. Kompresi atribut ini tidak dapat diakses melalui DAO ketika akan melalui model objek untuk membuat tipe data string.

SQL diperpanjang

Ada banyak perangkat tambahan yang ditambahkan ke Microsoft Jet 4.0 SQL implementasi untuk mendukung fungsi baru dan untuk membuatnya lebih sesuai dengan erat untuk spesifikasi ANSI SQL 92. Banyak perangkat tambahan ini juga membuat lebih mudah untuk menulis pernyataan SQL yang akan inter-operate antara Microsoft Jet dan Microsoft SQL Server.

Tetapi untuk menjaga kompatibilitas dengan Versi sebelumnya dari Microsoft Jet, perangkat tambahan ke SQL tersedia hanya Ketika mesin database diatur untuk beroperasi dalam mode ANSI SQL 92. Query yang dibuat menggunakan mode ANSI SQL 92 yang ditandai seperti ketika disimpan dalam database. Ini memungkinkan Microsoft Jet untuk menangani database yang berisi campuran non-meningkatkan permintaan dan orang-orang yang dibuat menggunakan sintaks ditingkatkan.

Keamanan

Dukungan untuk definisi keamanan database melalui SQL telah ditambahkan. Alih-alih menggunakan DAO atau ADO untuk hal-hal seperti menambahkan pengguna dan kelompok, pengaturan dan unsetting hak istimewa pada database objek, administrasi password, dan sebagainya, Anda dapat menggunakan sintaks SQL berikut:
CREATE / ADD / ALTER / DROP USER / GROUP
				
Berikut adalah contoh-contoh yang menggambarkan sintaks untuk membuat pengguna dan grup, menambahkan pengguna ke grup, membuat dan memodifikasi database password, dan seterusnya. Penjelasan singkat disediakan untuk masing-masing contoh.

Untuk membuat pengguna atau grup (satu atau beberapa pengguna atau grup dapat dibuat pada satu waktu):
CREATE USER UserName1 Password1, UserName2 Password2

CREATE GROUP GroupName1, GroupName2
				
Untuk menambahkan pengguna ke grup yang ada:
ADD USER UserName1, UserName2 TO GroupName
				
Untuk menjatuhkan sebuah kelompok, atau untuk menjatuhkan user, atau untuk menjatuhkan pengguna dari grup:
DROP GROUP GroupName

DROP USER UserName

DROP USER UserName FROM GroupName
				
Untuk membuat atau mengubah database password:
ALTER DATABASE PASSWORD NewPassword OldPassword
				
Untuk mengubah sandi pengguna:
ALTER USER UserName PASSWORD NewPassword OldPassword
				
Grant/mencabut sintaks dapat digunakan untuk menetapkan dan memodifikasi keamanan pada database objek. Perhatikan bahwa pengguna pemberian harus memiliki cukup hak untuk dapat memberikan izin kepada orang lain. Benda-benda yang keamanan dapat didefinisikan adalah:
  • Wadah
  • Indeks
  • Permintaan
  • Tabel
Bentuk dasar sintaks Grant/mencabut ditampilkan dalam contoh berikut:
GRANT SELECT ON TABLE TableName TO UserName

REVOKE SELECT ON TABLE TableName FROM UserName
				
Lebih dari satu hak istimewa dapat diberikan atau dicabut pada satu waktu untuk lebih dari satu pengguna atau grup:
GRANT SELECT, INSERT ON TableName to UserName, GroupName
				
Hak akan diberikan atau dicabut pada database objek lain dari tabel. Daftar jenis hak yang dapat diberikan atau dicabut segera mengikuti contoh ini berikutnya:
GRANT DROP ON OBJECT QueryName TO UserName, GroupName

REVOKE DROP ON OBJECT QueryName FROM UserName, GroupName
				
Jenis hak-hak yang ditetapkan oleh ANSI yang dapat diberikan atau dicabut adalah sebagai berikut:
  • SELECT
  • HAPUS
  • MASUKKAN
  • UPDATE
Jenis hak khusus untuk Microsoft Jet yang dapat diberikan atau dicabut adalah sebagai berikut:
  • SEMUA HAK ISTIMEWA
  • DROP
  • SELECTSECURITY
  • UPDATESECURITY
  • DBPASSWORD
  • UPDATEIDENTITY
  • MEMBUAT
  • SELECTSCHEMA
  • SKEMA
  • UPDATEOWNER
Keistimewaan UPDATEIDENTITY memungkinkan pengguna untuk mengubah nilai-nilai di auto increment kolom. Biasanya, hak istimewa ini disediakan untuk mesin database itu sendiri.

Ada juga beberapa hak yang khusus untuk database itu sendiri. Mereka adalah:
  • CREATEDB
  • EXCLUSIVECONNECT
  • MENGHUBUNGKAN
Secara umum, hak-hak yang ditetapkan di atas paralel mereka ditemukan dalam model pemrograman DAO.

Dilihat

Dukungan untuk definisi Views telah ditambahkan ke Microsoft Jet. Kemampuan ini dibangun di atas permintaan disimpan Microsoft Jet fungsi dan menawarkan kemampuan yang hampir persis sama. Lihat sintaks, Namun, ketika ditulis dalam pedoman ANSI lihat semantik, dapat bermigrasi ke database SQL lainnya, di mana sebagai Microsoft Jet permintaan tidak. The berikut memberikan beberapa contoh lihat definisi dan beberapa dasar aturan:
CREATE VIEW ViewName AS SELECT * FROM TableName

CREATE VIEW ViewName AS SELECT FieldName1, FieldName2 FROM TableName

CREATE VIEW ViewName (ViewColumnName1, ViewColumnName2) AS SELECT FieldName1, FieldName2 FROM
TableName

CREATE VIEW ViewName (ViewColumnName1, ViewColumnName2) AS SELECT TableName1.FieldName1, 
TableName2.FieldName1 FROM TableName1, TableName2 WHERE TableName1.FieldName2 = TableName2.FieldName3
				
Permintaan yang mendasari lihat definisi tidak boleh berisi pilih ke, juga bisa ada parameter. A View nama tidak dapat sama dengan apapun yang ada nama tabel. Untuk tampilan agar updateable, permintaan mendasari harus updateable. Jika setiap dua kolom dalam tabel direferensikan oleh permintaan mendasari memiliki nama yang sama, maka tampilan harus mendefinisikan kolom sendiri unik nama.

Untuk menghapus pandangan yang ada, gunakan sintaks DROP VIEW. Untuk contoh:
DROP VIEW ViewName
				
Sintaks ini dapat benar-benar digunakan untuk menjatuhkan permintaan apapun disimpan dalam Microsoft Jet database, bahkan jika pertanyaan tidak awalnya didefinisikan menggunakan CREATE VIEW sintaks.

Prosedur

Dukungan untuk definisi prosedur telah ditambahkan ke Microsoft Jet. Kemampuan ini dibangun di atas permintaan disimpan Microsoft Jet fungsi tindakan permintaan (query berdasarkan UPDATE, DELETE, pilih ke, dan DROP pernyataan) dan pilih permintaan yang mengandung parameter. Berikut adalah beberapa contoh dari prosedur definisi:
CREATE PROCEDURE ProcedureName AS UPDATE TableName SET (FieldName1 =
FieldName1 * 10) WHERE FieldName1 <  5

CREATE PROC ProcName (Param1) AS DELETE FROM TableName WHERE FieldName1 <
Param1

CREATE PROC ProcName (Param1 Integer) AS DELETE FROM TableName WHERE 
FieldName1 < Param1
				
Perhatikan bahwa nama prosedur tidak dapat sama dengan tabel yang ada Nama.

Untuk menghapus sebuah prosedur, hanya referensi nama prosedur di pernyataan DROP prosedur. Misalnya:
DROP PROCEDURE ProcName
				
Perhatikan bahwa meskipun Microsoft Jet prosedur didasarkan pada pertanyaan tersimpan dan DROP prosedur dapat digunakan untuk menghapus permintaan tindakan apapun, itu tidak dapat digunakan untuk menghapus pandangan yang juga didasarkan pada permintaan yang disimpan.

Untuk melaksanakan ada prosedur, penggunaan kata EXECUTE, diikuti oleh nama prosedur:
EXECUTE ProcName
				
Jika ada parameter yang didefinisikan dalam prosedur, nilai parameter ikuti prosedur nama sebagai koma dipisahkan-daftar tertutup dalam tanda kurung:
EXECUTE ProcName (5)
				

Transaksi

Microsoft Jet SQL sekarang mendukung doa dan penghentian (melakukan atau kembali rolling) transaksi. Perhatikan bahwa sementara ANSI SQL menentukan bahwa transaksi baru dimulai secara otomatis setelah KOMIT atau Kembalikan, Microsoft Jet tidak mengikuti model ini. Dengan demikian, tambahan transaksi kata didefinisikan secara eksplisit mulai transaksi, karena Microsoft Jet tidak secara otomatis mulai transaksi. Untuk memulai secara eksplisit transaksi menggunakan:
BEGIN TRANSACTION
				
Untuk mengakhiri transaksi dan melakukan pekerjaan dalam transaksi (pernyataan dieksekusi karena transaksi mulai), gunakan:
COMMIT
or
COMMIT TRANSACTION
				
Untuk mengakhiri transaksi dan rollback pernyataan dijalankan sejak transaksi dimulai, gunakan:
ROLLBACK
or 
ROLLBACK TRANSACTION
				

Tabel

Microsoft Jet CREATE TABLE sintaks telah ditingkatkan dalam beberapa cara. Salah satu fitur baru yang ditambahkan ke sintaks Jet CREATE TABLE adalah memeriksa Kendala. Tata bahasa SQL baru ini memungkinkan pengguna untuk menentukan aturan bisnis yang bisa terdiri lebih dari satu meja. Sintaks yang tepat untuk kendala sebagai berikut:
<check constraint definition> ::= CHECK <left paren> <search condition>
<right paren>

For Example:
CREATE TABLE TableName1 (FieldName DOUBLE);

INSERT INTO FieldName VALUES (100);

CREATE TABLE TableName2 (FieldName1 IDENTITY (100, 10), FieldName2
VARCHAR(10), FieldName3 VARCHAR(15), FieldName4 DOUBLE, CHECK (FieldName4
<= (SELECT SUM (FieldName) FROM TableName1)));

INSERT INTO TableName2 (FieldName2, FieldName3, FieldName4) VALUES ('John', 
'Doe', 100);

INSERT INTO TableName2 (FieldName2, FieldName3, FieldName4) VALUES ('Joe', 
'Blowe', 101);
				
Contoh di atas menciptakan memeriksa kendala setelah kolom definisi. Sementara ANSI memungkinkan hal ini terjadi sebagai bagian dari kolom definisi, pendekatan ini tidak didukung saat menggunakan Microsoft Jet. Sebaliknya, gunakan:
CREATE TABLE TableName2 (FieldName1 IDENTITY (100, 10), FieldName2
VARCHAR(10), FieldName3 VARCHAR(15), FieldName4 DOUBLE);

ALTER TABLE TableName2 ADD CONSTRAINT (FieldName4 <= (SELECT SUM 
(FieldName) FROM TableName1));
				

Integritas referensial

Deklaratif referensial integritas telah diperluas untuk mencakup definisi cascading menghapus dan update. Sebagai contoh, perhatikan Setelah tabel definisi untuk tabel disebut pelanggan:
CREATE TABLE Customers (CustomerID INTEGER PRIMARY KEY, CompanyName NCHAR
VARYING (50))
				
Sekarang mempertimbangkan definisi berikut meja disebut perintah, yang mendefinisikan hubungan kunci asing referensi primary key pelanggan tabel:
CREATE TABLE Orders (OrderID INTEGER PRIMARY KEY, CustomerID INTEGER,
ShipAddress NCHAR VARYING (255), CONSTRAINT FKOrdersCustomerID FOREIGN KEY
(CustomerID) REFERENCES Customers ON UPDATE CASCADE ON DELETE CASCADE
				
Perhatikan bahwa kedua ON memperbarui klausul CASCADE dan ON menghapus CASCADE klausa yang ditetapkan pada kunci asing. ON UPDATE CASCADE berarti bahwa jika Pengenal pelanggan (CustomerID) diperbarui dalam tabel pelanggan, Pembaruan akan secara otomatis melewati meja perintah, di mana masing-masing memesan mengandung nilai CustomerID yang sama akan diperbarui secara otomatis dengan yang baru nilai. ON menghapus CASCADE berarti bahwa jika pelanggan akan dihapus dari Pelanggan meja, semua baris dalam tabel perintah yang berisi CustomerID sama akan dihapus juga.

Juga memiliki integritas referensial deklaratif telah diperluas untuk mencakup definisi nilai-nilai NULL cascading untuk asing kunci. Dengan asumsi sama pelanggan tabel definisi seperti dalam contoh di atas, Pertimbangkan definisi berikut tabel perintah:
CREATE TABLE Orders (OrderID INTEGER PRIMARY KEY, CustomerID INTEGER,
ShipAddress NCHAR VARYING (255), CONSTRAINT FKOrdersCustomerID FOREIGN KEY
(CustomerID) REFERENCES Customers ON UPDATE SET NULL ON DELETE SET NULL
				
Perhatikan bahwa kedua ON memperbarui SET NULL klausul dan ON menghapus SET NULL klausa yang ditetapkan pada kunci asing. ON UPDATE SET NULL berarti bahwa jika CustomerID diperbarui dalam tabel pelanggan, tombol asing nilai dalam tabel pesanan akan otomatis diatur ke NULL. Demikian pula, ON MENGHAPUS SET NULL berarti bahwa jika pelanggan akan dihapus dari tabel pelanggan, semua kunci asing yang sesuai dalam tabel pesanan akan secara otomatis ditetapkan ke NULL

Kunci cepat asing

Biasanya, ketika kunci asing didefinisikan, indeks berdasarkan bidang yang membentuk kunci asing yang dibuat secara otomatis. Dalam banyak kasus, ini meningkatkan kinerja ketika menjalankan operasi yang mempertahankan referensial integritas.

Namun, indeks kunci asing juga dapat mengurangi kinerja dan concurrency. Dalam kasus di mana nilai-nilai dalam indeks kunci asing yang sangat diduplikasi, menggunakan indeks dapat kurang efisien daripada hanya pemindaian meja. Dan mempertahankan indeks sebagai catatan dimasukkan dan dihapus dari tabel, dapat menurunkan kinerja lebih jauh.

Juga, penguncian halaman indeks menurun concurrency. Dengan kata lain, ini dapat meningkatkan kemungkinan bahwa pengguna akan harus menunggu sampai kunci dirilis oleh pengguna lain sebelum permintaan mereka dapat melanjutkan eksekusi.

Akhirnya, memodifikasi halaman indeks memerlukan kunci permintaan ditempatkan atas jaringan. I/O ini tambahan lebih lanjut dapat menurunkan kinerja.

Memodifikasi tabel yang ada

Sintaks ALTER TABLE telah diperluas untuk mencakup tindakan ALTER KOLOM. Tanpa dukungan langsung untuk mengubah lapangan di versi sebelumnya Microsoft Jet, satu-satunya cara untuk mengubah definisi bidang adalah untuk menambahkan baru lapangan, menyalin data dari bidang yang ada, kemudian drop bidang asli. Dukungan untuk mengubah kolom menyederhanakan definisi bidang perubahan. Sebagai contoh, diberikan definisi tabel berikut:
CREATE TABLE TableName (FieldName1 INTEGER, FieldName2 CHAR)
				
Tipe data lapangan FieldName1 dapat diubah dengan menggunakan ALTER KOLOM sintaks sebagai berikut:
ALTER TABLE TableName ALTER COLUMN FieldName1 CHAR
				
Sintaks tambahan untuk ALTER TABLE:
<alter column definition> ::= ALTER [ COLUMN ] <column name> <alter column
action>

<alter column action> ::= <set column default clause> | <drop column
default clause> | <column definition>

<column definition> ::= <column name> <data type> [ <default clause>] [ 
<column constraint definition> ]

<column constraint definition> ::= [ <constraint name definition> ] | 
<unique specification> | <references specification> | <check constraint
definition
				
Sebagai catatan (dan di samping itu) untuk mengubah tipe data lapangan atau mengubah benih dan peningkatan nilai tipe data Auto-kenaikan, programmer dapat juga drop bidang dan kendala.

Akses ke data eksternal

Microsoft Jet menyediakan kemampuan untuk membaca dan menulis, impor dan ekspor, tabel data dalam populer format lain, seperti dBASE, Excel, Lotus, Paradoks, dan lain-lain. Teknologi yang mendukung kemampuan ini disebut dengan Microsoft Jet diinstal ISAMs (IISAMs). Berikut menyediakan singkat review dari perubahan signifikan untuk masing-masing format tertentu IISAMs.

Paradoks dan dBASE

Baca/tulis akses ke data paradoks dan dBASE akan didukung melalui mesin Borland Database (BDE). Pengguna yang perlu untuk dapat memperbarui, dan juga membaca paradoks dan dBASE data, dan pengguna yang memerlukan akses ke sebagian besar Versi-versi terbaru paradoks dan dBASE data, akan perlu untuk mendapatkan BDE dari pemasok lain dari Microsoft.

Pengguna yang tidak memiliki BDE akan masih dapat mengimpor dan mengekspor versi paradoks (versi 5.0 dan sebelumnya) dan dBASE (versi 5.0 dan yang sebelumnya) data melalui Microsoft Jet kepemilikan teknologi yang telah dikirim dengan versi sebelumnya dari Microsoft Akses dan Microsoft Jet database engine.

Untuk informasi tambahan tentang penggunaan paradoks data dan dBASE data, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
230125Cara menggunakan dBASE data dengan akses dan Jet
230126 Cara menggunakan paradoks data dengan akses dan Jet

FoxPro

Akses ke data Microsoft FoxPro akan didukung hanya melalui pengandar Microsoft FoxPro ODBC. Akses ke data FoxPro melalui Microsoft Jet kepemilikan teknologi yang telah dikirim dengan versi sebelumnya dari Microsoft Akses dan Microsoft Jet database engine tidak lagi didukung.

Untuk informasi tambahan tentang penggunaan FoxPro data, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
225861Tidak ada pilihan untuk mengimpor, link, atau ekspor ke jenis berkas FoxPro
286224 Tidak ada pilihan untuk mengimpor, link, atau ekspor ke jenis berkas FoxPro
824264 Anda tidak dapat terhubung langsung ke FoxPro database dalam akses 2003
197893 Cara menggunakan Visual FoxPro DBC file di Microsoft Access 2000
286815 Cara menggunakan Visual FoxPro DBC file di Microsoft akses 2002

Exchange

Dukungan telah ditambahkan untuk pertukaran IISAM untuk memungkinkan untuk mengakses alamat buku Windows (WAB) digunakan oleh klien e-mail Outlook Express. Ditingkatkan kolom nama dukungan karena pada dasarnya telah ditambahkan ke IISAM. The Exchange IISAM mampu sebelumnya hanya mengambil data dari Exchange client kolom. Telah diperpanjang untuk mengambil data dari semua Outlook kolom termasuk kolom ditetapkan pengguna Outlook.

Exchange IISAM adalah sekarang dapat juga menggunakan indeks yang dikelola oleh Exchange Server untuk mencari dan mengambil data. Ini memberikan dorongan yang signifikan dalam kinerja saat melakukan pencarian untuk data yang memenuhi kriteria tertentu.

Excel

Excel IISAM telah diperbarui untuk mendukung Excel 2000 format. Excel 3, 4, 5, 95 dan 97 format akan terus didukung oleh Excel IISAM.

Text/HTML

IISAM Text/HTML sekarang mampu menangani halaman HTML yang ditulis dalam format representasi Unicode. IISAM akan secara otomatis mendeteksi Unicode format dan karakter ditetapkan menggunakan teknologi yang sama yang digunakan oleh Produk Microsoft Internet Explorer dan Microsoft Office.

Teratai

Tidak ada perubahan-perubahan fungsional yang signifikan dibuat teratai IISAM.

Untuk informasi tambahan tentang mengakses data eksternal, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
180105Format file yang didukung oleh Access 2000 ketika Anda impor, ekspor, dan link
283294 Sumber data yang didukung untuk mengimpor, mengekspor, dan menghubungkan di 2002 akses database
826507 Sumber data yang didukung untuk mengimpor, untuk mengekspor, dan untuk menghubungkan dalam database Microsoft Office Access 2003

Sambungan kontrol

Fitur kontrol (juga dikenal sebagai pasif shutdown) koneksi mencegah pengguna dari menghubungkan ke database. Kemampuan ini berguna untuk database administrator yang perlu untuk memperoleh akses eksklusif ke database untuk melakukan pemeliharaan; sebagai contoh, pemadatan database atau ketika membuat Update pada skema database.

Ketika koneksi kontrol dipanggil, pengguna yang tersambung ke database akan tetap tidak terpengaruh sampai mereka Putuskan. Setelah terputus, mereka akan tidak dapat menyambung kembali sampai sambungan kontrol dicabut. Skenario berikut memberikan tambahan wawasan ke dalam bagaimana kemampuan ini bekerja:
  • Lima pemakai ada di dalam database. Pengguna memulai lima pasif Shutdown. Pengguna enam mencoba tersambung ke database, tetapi ditolak akses, dan pesan kesalahan kembali menyatakan bahwa pengguna lima mencegah database dari dibuka.
  • Lima pemakai ada di dalam database. Pengguna memulai lima pasif Shutdown. Pengguna satu menutup database dan mencoba untuk menyambung kembali ke database, tetapi ditolak akses, dan pesan kesalahan adalah kembali menyatakan bahwa pengguna lima adalah mencegah database dibuka.
  • Lima pemakai ada di dalam database. Pengguna memulai lima pasif Shutdown. Pengguna lima menutup database. Pengguna enam mencoba untuk membuka database dan berhasil. Hal ini karena shutdown pasif hanya bertahan sementara pengguna yang menyebutnya tetap terhubung ke database.
  • Lima pemakai ada di dalam database. Pengguna memulai lima pasif Shutdown. Pengguna satu sampai empat keluar database. Pengguna lima panggilan pengguna Daftar fungsi dan menentukan bahwa tidak ada pengguna lain yang dalam database. Pengguna Lima menutup database, yang segera memungkinkan semua pengguna lain untuk menyambung kembali.
Untuk informasi tentang cara untuk memohon koneksi kontrol, merujuk kepada dokumentasi pengguna ADO Anda.

Untuk informasi tambahan, klik nomor artikel di bawah ini untuk melihat artikel pada Basis Pengetahuan Microsoft:
198755Bagaimana memeriksa yang login ke database dengan Jet UserRoster dalam akses 2000
198756 Cara menggunakan Connection Control untuk mencegah pengguna pengguna logon pada saat menjalankan pada Access 2000
285822 Cara menentukan siapa yang login database dengan menggunakan Microsoft Jet UserRoster pada 2002 akses atau akses 2003
287655 Cara menggunakan Connection Control untuk mencegah pengguna logon pada jangka waktu di akses 2002

Daftar pengguna

Pengguna daftar fitur menyediakan cara untuk mencari tahu siapa saat ini terhubung ke Microsoft Jet database. Daftar dapat diperoleh melalui antarmuka pemrograman BASI. Merujuk kepada ADO pengguna dokumentasi untuk informasi bagaimana untuk kembali daftar pengguna, atau melihat artikel Basis Pengetahuan yang tercantum langsung di atas. Daftar pengguna kembali informasi berikut pada setiap pengguna:
  • Nama komputer pengguna.
  • Keamanan nama (yaitu User ID).
  • Apakah atau tidak pengguna saat ini terhubung ke database (pengguna ID tetap dalam database kunci sampai pengguna terakhir terputus atau sampai slot direklamasi bagi pengguna baru sambungan).
  • Apakah atau tidak pengguna sambungan diakhiri biasanya.
Kemampuan daftar pengguna dapat digunakan bersama sambungan kontrol kemampuan untuk menentukan pengguna yang masih terhubung, sehingga bahwa mereka dapat diminta untuk putus.

Kemampuan daftar pengguna juga berguna dalam mengisolasi masalah dengan database korupsi yang terkait dengan aktivitas pengguna tertentu.

Kunci promosi

Ketika pernyataan SQL dijalankan atau ketika transaksi dijalankan yang mengubah jumlah record di sebuah tabel, menulis kunci akan ditempatkan pada semua sesuai indeks dan halaman dalam database. Meskipun menempatkan diskrit kunci memaksimalkan concurrency, dapat secara signifikan mengurangi kinerja karena overhead yang terlibat dalam pengaturan dan mempertahankan kunci. Hal ini terutama berlaku ketika database pada server dan sedang diakses melalui local area network.

Kemampuan telah ditambahkan yang memungkinkan pengguna untuk membuka sebuah meja secara eksklusif dan memodifikasi Record di sebuah tabel tanpa kunci ditempatkan pada sesuai indeks atau halaman. Hal ini mengurangi concurrency (hanya satu pengguna yang diizinkan untuk memperbarui tabel), tetapi akan meningkatkan kinerja di mana sejumlah besar catatan diubah. Sebagai pilihan mengharuskan pengguna untuk pemrograman meminta akses eksklusif ke tabel untuk melakukan pembaruan, Microsoft Jet akan, ketika besar jumlah halaman kunci ditempatkan di meja, berusaha untuk mempromosikan halaman kunci untuk eksklusif tabel kunci. Apakah kemampuan ini dihidupkan dikendalikan oleh entri registri, PagesLockedToTableLock. Nilai default untuk registri entri adalah 0, yang melumpuhkan kemampuan. Nilai yang lebih besar daripada 0 menentukan Halaman kunci menghitung pada promosi yang eksklusif tabel kunci harus mencoba. Sebagai contoh, jika entri PagesLockedToTableLock diatur ke nilai 50, kemudian pada halaman 51 kunci, Microsoft Jet akan mencoba untuk mempromosikan pengguna berbagi meja membaca kunci eksklusif meja Lock. Jika percobaan promosi adalah gagal, itu akan coba lagi pada kunci halaman 101st, dan seterusnya.

Catatan-tingkat penguncian

Dengan peningkatan halaman ukuran (dari 2 K untuk 4 K) diperlukan untuk mendukung representasi format Unicode, ada potensi untuk menurun kinerja dan concurrency. Untuk meminimalkan dampak peningkatan halaman ukuran dan menanggapi permintaan lama dari pengembang membangun aplikasi berdasarkan Microsoft Jet database engine, baris-tingkat penguncian ditambahkan ke Jet 4.0.

Alih-alih penguncian seluruh halaman dan mungkin beberapa baris data, aplikasi dapat memilih untuk mengunci hanya satu catatan data pada satu waktu, dengan demikian meningkatkan concurrency dan kinerja.

Database dapat dibuka di salah satu dari dua mode:
  • Halaman penguncian Mode
  • Catatan/halaman penguncian Mode
Halaman penguncian Mode adalah pada dasarnya metode mantan penguncian Halaman, yang mengunci seluruh halaman 4 KB setiap kali pengguna update nilai dalam Catatan.

Baru catatan/halaman penguncian Mode, seperti namanya menunjukkan, mendukung catatan atau halaman kunci. Perhatikan bahwa sementara catatan-tingkat penguncian mengurangi concurrency konflik dan dengan demikian meningkatkan kinerja, kelemahan dari catatan-tingkat penguncian juga adalah kinerja yang terkait. Kinerja menurun ketika ada banyak catatan diperbarui sekaligus (misalnya, SQL Data pernyataan manipulasi bahasa (DML) atau loop dalam program yang memodifikasi sejumlah besar catatan). Ini adalah karena kunci permintaan harus ditempatkan untuk setiap catatan, bukan satu kunci permintaan untuk setiap halaman. Oleh karena itu, tergantung pada ukuran catatan, kinerja bisa sangat terhambat. Ini adalah alasan mengapa kedua modus penguncian tersedia di Jet 4.0, memberikan pengembang pilihan untuk kembali ke Mode penguncian halaman mantan jika metode dikehendaki. Secara default, akses akan memungkinkan tingkat catatan mengunci, namun pengguna dapat menonaktifkan ini dalam Microsoft Access dengan menunjuk ke Opsi pada Alat menu, mengklik Lanjutan tab, dan klik untuk menghapus Buka database menggunakan Catatan-tingkat penguncian kotak centang. Secara default, akses ke data melalui Microsoft Access bentuk akan menggunakan catatan-tingkat penguncian (dengan kata lain, dua pengguna dapat memperbarui atau menghapus berbagai catatan pada halaman yang sama).

A pembatasan catatan-tingkat penguncian adalah bahwa pengguna tidak akan diberitahu ketika pengguna lain adalah penguncian catatan. Juga, catatan-tingkat penguncian tidak diaktifkan untuk tipe data Memo.

Ketika Anda menggunakan SQL DML operasi massal pernyataan, Jet default halaman-tingkat penguncian. Ketika Anda menggunakan bentuk-bentuk akses, baris-tingkat penguncian diberlakukan jika Anda telah memilih opsi catatan-tingkat penguncian di bawah Opsi pada Alat menu. Hal yang sama jika Anda mendapatkan akses ke database Jet oleh menggunakan DAO sementara Anda berada dalam sesi Microsoft Access. Untuk informasi tambahan tentang cara untuk menegakkan baris-tingkat penguncian dalam skenario ini dari Microsoft Access sesi yang tidak menegakkan catatan-tingkat penguncian, atau saat Anda menggunakan DAO di luar Microsoft Access sesi, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
306435Jet 4.0 baris-tingkat penguncian adalah tidak tersedia dengan DAO 3,60

Replikasi

Bi-directional replikasi dengan Microsoft SQL Server

Dengan versi sebelumnya dari Microsoft Jet, Microsoft SQL Server data bisa direplikasi ke Microsoft Jet database, tetapi perubahan yang dibuat dalam Microsoft Jet database tidak akan digunakan untuk memperbarui Microsoft SQL Server database. Replikasi ini uni-directional, pergi dari penerbit SQL Server untuk Jet pelanggan.

Dengan versi 4.0 Microsoft Jet Database mesin dan versi 7.0 dan 2000 Microsoft SQL Server, dukungan untuk bi-directional replikasi antara Microsoft Jet dan Microsoft SQL Server telah telah ditambahkan. Tidak hanya perubahan yang dibuat dalam database Microsoft SQL Server dapat direplikasi ke Microsoft Jet database, tetapi perubahan yang dibuat pada data dalam Jet dapat disinkronisasi dengan dan didamaikan dengan SQL Server database. Ada beberapa keterbatasan namun:
  • Hanya data dapat direplikasi antara Microsoft Jet dan Microsoft SQL Server. Microsoft Access aplikasi objek (yaitu bentuk, laporan, makro, dan modul) tidak dapat direplikasi ke Microsoft SQL Server dan akan terus tinggal hanya di Microsoft Jet database.
  • Topologi hanya didukung di Microsoft Jet/Microsoft SQL Server replikasi yang "Hub dan berbicara". Microsoft SQL Server adalah selalu Hub. Microsoft Jet replika di jari-jari tidak dapat mensinkronisasi dengan lain Microsoft Jet replika. Mereka hanya dapat mensinkronisasi dengan Hub (Microsoft SQL Server).
Dokumentasi yang rinci pada membuat dan menjalankan Microsoft Jet/Microsoft SQL Server replikasi disediakan dalam Microsoft SQL Server buku secara online dan berkas Readme.

Menyelesaikan konflik replikasi

Di versi sebelumnya, Microsoft Jet replikasi dibedakan antara sinkronisasi konflik, dan kesalahan sinkronisasi. Sinkronisasi konflik terjadi ketika dua pengguna diperbarui rekaman yang sama dua database dalam satu set replika. Mensinkronkan database dua akan berhasil, tetapi hanya salah satu dari dua set perubahan akan diterapkan untuk kedua database. Oleh karena itu, salah satu pengguna akan kehilangan / perubahan. Terjadi kesalahan sinkronisasi ketika perubahan untuk data dalam satu database dalam set replika tidak bisa diterapkan untuk database lain dalam set replika yang sama, karena itu akan melanggar beberapa kendala, seperti referensial integritas atau keunikan.

Dengan Microsoft Jet 4.0 replikasi, peristiwa-peristiwa yang menyebabkan sinkronisasi konflik dan kesalahan sinkronisasi keduanya dipandang sebagai sinkronisasi konflik, dan mekanisme tunggal digunakan untuk merekam dan menyelesaikannya, membuat penyelesaian masalah seperti lebih mudah. Setiap kali konflik terjadi, pemenang perubahan akan dipilih dan diterapkan, dan kehilangan perubahan yang akan disimpan sebagai konflik di semua replika. Wisaya resolusi konflik baru dapat digunakan untuk mendamaikan dan menyelesaikan konflik sinkronisasi. Perhatikan bahwa konflik sama Resolusi Wizard dapat digunakan dengan SQL Server 7.0 dan 2000, atau Microsoft Database Jet 4.0 ditiru. Merangkum berikut jenis sinkronisasi konflik yang dapat mengalami:
  • Simultan Update konflik.
  • Kunci unik pelanggaran konflik.
  • Meja-tingkat validasi pelanggaran konflik.
  • Referensial integritas pelanggaran konflik.
    • Hapus.
    • Di Update.

  • Pelanggaran kunci asing.
  • Penguncian konflik.
Simultan Update konflik
Konflik ini terjadi ketika sebuah replika diperbarui sama merekam dan menyalin catatan kehilangan konflik. Solusinya dengan baik kembali Anda update atau menghapus catatan konflik, menerima yang lain Catatan 's perubahan.

Kunci unik pelanggaran konflik
Konflik adalah bahwa catatan Anda memiliki nilai kunci yang sama seperti Catatan lain, ketika nilai-nilai unik hanya diperbolehkan. Solusinya adalah untuk baik mengubah nilai kunci dalam catatan konflik (atau Rekor kemenangan) dan kembali catatan Anda, atau menghapus catatan konflik, menerima yang lain Catatan 's perubahan.

Meja-tingkat validasi pelanggaran konflik
Konflik terjadi ketika catatan yang berisi nilai bidang yang tidak memenuhi kendala meja-tingkat validasi. Solusinya adalah untuk baik memperbarui nilai bidang yang melanggar aturan validasi dan kembali catatan konflik, atau menghapus catatan konflik.

Referensial integritas pelanggaran konflik
Hapus
Salah satu alasan mengapa konflik ini dapat terjadi adalah karena Catatan kunci utama telah dihapus oleh replika lain dan oleh karena itu, Catatan asing telah ditolak. Solusinya adalah dengan baik membuat yang baru Catatan kunci utama yang memenuhi kendala referensial integritas dan kembali Anda update, atau menghapus catatan konflik sepenuhnya.
Di Update
Alasan lain mengapa konflik ini dapat terjadi adalah karena utama kunci catatan telah diperbarui oleh replika lain dan oleh karena itu, asing Catatan telah ditolak. Solusinya adalah dengan baik membuat primary key baru Catatan yang memenuhi kendala referensial integritas, atau memodifikasi nilai kunci asing dalam konflik catatan untuk mencocokkan nilai kunci primer yang sah dan kembali Anda update, atau menghapus catatan konflik sepenuhnya.

Pelanggaran kunci asing
Konflik dapat terjadi ketika hasil pelanggaran kunci asing dari catatan kunci utama yang tidak sah yang terlibat dalam konflik replikasi. Solusinya adalah dengan baik membuat catatan kunci utama baru yang memenuhi integritas referensial kendala, atau mengubah nilai kunci asing di konflik catatan untuk mencocokkan nilai kunci primer yang sah, dan kemudian kembali Catatan kunci asing, atau menghapus konflik merekam sepenuhnya.

Penguncian konflik
Konflik dapat terjadi ketika perubahan rekaman tidak diterapkan selama sinkronisasi karena tabel dikunci oleh pengguna lain. The Solusinya adalah untuk kembali catatan konflik setelah pengguna lain dari tabel.

Resolusi konflik berbasis prioritas

Dalam versi 3.5 dari Microsoft Jet database engine, sinkronisasi konflik itu diselesaikan berdasarkan algoritma sederhana dimana yang paling sering berubah salinan memenangkan rekor. Dari kedua salinan yang memiliki telah mengubah nomor yang sama kali, algoritma ini adalah deterministik, namun canggih.

Microsoft Jet 4.0 memperkenalkan sebuah algoritma dimana replika di satu set replika dapat diberikan prioritas dan replika dengan prioritas tertinggi menang dari konflik sinkronisasi. Di mana prioritas sama, replika dengan terendah menang ReplicaID.

The resolusi konflik prioritas berbasis algoritma konsisten dengan algoritma diimplementasikan dalam Microsoft SQL Server 7.0 replikasi. Replika dapat diberikan prioritas (bernilai antara 0 dan 100) inklusif. Replika diberikan default prioritas yang 90% (0.9) induknya.

Resolusi konflik tingkat kolom

Di Microsoft Jet 3.5, konflik yang ditentukan pada catatan tingkat. Dengan kata lain, jika dua pengguna dalam dua berbeda replika berubah Catatan pelanggan untuk pelanggan sama, tetapi masing-masing mengubah bidang yang berbeda dalam catatan, catatan dua akan masih konflik ketika replika disinkronisasi. Sebagai contoh, jika seorang pengguna mengubah kode pos, dan pengguna lain mengubah nomor telepon, meskipun perubahan sendiri tidak konflik (sejak perubahan terlibat dua bidang yang berbeda), konflik sinkronisasi akan masih terjadi, konflik yang ditetapkan pada tingkat catatan.

Microsoft Jet 4.0 mengimplementasikan resolusi konflik tingkat lapangan, dimana perubahan rekaman yang sama di dua replika yang berbeda akan menyebabkan sinkronisasi konflik hanya jika kolom atau bidang yang sama berubah. Oleh karena itu, di atas skenario, akan tidak lagi ada konflik sinkronisasi karena dua pengguna mengubah nilai-nilai bidang yang berbeda. Tingkat lapangan pelacakan perubahan dan resolusi konflik akan secara signifikan mengurangi potensi untuk konflik dan menyederhanakan pemeliharaan database direplikasi.

Microsoft Jet Perubahan tingkat lapangan pelacakan dan resolusi konflik akan bekerja bersama dengan kemampuan Microsoft SQL Server 7.0 sesuai ketika Microsoft Jet/Microsoft SQL Server replikasi digunakan.

Tingkat lapangan konflik Resolusi adalah default ketika database dibuat ditiru. Untuk menentukan resolusi konflik tingkat rekor untuk tabel, itu harus ditetapkan sebelum membuat Tabel ditiru.

Untuk informasi tambahan tentang replikasi Jet 4.0, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
190766Jet 4.0 replikasi kertas putih tersedia di MSDN online library

Format penyimpanan baru akses proyek

Di Microsoft Jet 3.5 replikasi, individu Microsoft Access objek (seperti bentuk, laporan, modul, dan sebagainya) yang dapat diidentifikasi dan dilacak, sehingga perubahan objek individu untuk disinkronkan. Di lain kata-kata, jika Microsoft Access bentuk berubah dalam replika desain Master dan tidak ada objek lain perubahan, hanya perubahan bentuk direplikasi ketika set replika disinkronisasi.

Namun, dalam Microsoft Access 2000, Microsoft Access semua objek (seperti bentuk, laporan, modul, dan sebagainya) disimpan dalam satu besar objek biner (GUMPALAN) dalam database file atau di proyek terpisah (* .adp) file. Dalam format ini, objek individu tidak dapat diidentifikasi atau dilacak oleh Microsoft Jet replikasi. Apa ini berarti bahwa jika Microsoft Access proyek dalam desain Master dibuat ditiru dan setiap satu obyek diubah, seluruh proyek direplikasi ketika sebuah replika mengatur disinkronisasi. Namun, Anda dapat memilih untuk tidak membuat Microsoft Access proyek ditiru ketika Anda membuat Master desain. Dalam kasus ini, Microsoft Access proyek di masing-masing replika tidak ditiru, dan semua objek dibuat di replika lokal.

Replika visibilitas

Microsoft Jet 4.0 replikasi mendefinisikan tiga derajat visibilitas untuk replika. Sebuah replika visibilitas dapat didefinisikan sebagai:
  • Global
  • Lokal
  • Anonim
Lokal dan replika anonim menyediakan cara dalam mengkontrol topologi. Anonim replika penting untuk replikasi berbasis Internet di mana Anda tidak ingin untuk melacak setiap kali database yang di-download lebih Web. Berikut memberikan informasi lebih lanjut tentang masing-masing derajat replika visibilitas yang berbeda.

Global
Replika Global merupakan replika yang dapat mensinkronisasi dengan semua replika global lainnya dalam satu set replika. Replika global juga dapat menyinkronkan dengan setiap replika itu dibuat, dengan beberapa pengecualian (deskripsi lokal dan Anonim replika yang mengikuti akan menghitung pengecualian). Ketika sebuah Jet database dibuat ditiru, visibilitas diatur ke Global. Pengguna Microsoft Jet 3.5 replikasi akrab dengan karakteristik Global replika karena semua replika yang dibuat menggunakan Microsoft Jet 3.5 Global replika.

Lokal
Replika lokal dapat menyinkronkan hanya dengan induknya replika, yang merupakan replika Global, dan tidak dapat mensinkronisasi dengan replika lain dalam set replika. Replika lokal izin kontrol lebih halus dari topologi replika-set. Misalnya, mereka dapat digunakan untuk menegakkan topologi bintang pada setiap situs di mana Anda ingin memastikan bahwa sinkronisasi antara situs berjalan melalui hub Global di setiap situs.

Anonim
Replika yang anonim, seperti replika lokal, dapat menyinkronkan hanya dengan induknya, replika Global. Tujuan memiliki Anonymous replika adalah untuk mengizinkan ada sejumlah besar replika yang berpartisipasi dalam satu set replika, untuk mengurangi jumlah informasi yang disimpan tentang replika ditetapkan, dan untuk mengurangi pengolahan overhead. Hal ini konsisten dengan mendukung replika set pelanggan yang didistribusikan di Internet. Tidak seperti lokal replika, replika Global tidak dapat menjadwal sinkronisasi dengan Anonymous replika. Replika anonim yang melakukan sinkronisasi dengan yang orangtua.

Lain fitur/keterbatasan Global, lokal dan Anonymous replika:
  • Lokal dan replika anonim hanya dapat mensinkronisasi dengan orangtua replika yang menciptakan mereka. Jika orang tua replika pindah, itu akan menerima ReplicaID baru, dan akan tidak lagi dapat dilihat dengan lokal atau Replika anonim.
  • Lokal dan replika anonim tidak akan didukung untuk Tas replikasi.
  • Lokal dan replika anonim tidak dapat diubah menjadi Desain Master.
  • Anda dapat membuat replika dari lokal atau Anonymous replika. Replika baru akan mewarisi sifat yang sama seperti aslinya replika, kecuali untuk ReplicaID. Dari replika lokal, Anda hanya dapat membuat Replika lokal atau replika yang anonim dari replika yang anonim.
Banyak replikasi pengguna meminta atribut khusus yang akan syarat yang akan mengizinkan replika harus didefinisikan sebagai satu di mana pengguna dapat menghapus catatan. Atribut ini didukung pada Microsoft Jet 4.0 replikasi. Contoh ketika atribut ini akan berguna jika penuh replika diberikan kepada penjual. Penjual mungkin tergoda untuk menghapus semua pelanggan catatan yang tidak menarik. Namun, itu akan Malang, untuk mengatakan paling tidak, jika ini menghapus kemudian disebarkan ke semua replika di set replika. Sementara ini dapat dilakukan melalui izin keamanan, memerlukan pengguna untuk memahami keamanan Microsoft Access, dan untuk menetapkan izin yang sesuai pada setiap meja. Jet 4.0 menyediakan Anda dengan mencegah menghapus replika atribut, yang merupakan solusi yang jauh lebih sederhana.

REFERENSI

Untuk informasi tambahan tentang baru fitur dari Microsoft Access 2000, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
208773Fitur baru dalam Microsoft Access 2000
Untuk informasi tambahan tentang baru fitur dari Microsoft Access 2002, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
295358Apa yang baru dan apakah tambahan dalam akses 2002
Untuk informasi tambahan tentang fitur-fitur baru dari Microsoft Akses Office 2003, klik nomor artikel di bawah ini untuk melihat artikel di Basis Pengetahuan Microsoft:
823089Cara menggunakan fitur-fitur baru dan perangkat tambahan baru yang akses Office 2003
Note This is a "FAST PUBLISH" article created directly from within the Microsoft support organization. The information contained herein is provided as-is in response to emerging issues. As a result of the speed in making it available, the materials may include typographical errors and may be revised at any time without notice. See Terms of Use for other considerations.

Properti

ID Artikel: 275561 - Kajian Terakhir: 22 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Office Access 2003
  • Microsoft Access 2000 Standard Edition
  • Microsoft Access 2002 Standard Edition
Kata kunci: 
kbfunctions kbinfo kbmt KB275561 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:275561

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com