小编gem*_*igo的帖子

EXECUTE AS USER 和 EXECUTE AS LOGIN 之间的区别是什么使第二个行为异常?

最近我一直在使用 EXECUTE AS LOGIN 来检查某个人是否可以或不能在我们的一个数据库中使用表函数。测试表明他可以,但他一再报告失败。

该人使用登录“WEB”连接到数据库,并且他在该数据库中拥有与登录“WEB”关联的用户“WEB”,因此我尝试了以下脚本:

-- part 1
EXECUTE AS USER = 'WEB'
GO
SELECT 
    USER_NAME() AS 'user_name'
    ,SUSER_NAME() AS 'suser_name'
    ,SUSER_SNAME() AS 'suser_sname'
    ,SYSTEM_USER AS 'system_user'
GO
REVERT
GO
Run Code Online (Sandbox Code Playgroud)

-- part 2
EXECUTE AS LOGIN = 'WEB'
GO
SELECT 
    USER_NAME() AS 'user_name'
    ,SUSER_NAME() AS 'suser_name'
    ,SUSER_SNAME() AS 'suser_sname'
    ,SYSTEM_USER AS 'system_user'
GO
REVERT
GO
Run Code Online (Sandbox Code Playgroud)

第一部分很好,结果如下:

网站 | 网站 | 网站 | 网络

但是第二个结果有点令人困惑:

dbo | 网站 | 网站 | 网络

EXECUTE AS USER 和 EXECUTE AS LOGIN …

sql-server-2008 security

10
推荐指数
1
解决办法
2万
查看次数

将 SSIS 包作为 SQL Server 代理作业运行的问题

在尝试在两个 SQL Server 上运行 SSIS 包 SQL Server 代理作业时,我遇到了一些非常顽固的困难,一个在域中,一个不在域中。我在几十个不同的论坛上阅读了数百个帖子,可惜无济于事。应用我发现的修复程序和解决方案(例如,使用代理)只会导致(略微)不同的错误消息。从 Visual Studio 或直接从 SQL Server Management Studio 运行包时,它们按预期执行。

这是我到目前为止所得到的:

机器A

  • 名为APP-TEST-SERVER
  • 不在域中
  • 运行 SQL Server 2016
  • SQL Server Agent 由NT Service\SQLSERVERAGENT运行,在 SQL Server 中是 sysadmin
  • Integration Services 由NT Service\MsDtsServer130运行(不在 SQL Server 中,也不能添加)
  • 有一个名为ssis_proxy的代理,它是运行 SQL Server 的机器中的本地登录名,并且是 SQL Server 中的系统管理员(当然,暂时看看它是否是导致权限/登录问题的代理)

运行其步骤作为SQL Server 代理服务帐户运行的作业时,我收到以下错误消息:

以用户身份执行:NT Service\SQLSERVERAGENT。适用于 32 位的 Microsoft (R) SQL Server 执行包实用程序版本 13.0.1601.5 版权所有 (C) 2016 Microsoft。版权所有。开始时间:下午 2:59:44 由于错误 0x80131904,无法执行 IS 服务器包。服务器:172.16.2.107,包路径:\SSISDB\test\test sp …

ssis sql-server-agent jobs

5
推荐指数
1
解决办法
3779
查看次数

是否可以在 SQL Server 中的表同义词上创建触发器?

标题说明(询问)这一切。是否可以在 SQL Server(2005 或更高版本)中的表同义词上创建触发器?

trigger sql-server

-1
推荐指数
1
解决办法
1775
查看次数