Saya mencoba menjalankan SQL terhadap server yang ditautkan, tetapi saya mendapatkan kesalahan di bawah ini:
BEGIN DISTRIBUTED TRANSACTION
SELECT TOP 1 * FROM Sessions
OLE DB provider "SQLNCLI" for linked server "ASILIVE" returned message "No transaction is active.".
Msg 7391, Level 16, State 2, Line 3
The operation could not be performed because OLE DB provider "SQLNCLI" for linked server "ASILIVE" was unable to begin a distributed transaction.
Ada dua kesalahan yang dikembalikan oleh penyedia:
Kesalahan # 1:
Number: $80040E14
Source: Microsoft OLE DB Provider for SQL Server
Description: OLE DB provider "SQLNCLI" for linked server "ASILIVE" returned message "No transaction is active.".
HelpFile:
HelpContext: $00000000
SQLState: 01000
NativeError: 7412
Kesalahan # 2
Number: $80040E14
Source: Microsoft OLE DB Provider for SQL Server
Description: The operation could not be performed because OLE DB provider "SQLNCLI" for linked server "ASILIVE" was unable to begin a distributed transaction.
HelpFile:
HelpContext: $00000000
SQLState: 42000
NativeError: 7391
Bagaimana cara agar Microsoft lebih mengutamakan fungsionalitas daripada keamanan?
Atau, setidaknya, bagaimana saya bisa mendapatkan dua SQL Sever untuk berbicara satu sama lain?
Pertanyaan-pertanyaan Terkait
- Operasi tidak dapat dilakukan karena penyedia OLE DB "SQLNCLI10" ... (* nama server tertaut adalah
(null)) - Kesalahan transaksi terdistribusi? ( menggunakan penyedia Oracle )
- Tidak dapat mendaftar dalam transaksi terdistribusi dengan NHibernate ( menggunakan Hibernate )
- Kesalahan menggunakan transaksi terdistribusi di SQL Server 2008 R2 ( SQL Server 2008 R2, tidak ada jawaban )
- Kesalahan Transaksi Terdistribusi Hanya Melalui Kode ( disebabkan oleh penggabungan koneksi )
- Kesalahan melakukan koordinator transaksi terdistribusi di server tertaut ( SQL Server 2008, tidak ada jawaban )
- Kesalahan transaksi terdistribusi? ( tidak ada jawaban yang diterima; hanya jawaban tidak membantu )
- Bagaimana cara memasukkan ke dalam tabel jarak jauh menggunakan server yang terhubung tanpa Transaksi? ( jawaban yang diterima tidak menyelesaikan )
Apa yang telah saya lakukan tidak relevan, tetapi saya akan tetap mempostingnya.
Pastikan
Distributed Transaction Coordinatorlayanan berjalan di kedua mesin:

Nonaktifkan semua keamanan MSDTC di kedua mesin:

Aktifkan opsi acak di server tertaut:
Terkutuk dan bersumpah.
Hal-hal yang hancur.
Memeriksa bahwa a
SELECTdapat menggunakan server tertaut :SELECT * FROM ASILive.CustomerManagementSystem.dbo.Users .... (763 row(s) affected)Memeriksa bahwa server klien dapat
pingserver jarak jauh :C:\Documents and Settings\avatar>ping asicmstest.contoso.com Pinging asicmstest.contoso.com [10.0.0.40] with 32 bytes of data: Reply from 10.0.0.40: bytes=32 time<1ms TTL=128 Reply from 10.0.0.40: bytes=32 time<1ms TTL=128 Reply from 10.0.0.40: bytes=32 time<1ms TTL=128 Reply from 10.0.0.40: bytes=32 time<1ms TTL=128 Ping statistics for 10.0.0.40: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0msMemeriksa apakah server jarak jauh dapat berkomunikasi kembali, dengan nama, ke server yang memulai:
C:\Documents and Settings\avatar>ping asitestserver.contoso.com Pinging asitestserver.contoso.com [10.0.0.22] with 32 bytes of data: Reply from 10.0.0.22: bytes=32 time<1ms TTL=128 Reply from 10.0.0.22: bytes=32 time<1ms TTL=128 Reply from 10.0.0.22: bytes=32 time<1ms TTL=128 Reply from 10.0.0.22: bytes=32 time<1ms TTL=128 Ping statistics for 10.0.0.22: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0msDicentang yang
@@SERVERNAMEcocok dengan nama server di kedua server :SELECT @@SERVERNAME, SERVERPROPERTY('MachineName') ------------- ------------- ASITESTSERVER ASITESTSERVERdan
SELECT @@SERVERNAME, SERVERPROPERTY('MachineName') ---------- ---------- ASIGROBTEST ASIGROBTESTBerteriak
Dikeluarkan
SET XACT_ABORT ONsebelum mengeluarkan pertanyaan saya :SET XACT_ABORT ON GO BEGIN DISTRIBUTED TRANSACTION SELECT TOP 1 * FROM SessionsDiberikan
EveryoneFull Controlkepada :HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServerdi kedua server.



