我可以使用存储过程中的OPENDATASOURCE
(或其他机制)连接到不同用户的同一数据库吗?如果是这样,怎么样?
数据库应该部署到多个客户,并由他们复制多次,等等。因此,我 CAN NOT HARDCODE 数据库服务器的名称或数据库的名称
(我尝试使用OPENDATASOURCE
,但它只接受硬编码的连接字符串。)
答案 0 :(得分:1)
可能EXECUTE AS
在你的情况下工作吗? http://msdn.microsoft.com/en-us/library/ms181362.aspx
答案 1 :(得分:0)
您可以使用登录的当前安全上下文(或适用于您的情况的其他选项)设置链接服务器以连接到远程服务器。
从您的存储过程中,您可以使用SELECT * FROM mylinkedservername.mylinkedserverdatabase.dbo.mytable
但是你说你想连接到相同的数据库,但使用不同的登录?你正在寻找假扮。也许你可以这样做一个引用自己的链接服务器,我还没有尝试过。搜索Microsoft帮助文档,了解如何正常设置它并测试它是否符合您的要求。