我在服務器A上有一個表,在另一個服務器B上有同一個表。 我想用服務器B的數據每天更新一次服務器A上的表。服務器A上的表有超過1億條記錄。我該如何做到這一點,以便在更新服務器A上的表格上的數據時,它仍然可以使用以前的信息進行閱讀。在sql server中同步2個表
預期的行爲:
服務器A:
create table tbl_transaction_test (
tabid int identity,
first_name nvarchar(255),
last_name nvarchar(255),
[address] nvarchar(255),
update_dt datetime
)
服務器B:
create table tbl_transaction_test (
tabid int identity,
first_name nvarchar(255),
last_name nvarchar(255),
[address] nvarchar(255),
update_dt datetime
)
begin transaction transaction1
truncate table A
Insert into A.tbl_transaction_test
select * from B.tbl_transaction_test
commit transaction transaction1
,並在同一時間,我想從表服務器A上選擇
如何才能獲得以下行爲:服務器A上的表中的數據僅在tr ansaction被提交,並立即(幾乎立即)完成。
類似:http://stackoverflow.com/questions/5082585/drop-and-create-table-inside-transaction-on-sql-server-impact-on-other-processe –