读书人

用脚本从一个SQLServer连另一个SQLSer

发布时间: 2012-12-20 09:53:21 作者: rapoo

用脚本从一个SQLServer连另一个SQLServer的问题
需求是这样:
有两个SQLServer,一个假设是ServerA,一个是ServerB
根据网上查得的资料,可以这么操作
EXEC sp_addlinkedserver
@server='DBVIP',--服务器别名
@srvproduct='',
@provider='SQLOLEDB',
@datasrc='192.168.6.155' --要访问的服务器
GO
执行这一步,结果为
(所影响的行数为 1 行)
(所影响的行数为 1 行)

EXEC sp_addlinkedsrvlogin 'DBVIP',False,NULL,'sa','sa' --密码
GO
执行这一步,结果
(所影响的行数为 0 行)
(所影响的行数为 1 行)
(所影响的行数为 0 行)
(所影响的行数为 1 行)

Select * from DBVIP.NetKing.dbo.MyTable
下SQL时,报错:
服务器: 消息 18452,级别 14,状态 1,行 1
用户 'sa' 登录失败。原因: 未与信任 SQL Server 连接相关联。
不知为什么。
说明:两个SQLServer登录模式为Windows和SQLServer混合模式。
[解决办法]
先创建链接服务器.
[解决办法]
用户 'sa' 登录失败。原因: 未与信任 SQL Server 连接相关联
错误提示信息已说明情况了............
[解决办法]
1.在服务器端使用企业管理器,并且选择"使用 Windows 身份验证"连接上 SQL Server

操作步骤:

在企业管理器中

--右键你的服务器实例(就是那个有绿色图标的)

--编辑SQL Server注册属性

--选择"使用windows身份验证"



--选择"使用SQL Server身份验证"

--登录名输入:sa,密码输入sa的密码

--确定



2.设置允许SQL Server身份登录

操作步骤:

在企业管理器中

--展开"SQL Server组",鼠标右键点击SQL Server服务器的名称

--选择"属性"

--再选择"安全性"选项卡

--在"身份验证"下,选择"SQL Server和 Windows ".

--确定,并重新启动SQL Server服务.
[解决办法]
在以上解决方法中,如果在第 1 步中使用"使用 Windows 身份验证"连接 SQL Server 失败, 那就通过修改注册表来解决此问题:



1.点击"开始"-"运行",输入regedit,回车进入注册表编辑器

2.依次展开注册表项,浏览到以下注册表键:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer]

3.在屏幕右方找到名称"LoginMode",双击编辑双字节值

4.将原值从1改为2,点击"确定"

5.关闭注册表编辑器

6.重新启动SQL Server服务.



此时,用户可以成功地使用sa在企业管理器中新建SQL Server注册,

但是仍然无法使用Windows身份验证模式来连接SQL Server.

这是因为在 SQL Server 中有两个缺省的登录帐户:

BUILTIN\Administrators

<机器名>\Administrator 被删除.

要恢复这两个帐户,可以使用以下的方法:



1.打开企业管理器,展开服务器组,然后展开服务器



2.展开"安全性",右击"登录",然后单击"新建登录"



3.在"名称"框中,输入 BUILTIN\Administrators



4.在"服务器角色"选项卡中,选择"System Administrators"



5.点击"确定"退出



6.使用同样方法添加 <机器名>\Administrator 登录.


[解决办法]
谢谢上面几位的回复。
本人使用的两台SQLServer2000,一台有打补丁,一台没有打补丁。就是没打补丁的那台不行。反过来是可以的。不想研究原因了,打补丁了事。

读书人网 >SQL Server

热点推荐