以下是我面临的问题: -
当我在ServerA上运行时,我得到输出
SELECT tbl.Name, tr.name, c.Text
FROM sys.sysobjects tr
Inner Join sys.sysobjects tbl On tr.parent_obj = tbl.id
Inner Join sys.syscomments c On tr.id = c.id
WHERE tr.xtype = 'TR' And tbl.xtype = 'U'
当我从服务器B运行相同的查询并将服务器A作为链接服务器引用时出现问题,我没有输出。
SELECT tbl.Name, tr.name, c.Text
FROM LinkedServerA.Database.sys.sysobjects tr
Inner Join LinkedServerA.Database.sys.sysobjects tbl On tr.parent_obj = tbl.id
Inner Join LinkedServerA.Database.sys.syscomments c On tr.id = c.id
WHERE tr.xtype = 'TR' And tbl.xtype = 'U'
即使我运行以下内容,我也会得到NULL:
从LinkedServerA.Database.sys.syscomments
非常感谢任何见解!
答案 0 :(得分:0)
这意味着您的登录使用其他登录信息映射到链接服务器,因此您无权使用链接服务器登录查看元数据。
您可以使用以下代码检查您的登录以及链接服务器上的数据库用户/角色:
class MessageController extends BaseController {
public function composeAction() {
if (!class_exists('S3')) require_once 'S3.php';
// AWS access info
if (!defined('awsAccessKey')) define('awsAccessKey', 'XXXXXXXXXX');
if (!defined('awsSecretKey')) define('awsSecretKey', 'XXXXXXXXXX');
// Instantiate the class
$awsS3 = new S3(awsAccessKey, awsSecretKey);
echo print_r($awsS3 ->listBuckets(), 1)."\n";
/****
* Continue...
*
****/
}
}