SQL 创建用户登录不能从一个数据库为另一个数据库工作

SQL create user login not working from one database for other database

我在同一台服务器上有两个数据库,db1 和 db2。 我在 db1 上有一个名为 table table1 的 table,在第二个数据库 db2 中有一个 table2 用户登录了 db1,但没有登录 db2。 我的应用程序在 table1 中插入记录,我必须在第二个数据库的 table2 中插入相同的记录。

现在,由于用户无权访问该数据库,我尝试先创建用户登录名。 但执行存储过程,但它不创建用户登录。我的存储过程在 db1.

    alter procedure CreateUserLogin @userid char(35)
as
declare @s varchar(100)    
IF NOT EXISTS (SELECT * FROM db2.sys.database_principals WHERE name = @userid)
BEGIN

    set @s='use db2 CREATE USER '+ltrim(rtrim(@userid))+' FROM LOGIN '+ltrim(rtrim(@userid))+''
    set @s=@s + 'Exec sp_addrolemember Role1,'+ ltrim(rtrim(@userid))
    exec (@s) 
END;

添加后 + CHAR(13)

set @s='USE [db2]'+ CHAR(13) set @s=@s+' CREATE USER '+ltrim(rtrim(@userid))+' FROM LOGIN '+ltrim(rtrim(@userid))+'' set @s=@s + ' Exec sp_addrolemember role1,'+ ltrim(rtrim(@userid))

不知道这可能是个问题。