用sa帐号创建的LinkServer
用test帐号无法访问
提示如题信息
test帐号的服务器角色一个都没有
数据库访问只对某1用户表进行读写

解决方案 »

  1.   

    用sp_addlinkedsrvlogin创建登录映射
    sp_addlinkedsrvlogin
    创建或更新本地 Microsoft® SQL Server™ 实例上的登录与链接服务器上远程登录之间的映射。语法
    sp_addlinkedsrvlogin [ @rmtsrvname = ] 'rmtsrvname'
        [ , [ @useself = ] 'useself' ]
        [ , [ @locallogin = ] 'locallogin' ]
        [ , [ @rmtuser = ] 'rmtuser' ]
        [ , [ @rmtpassword = ] 'rmtpassword' ]参数
    [@rmtsrvname =] 'rmtsrvname'是应用登录映射的链接服务器名称。rmtsrvname 的数据类型为 sysname,没有默认设置。[@useself =] 'useself'决定用于连接到远程服务器的登录名称。useself 的数据类型为 varchar(8),默认设置为 TRUE。true 值指定 SQL Server 验证的登录使用其自己的凭据以连接到 rmtsrvname,而忽略 rmtuser 和 rmtpassword 参数。false 值指定 rmtuser 和 rmtpassword 参数用来连接到特定 locallogin 的 rmtsrvname。如果 rmtuser 和 rmtpassword 也设置为 NULL,则连接链接服务器不需使用任何登录或密码。对于 Windows NT 身份验证登录而言,useself 为 true 则无效,除非 Microsoft Windows NT® 环境支持安全帐户委托,并且,提供程序支持 Windows 身份验证(此时不再需要创建值为 true 的映射,不过创建仍然有效)。[ @locallogin =] 'locallogin'本地服务器上的登录。locallogin 的数据类型为 sysname,默认设置为 NULL。NULL 值指定此条目将应用于所有连接到 rmtsrvname 的本地登录。如果值不为 NULL,则 locallogin 可以是一个 SQL Server 登录或 Windows NT 用户。必须授予 Windows NT 用户直接访问 SQL Server 或通过其作为已授予访问权限的组的成员来访问 SQL Server 的权限。[@rmtuser =] 'rmtuser'当 useself 为 false 时,用来连接 rmtsrvname 的用户名,rmtuser 的数据类型为 sysname,默认设置为 NULL。[@rmtpassword =] 'rmtpassword'与 rmtuser 相关的密码。rmtpassword 的数据类型为 sysname,默认设置为 NULL。返回代码值
    0(成功)或 1(失败)