有人告诉我,DMF管理政策和条件可以做到这一点。有谁知道如何实现这一点。如何避免用户添加用户存储过程名称sp_%
回答
是的,你可以通过基于策略的管理来实现。您创建条件的过程方面与参数@名称为NOT LIKE
'sp_%'。然后,您为该条件创建政策,您可以按需或按计划执行此操作。
请注意,模式'sp_%'匹配任何以字母'sp'开头且至少包含一个以上字符的名称,因为'_'是一个特殊字符。我认为模式'sp [_]%'可以工作。 –
此外,政策系统可以让您发现*某些事情已经做错了,但并未阻止事情发生。 –
- 打开SQL Management Studio中
- 转到 “管理” - >状况 - >创建新的条件
- 为条件输入一个名称。
- 选择小面 “存储过程”
- 在列中输入 “现场” @name
- 输入栏 “操作员” NOT LIKE
- 列 “值” 'SP [_]%' 回车
点击确定保存
创建一项政策。进入“管理” - >策略 - >创建新策略
- 的政策
- 输入一个名称,选择在下拉菜单中选择条件“查询条件”
- 集命名为“评估模式”到“在变化:防止”
- 启用该策略
点击OK输入一个新的查询
保存并启用该策略
测试的策略210
CREATE PROCEDURE sp_test对它 @LastName为nvarchar(50), @firstName为nvarchar(50) AS
SET NOCOUNT ON; SELECT姓氏,部门 FROM HumanResources.vEmployeeDepartmentHistory WHERE FirstName = @FirstName AND LastName = @LastName AND EndDate IS NULL; GO
这导致:
政策 'StoredProcNamingPolicy' 已由>侵犯> 'SQLSERVER:\ SQL \ DB01 \ DEFAULT \数据库\ MYDB \ StoredProcedures \ dbo.sp_test'。 该交易将被回滚。 策略条件: '@Name NOT LIKE'SP [_]%' 策略说明: '' 附加帮助: '': '' 声明:“CREATE PROCEDURE sp_test对它 @LastName为nvarchar(50), @firstName nvarchar(50) AS
SET NOCOUNT ON; SELECT FirstName,LastNam ...'。 消息3609,级别16,状态1,过程sp_syspolicy_dispatch_event,行65 事务在触发器中结束。该批次已被中止。
管理工作室的这个管理菜单在哪里? –
- 1. PostgreSQL存储过程用户名
- 2. 如何使用LoginControl存储用户名和名称?
- 3. Git push:如何避免多个存储库中的用户名和密码?
- 4. 如何避免在Linux上的.odbc.ini文件中存储用户名/密码?
- 5. 如何避免从SQL Server中的UDF调用存储过程
- 6. 如何避免存储过程中的递归调用?
- 7. 如何避免在嵌套存储过程中的嵌套事务中使用重复的保存点名称?
- 8. Get调用存储过程的名称
- 9. 如何使用Stsadm导出,避免出口的用户名
- 10. 步入存储过程 - 通过用户
- 11. Powershell - 用户创建脚本避免重复的用户名
- 12. 避免加盟时Auth用户laravel 5
- 13. 如何使用存储过程向多个客户添加多个位置?
- 14. 如何创建可以删除,编辑和添加用户的存储过程?
- 15. 如何避免通过名称调用JavaScript方法eval()?
- 16. 如何存储用户登录的名称?
- 17. 如何在调用Java中的Oracle存储过程时避免核心转储
- 18. MySQL存储过程来检查,如果用户名退出
- 19. 存储iOS应用程序的用户密码和用户名
- 20. 使用Twitter和帐户框架添加应用程序名称
- 21. SharePoint站点询问用户名和密码,如何避免?
- 22. 如何避免在django-auth中创建'用户名'
- 23. 使用sp_作为SQL Server中用户存储过程的前缀导致性能影响
- 24. 如何在使用Firebase android时向用户添加用户名?
- 25. Oracle存储过程删除用户
- 26. 报告存储过程 - 如何避免重复?
- 27. 如何避免存储过程的长参数列表?
- 28. 如何避免存储过程中的T-SQL错误?
- 29. 避免将用户ID添加到每个模型
- 30. 如何在ActiveAdmin Rails的admin_user模型中添加用户名称
DMF?另外,什么版本的SQL Server? –