小编Nic*_*ico的帖子

query optimization: time intervals

In the main, I've got two kinds of time intervals:

presence time and absence time

absence time can be of different types (eg breaks, absences, special day and so on) and time intervals may overlap and / or intersect.

It is not for sure, that only plausible combinations of intervals exist in raw data, eg. overlapping presence-intervals don't make sense, but may exist. I've tried to identify resulting presence-time intervals in many ways now - for me, the most comfortable …

performance sql-server-2008 sql-server-2008-r2 query-performance

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

授予权限

我有一个数据库角色、-login 和用户

CREATE LOGIN dummyLogIn WITH PASSWORD = 'dummyPassword', CHECK_POLICY = OFF;
CREATE USER dummyUser FOR LOGIN dummyLogIn;
CREATE ROLE "dummyRole";
Run Code Online (Sandbox Code Playgroud)

与角色相关的用户:

EXECUTE sp_addrolemember N'dummyRole', N'dummyUser';
Run Code Online (Sandbox Code Playgroud)

一切都很好。

现在我将 select WITH GRANT OPTION 授予指定表的组:

GRANT SELECT ON "dbo"."mytable" TO dummyRole WITH GRANT OPTION;
Run Code Online (Sandbox Code Playgroud)

仍然一切正常。如果我在 ssms 中查找角色的首选项,我会看到“dummyUser”是该角色的成员,并且该角色对 myTable 具有 SELECT 权限,包括授予选择的权限(两个复选框都在首选项窗口中进行了标记)

如果我尝试向另一个组授予选择权限,该权限肯定存在,我会收到一条错误消息(没有 15151):无法搜索对象“myTable”,因为对象不存在或必要的权限不存在。(错误消息是德语;))。

我可以轻松地在上述表格上进行选择 - 所以我假设该对象确实存在。在我看来,我应该能够向另一个组授予选择权限。

@附加:

引发错误的查询:

GRANT SELECT ON "dbo"."mytable" TO childDummyRole(以用户dummyUser登录)

childDummyRole 和引用对象的创建方式与上述对象相同:

CREATE LOGIN childDummyLogIn WITH PASSWORD = 'childDummyPassword', CHECK_POLICY = …
Run Code Online (Sandbox Code Playgroud)

sql-server-2008

6
推荐指数
1
解决办法
192
查看次数

使用 .NET SqlDependency 的权限

SQLDependency Notifications 使用受信任的连接以 Windows 域用户身份登录时工作正常。但不是作为 SQL 用户:

我创建了一个数据库登录名、用户和角色,如下所示:

CREATE LOGIN myLogin WITH PASSWORD = 'somePW', CHECK_POLICY = OFF;
BEGIN CREATE USER myUser FOR LOGIN myLogin;
BEGIN CREATE ROLE "myRole" AUTHORIZATION [dbo];
EXECUTE sp_addrolemember N'myRole', N'myUser';
Run Code Online (Sandbox Code Playgroud)

此外,我在此链接后添加了一些权限

--Database level permissions
GRANT CREATE PROCEDURE to [myRole];
GRANT CREATE QUEUE to [myRole];
GRANT CREATE SERVICE to [myRole];
GRANT SUBSCRIBE QUERY NOTIFICATIONS TO [myRole];
GRANT VIEW DEFINITION TO [myRole];

--Service Broker permissions
GRANT REFERENCES ON CONTRACT::[http://schemas.microsoft.com/SQL/Notifications/PostQueryNotification] TO [myRole];
GRANT RECEIVE ON QueryNotificationErrorsQueue …
Run Code Online (Sandbox Code Playgroud)

sql-server sql-server-2008-r2 service-broker

4
推荐指数
1
解决办法
9605
查看次数