首先要做的是安装sql server 2005 开发版或专业版,可以用两台机器,也可以在一台机器上装两个sql server instance(实例),我这里是采用的两台机器进行的,机器名分别为RENHU和CHINA-E931FACA9,在RENHU上装了sql server instance A,在CHINA-E931FACA9上装了B。安装的时候注意开启sql server和windows混合验证。
确保两台机器,通过机器名能够ping 通(在CHINA-E931FACA9上能ping通RENHU,在RENHU上能ping通CHINA-E931FACA9),否则修改host文件,确保两台机器能够ping通。
运行sql server Configureation Manager,使TCP/IP enable,如下图:

两台机器都要能要做,然后重启Sql server、Sql server Browser服务(这两个服务一定要起来),然后关闭防火墙,或设置防火墙例外。
然后试着用一台机器去连另外一台机器的sql server(用sql server manage studio),例如我这里用RENHU这台机器连CHINA-E931FACA9\B,如果能连成功,则说明一切ok,如图:

配置ok,就要进行分布式配置了,代码如下:
Server RENHU:

Code
1
-- 建立数据库,设置数据的选项
2
CREATE DATABASE SalesDB;
3
EXECUTE sp_serveroption @server='RENHU\A',@optname='lazy schema validation',@optvalue='true'
4
CREATE LOGIN xqls WITH Password = 'wisdom317'
5
6
GO
7
8
-- 建立用户
9
USE SalesDB
10
CREATE USER xqls FROM LOGIN xqls
11
12
GO
13
14
-- 连接到B
15
EXECUTE sp_addlinkedserver 'CHINA-E931FACA9\B', 'SQL Server'
16
EXEC sp_addlinkedsrvlogin 'CHINA-E931FACA9\B','false',NULL,'xqls','wisdom317'
17
18
GO
19
20
-- 创建表结构
21
IF OBJECT_ID('SalesHistory','U') > 0
22
23
DROP TABLE SalesHistory
24
25
GO
26
27
CREATE TABLE SalesHistory
28
29
(
30
SaleID INT PRIMARY KEY,
31
Product VARCHAR(30) NOT NULL,
32
SaleDate DATETIME,
33
SalePrice MONEY,
34
Region VARCHAR(5) NOT NULL,
35
CONSTRAINT chk_Region CHECK (SaleID <20000)
36
37
)
38
39
GO
40
41
-- 添加测试数据
42
DECLARE @i SMALLINT, @Region VARCHAR(5)
43
44
SET @i = 1
45
46
SET @Region = 'West'
47
48
49
50
WHILE (@i <=6000)
51
52
BEGIN
53
INSERT INTO SalesHistory
54
(SaleID, Product, SaleDate, SalePrice, Region)
55
VALUES
56
57
(@i, 'Computer', DATEADD(mm, @i, '3/11/1919'), DATEPART(ms, GETDATE()) + (@i + 57), @Region )
58
SET @i = @i + 1
59
INSERT INTO SalesHistory
60
(SaleID, Product, SaleDate, SalePrice, Region)
61
VALUES
62
(@i, 'BigScreen', DATEADD(mm, @i, '3/11/1927'), DATEPART(ms, GETDATE()) + (@i + 13), @Region)
63
SET @i = @i + 1
64
INSERT INTO SalesHistory
65
(SaleID, Product, SaleDate, SalePrice, Region)
66
VALUES
67
(@i, 'PoolTable', DATEADD(mm, @i, '3/11/1908'), DATEPART(ms, GETDATE()) + (@i + 29), @Region )
68
SET @i = @i + 1
69
70
END
71
72
GO
73
74
-- 分配权限
75
GRANT SELECT, INSERT, UPDATE, DELETE, VIEW DEFINITION ON SalesHistory TO xqls
76
77
GO
78
79
-- 建立视图
80
CREATE VIEW dpv_SalesHistory
81
82
AS
83
SELECT
84
SaleID, Product, Region, SaleDate, SalePrice
85
FROM SalesDB.dbo.SalesHistory
86
UNION ALL
87
SELECT
88
SaleID, Product, Region, SaleDate, SalePrice
89
FROM [CHINA-E931FACA9\B].SalesDB.dbo.SalesHistory
90
91
GO
92
93
-- 测试视图
94
select * from dpv_SalesHistoryServer CHINA-E931FACA9:

Code
1
CREATE DATABASE SalesDB;
2
EXECUTE sp_serveroption @server='CHINA-E931FACA9\B',@optname='lazy schema validation',@optvalue='true'
3
CREATE LOGIN xqls WITH Password = 'wisdom317'
4
5
GO
6
7
USE SalesDB
8
CREATE USER xqls FROM LOGIN xqls
9
10
GO
11
12
-- 连接到A
13
EXECUTE sp_addlinkedserver 'RENHU\A', 'SQL Server'
14
EXEC sp_addlinkedsrvlogin 'RENHU\A','false',NULL,'xqls','wisdom317'
15
16
GO
17
18
-- 创建表结构
19
IF OBJECT_ID('SalesHistory','U') > 0
20
21
DROP TABLE SalesHistory
22
23
GO
24
25
CREATE TABLE SalesHistory
26
27
(
28
SaleID INT PRIMARY KEY,
29
Product VARCHAR(30) NOT NULL,
30
SaleDate DATETIME,
31
SalePrice MONEY,
32
Region VARCHAR(5) NOT NULL,
33
CONSTRAINT chk_Region CHECK (SaleID >=20000)
34
35
)
36
37
GO
38
39
40
-- 添加测试数据
41
DECLARE @i SMALLINT, @Region VARCHAR(5)
42
43
SET @i = 20000
44
45
SET @Region = 'East'
46
47
48
49
WHILE (@i <=26000)
50
51
BEGIN
52
INSERT INTO SalesHistory
53
(SaleID, Product, SaleDate, SalePrice, Region)
54
VALUES
55
(@i, 'Computer', DATEADD(mm, @i, '3/11/1919'), DATEPART(ms, GETDATE()) + (@i + 57), @Region )
56
SET @i = @i + 1
57
INSERT INTO SalesHistory
58
(SaleID, Product, SaleDate, SalePrice, Region)
59
VALUES
60
(@i, 'BigScreen', DATEADD(mm, @i, '3/11/1927'), DATEPART(ms, GETDATE()) + (@i + 13), @Region)
61
SET @i = @i + 1
62
INSERT INTO SalesHistory
63
(SaleID, Product, SaleDate, SalePrice, Region)
64
VALUES
65
(@i, 'PoolTable', DATEADD(mm, @i, '3/11/1908'), DATEPART(ms, GETDATE()) + (@i + 29), @Region )
66
SET @i = @i + 1
67
68
END
69
70
-- 分配用户权限
71
GRANT SELECT, INSERT, UPDATE, DELETE, VIEW DEFINITION ON SalesHistory TO xqls
72
73
GO
74
75
-- 建立视图
76
CREATE VIEW dpv_SalesHistory
77
78
AS
79
SELECT
80
SaleID, Product, Region, SaleDate, SalePrice
81
FROM SalesDB.dbo.SalesHistory
82
UNION ALL
83
SELECT
84
SaleID, Product, Region, SaleDate, SalePrice
85
FROM [RENHU\A].SalesDB.dbo.SalesHistory
86
87
GO
88
89
-- 测试视图
90
select * from dpv_SalesHistory具体参考:
http://www.builder.com.cn/2007/0406/385486.shtml
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库