2

我运行了以下所有内容:

在远程主数据库上:

CREATE LOGIN user1
    WITH PASSWORD = 'Password22++' 
GO

在远程身份验证数据库上:

CREATE USER user1
    FOR LOGIN user1
    WITH DEFAULT_SCHEMA = authentication
GO

EXEC sp_addrolemember N'db_owner', N'user1'
GO

在本地数据库上:

EXEC master.dbo.sp_addlinkedserver
       @server = N'AZ3',
       @srvproduct=N'Any',
       @provider=N'MSDASQL',
       @datasrc=N'AZ3'
GO

EXEC master.dbo.sp_addlinkedsrvlogin
       @rmtsrvname=N'AZ3',
       @useself=N'False',
       @locallogin=NULL,
       @rmtuser=N'user1',
       @rmtpassword='Password22++'
GO

我看到已创建链接服务器,但是当我查看它并尝试查看以下消息时:

执行 Transact-SQL 语句或批处理时发生异常。(Microsoft.SqlServer.ConnectionInfo) 链接服务器“AZ3”的 OLE DB Provier“MSDASQL”报告错误。

身份验证失败。

我应该授予更多角色吗?

另外,如果我只想authentication对远程数据库中的“ABC”表等表进行选择,那么我应该如何编写该 SQL 代码?

这是我尝试过的:

SELECT * FROM OPENQUERY([AZ3],'SELECT * FROM dbo.AspNetRoles')

但这也给了我一个错误:

链接服务器“AZ3”的 OLE DB 提供程序“MSDASQL”返回消息“[Microsoft][SQL Server Native Client 11.0][SQL Server]Statement(s) could not beprepared.”。链接服务器“AZ3”的 OLE DB 提供程序“MSDASQL”返回消息“[Microsoft][SQL Server Native Client 11.0][SQL Server]Invalid object name 'dbo.AspNetRoles'.”。消息 7350,级别 16,状态 2,第 1 行无法从链接服务器“AZ3”的 OLE DB 提供程序“MSDASQL”获取列信息。

4

0 回答 0