這是什麼問題 Login failed for user 'sa'.

NewJoker 2003-01-09 10:04:02
兩台Server: SVR1, SVR2, SVR1用戶SA有密碼,SVR2用戶SA沒有密碼;
開啟Query Analyzer聯接SVR1(用戶SA), 執行
exec sp_dropserver SVR2
執行成功; 再執行
Select * from SVR2.Test.dbo.ATest
執行失敗,提示:
Server: Msg 18456, Level 14, State 1, Line 1
Login failed for user 'sa'.

SVR2上的Test數據庫存在,ATest表也存在, 不知道哪裡出問題了?

把SVR1用戶SA有密碼改為空, 就可以了.

除了這樣,還有沒其它辦法?


...全文
130 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hjhing 2003-01-09
  • 打赏
  • 举报
回复
SQL的管理窗口左邊有個樹型菜單
展開找到一個SECURITY(安全)的節點
展開找到一個LINKED SERVERS 的節點
然後右鍵鼠標
選ADD NEW LINKEDSERVER
KnowLittle 2003-01-09
  • 打赏
  • 举报
回复
sp_addlinkedserver
创建一个链接的服务器,使其允许对分布式的、针对 OLE DB 数据源的异类查询进行访问。在使用 sp_addlinkedserver 创建链接的服务器之后,此服务器就可以执行分布式查询。如果链接服务器定义为 Microsoft® SQL Server™,则可执行远程存储过程。

语法
sp_addlinkedserver [ @server = ] 'server'
[ , [ @srvproduct = ] 'product_name' ]
[ , [ @provider = ] 'provider_name' ]
[ , [ @datasrc = ] 'data_source' ]
[ , [ @location = ] 'location' ]
[ , [ @provstr = ] 'provider_string' ]
[ , [ @catalog = ] 'catalog' ]

参数
[ @server = ] 'server'

要创建的链接服务器的本地名称,server 的数据类型为 sysname,没有默认设置。

如果有多个 SQL Server 实例,server 可以为 servername\instancename。此链接的服务器可能会被引用为下面示例的数据源:

SELECT *FROM [servername\instancename.]pubs.dbo.authors.

如果未指定 data_source,则服务器为该实例的实际名称。

[ @srvproduct = ] 'product_name'

要添加为链接服务器的 OLE DB 数据源的产品名称。product_name 的数据类型为 nvarchar(128),默认设置为 NULL。如果是 SQL Server,则不需要指定 provider_name、data_source、location、provider_string 以及目录。

[ @provider = ] 'provider_name'

与此数据源相对应的 OLE DB 提供程序的唯一程序标识符 (PROGID)。provider_name 对于安装在当前计算机上指定的 OLE DB 提供程序必须是唯一的。provider_name 的数据类型为nvarchar(128),默认设置为 NULL。OLE DB 提供程序应该用给定的 PROGID 在注册表中注册。

[ @datasrc = ] 'data_source'

由 OLE DB 提供程序解释的数据源名称。data_source 的数据类型为 nvarchar(4000),默认设置为 NULL。data_source 被当作 DBPROP_INIT_DATASOURCE 属性传递以便初始化 OLE DB 提供程序。

当链接的服务器针对于 SQL Server OLE DB 提供程序创建时,可以按照 servername\instancename 的形式指定 data_source,它可以用来连接到运行于特定计算机上的 SQL Server 的特定实例上。servername 是运行 SQL Server 的计算机名称,instancename 是用户将被连接到的特定 SQL Server 实例的名称。

[ @location = ] 'location'

OLE DB 提供程序所解释的数据库的位置。location 的数据类型为 nvarchar(4000),默认设置为 NULL。location 作为 DBPROP_INIT_LOCATION 属性传递以便初始化 OLE DB 提供程序。

[ @provstr = ] 'provider_string'

OLE DB 提供程序特定的连接字符串,它可标识唯一的数据源。provider_string 的数据类型为 nvarchar(4000),默认设置为 NULL。Provstr 作为 DBPROP_INIT_PROVIDERSTRING 属性传递以便初始化 OLE DB 提供程序。

当针对 Server OLE DB 提供程序提供了链接服务器后,可将 SERVER 关键字用作 SERVER=servername\instancename 来指定实例,以指定特定的 SQL Server 实例。servername 是 SQL Server 在其上运行的计算机名称,instancename 是用户连接到的特定的 SQL Server 实例名称。

[ @catalog = ] 'catalog'

建立 OLE DB 提供程序的连接时所使用的目录。catalog 的数据类型为sysname,默认设置为 NULL。catalog 作为 DBPROP_INIT_CATALOG 属性传递以便初始化 OLE DB 提供程序。

KnowLittle 2003-01-09
  • 打赏
  • 举报
回复
楼上说得很明白了阿
NewJoker 2003-01-09
  • 打赏
  • 举报
回复
不太明白.

UP 先!
hjhing 2003-01-09
  • 打赏
  • 举报
回复
exec sp_addlinkedserver 'SVR2'
Select * from SVR2.Test.dbo.ATest

也可以在 SERVER MANAGER》》SECURITY》》LINKED SERVER 中手工加一個SVR2的連接
niuhh 2003-01-09
  • 打赏
  • 举报
回复
你如果建立了连接的话,那么在连接的设置中将回让你设置进入连接服务器的帐号和密码,但是如果把连接服务删除掉了以后,就不能用第一台服务起的帐号和密码登陆另一台了。

34,873

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧