Articles of sql

SQLAgentUserRole是否需要查看msdb.dbo表?

作为ETLvalidation的一部分,我经常通过对团队环境中的msdb.dbo表进行查询来检查作业的状态,以获取关于时间表,运行状态,运行时间等的信息。 我很好奇,如果权限可以授予开发人员在非隔离环境中使用的通用login,例如多个团队正在访问的合并或QA,导致但不包括Prod允许查看msdb.dbo表? 目前,所述通用开发者login没有足够的权限,必须依靠DBA按照要求报告这些信息,耗费他们的时间和精力。 我不认为这是授予SQLAgentUserRole相同,但可能是错误的。 这个请求是否超越/踩在DBA脚趾上? 我的查询参考:(通过SoapUI使用JDBC需要更高的冗长度) SELECT [sysjobs].[name] AS [job_name], [sysjobhistory].[run_date] AS [run_date], [sysjobhistory].[run_time] AS [run_time], [sysjobhistory].[run_status] AS [run_status] FROM [msdb].[dbo].[sysjobs] INNER JOIN [msdb].[dbo].[sysjobhistory] ON [sysjobs].[job_id] = [sysjobhistory].[job_id] WHERE [sysjobs].[enabled] = 1 — only enabled jobs ORDER BY [run_date], [run_time] DESC 感谢您的时间。

数据库服务器的RAID 10arrays上的最佳条带大小/完整条带大小是多less?

我正在build立一个新的SqlServer数据库服务器。 该机器是具有SSD磁盘的HP Proliant DL368 Gen9。 当试图创build数组时,我必须select条纹/满条纹大小。 这是我第一次设置RAIDarrays,我不知道如何configuration这些设置以获得最佳效果。 我想在服务器上使用全部六个SSD驱动器build立一个大的RAID 10arrays。 这两个选项的默认值如下: 条/完整条纹大小:* 256KiB / 768 KiB 部门/轨道:* 32 这两个设置的最佳configuration是什么? 还是应该坚持使用默认选项? 请记住,这台机器只能用作数据库服务器。

SBS2011上的VirtualBox VM中的SQL数据库的性能影响vs直接在SBS上托pipe该数据库

我们的客户之一仍然有一些functionSBS2011。 该SBS还为客户主应用程序托pipe文件和数据库(某些MS SQL Express)。 服务器还托pipe一个防病毒pipe理服务器,但是这个实际上运行在VirtualBox中的Windows 7虚拟机上 – 在该SBS2011盒子上。 原因是客户主应用程序和防病毒pipe理服务器实际上@default使用相同的SQL端口。 所以这是解决方法。 然而,这个虚拟机最近出现了一些可靠性问题,比如在SBS的补丁周二(或者忘记打开虚拟机的同事)或者反病毒pipe理的实际服务没有启动或者只是简单的因为某种原因closures了… 因此,我的计划是直接在SBS上安装pipe理服务器,并修改完全支持的AV软件中的连接端口,以便主应用程序和AVpipe理的SQL实例不受干扰。 然而,我们有一个热烈的讨论,是否不宜重buildVM /修复它,而不是把它放到SBS上。 我的观点:VirtualBox(或任何types2的pipe理程序)对于这样一个重要的任务本质上是不可靠的(qed),给SBS带来不必要的开销而没有真正的收益,并且产生另一层不必要的复杂性。 我们将通过直接在SBS上安装AVpipe理(及其数据库)来释放更多的资源。 同事的观点:SBS2011已经有了“足够”的数据库/实例(监视,交换,主应用程序数据库,共享点等),因此额外的数据库实际上可能会造成更多的伤害,因为现在SBS必须“pipe理”另一个SQL数据库和它的资源,而不是具有固定资源的虚拟机。 反驳:我们有更多的客户使用类似的系统,我的结构不会造成问题。 那么,你的build议是什么? 提前致谢

启用资源调控器

我在我的基础结构中安装了SQL Server 2008 R2 SP1。 我的一个SQL作业消耗了大量的CPU使用情况,当发生这种情况时,所有其他查询花费的时间太长。 经过研究,我阅读了资源总监。 此function可以限制已定义资源的CPU使用率。 在我发现的所有信息之后,我有两个问题: SQL服务器或SQL代理是否需要重新启动才能启用? 我怎样才能configuration资源调控器只有一个SQL工作?

PHP7如何从各种数据源获取(接近)实时数据?

我正在制作(Apache2.4 / JS的Win2012r2上的PHP7)网站来协助帮助台。 被search的信息主要是关于计算机,用户和活动目录的信息。 一些其他资源,如MSSQL和一些从CMD行运行的遗留应用程序也提供信息。 信息还应该能够从现场支持工程师的移动设备中获得请求。 在所有情况下,80%的服务台可以使用最近的数据,但不是实时数据。 我已经设置了一堆PHP脚本和PS脚本来收集相关的数据,把它放在一个MySQL数据库,让服务台网站查询该信息(静态或与AJAX)。 在20%的情况下,服务台或FS工程师需要查看生命周期数据,以便在用户接通电话时进行故障排除。 现在我的困境是如何以可接受的速度获取数据(比如说几秒钟) – 但是必须以安全的方式完成! 到目前为止,我试过/考虑过: 1)使webrequest使用sys_exec()来触发一个外部脚本来获取数据。 问题:sys_exec()不是原生的MySql,因为它可用于所有MySql用户,因此不安全。 2)让(PHP)webrequest触发一个exec来启动一个获取数据的脚本。 问题:你需要给PHP脚本触发exec方式太多的权限,再次(高度)不安全。 3)webrequest将一行代码放入MySql中的几种方法(让我们把它命名为'todo')内存表,并从一个拥有更多权限的位置获得一个脚本,并且在web服务器环境之外(但在同一个服务器上)轮询'todo '表,执行请求并将结果返回到另一个表中。 虽然这个设置对潜在的黑客来说至less有5个障碍,使得它非常安全,但它依赖于请求者作为执行后端脚本的轮询,使其变慢。 尽pipe速度很慢,但我目前认为这是最好的select。 4)在请求的PHP和收集数据的脚本之间使用networking连接(localhost)。 问题:这只能起作用,因为请求的PHP只能使用默认权限执行UDP请求。 对于正确的TCP连接,请求的PHP脚本将需要root / Admin权限,这是不安全的。 尽pipe如果侦听的“收集脚本”将其数据返回到mysql中的临时内存表,但是即时防火墙迁移工作,将需要大量的状态/错误检查循环和-again轮询。 5)直接使用PHP来获得例如SNMP,WMI,MSSql和MySql数据。 虽然SNMP和MySql非常容易实现,但MSSQL和特别是WMI调用非常困难(至less对我来说)在Windows2012R2服务器上的PHP7上正常工作。 有没有人有一个想法,我怎么会从各种来源的数据转移回请求的PHP脚本,而不使这个设置一个重大的安全隐患? 或者,甚至更好,一个很好的解决scheme,以获得MSSQL和尤其是WMI从windows2012r2运行的PHP7下工作?

TCP提供程序,错误:0 – 指定的networking名称不再可用

最近我们面对上面的问题,从我们的Web服务应用程序日志之一。 这只发生在closures,但我们困惑什么可能会导致此错误发生。 sql只是一个普通而简单的select sql。 首先我们认为这可能是因为长时间运行的查询,但根据goggling发现,.net 2008 visual studio将超时过期例外,如果超过默认值30秒超时。 所以我的怀疑不是因为长时间运行的sql本身。 同时我们注意到NLB收敛事件发生在事件查看器的时间内。 “NLB群集[10.16.0.182]:NLB正在主机0x2上启动收敛,因为主机0x1正在join群集。” 那NLB收敛是否会导致networking故障,从而导致触发的tcp错误?

postgresql无效命令\

当试图将.out文件导入到postgres数据库时,我得到了很多(千)行:psql:G:/Backup/main_db_backup.out:251875:invalid command \ 使用不同的数字,其中“251875”是每行 这是否意味着恢复不起作用? 有没有人遇到过这个? 在恢复过程中,我找不到有关此消息的任何内容 谢谢你的任何帮助!

SQL Server 2016始终encryption和AlwaysOn可读的辅助连接错误

我在SQL 2016中使用了Always Encrypted来encryption我的应用程序中表格的几列中的数据。 总是encryption似乎设置正确,因为我可以看到SSMS中的encryption数据和我的应用程序中的解密数据。 我的应用程序连接到数据库的AlwaysOn可用性组。 我可以在没有任何错误的情况下对主数据库运行查询。 只要我尝试运行一个查询对活动只读辅助,我得到以下错误: 正在使用的SQL Server实例不支持列encryption。 鉴于我对辅助查询运行的查询甚至没有encryption数据的表,我假设问题是有关的事实,我把这个添加到我的只读连接string: 列encryption设置=启用 有谁知道这是否是一个问题,如果是的话,我该如何解决? 我唯一的select只有在访问encryption数据时才查询主数据,并从我的只读连接string中删除该选项? 提前致谢!

票务系统逻辑

目前我们有一个票务pipe理系统,就像所有的票务系统一样,它需要以循环的方式分配给代理人。 同时,代理可以应用自己的过滤逻辑并在其队列上工作。 问题, 现在门票很大,超过一千万行。 一张票不应该分配给两个不同的用户。 为了解决上述问题,这就是我们所拥有的stream程, select查询会触发筛选条件并限制0,1 上面的查询返回的行然后根据id被选中并locking更新。 最后我们开始更新,说用户X已经select了这个案例。 虽然第3步执行其他用户不能获得相同的情况下锁,所以他们激发3.一个查询可能会多次获得下一个可用的情况。 随着用户数量的增加,这一步在第4步越来越高。 我们尝试在步骤4自己的查询中进行select更新,但是这会使整个查询变慢。 假设这是因为select查询中有大量的行。 问题, 我们需要采取不同的方法吗? 在存储过程中做一个select和更新确保与select更新然后更新相同的结果?

从2008 R2到2016年SSMS升级

我目前有一个负载均衡的服务器集群运行SQL Server 2008 R2与各自的SSMS版本。 我需要升级SSMS工具才能正确导出BACPAC。 在升级这个组件之前是否有任何程序或兼容性问题需要注意? 我已经有了一个这样的search,从我可以看到有没有,但我是相当新的,所以可能会失去一些明显的东西… 它是在一个现场环境,所以相信你可以体会到谨慎的态度…. 干杯