Articles of sql

截断表后备份中的SQL Server敏感数据

我有一个Microsoft SQL 2008 R2数据库,包含大约50GB的客户数据和大约500MB的非客户特定的数据,如库存,零件,术语等。我生成一个干净的数据库副本,没有客户数据用于testing粗略的程序(完全脚本): 将生产数据库备份到文件 将文件恢复到testing数据库(此时SIMPLE恢复模式) 精心策划TRUNCATE TABLE / DELETE语句,以从数据库中删除所有客户数据 插入一些testing客户回来,所以它是最低限度的可用 收缩数据库+收缩testing数据库的日志 备份testing数据库以“清理”备份文件 现在,我们将允许外部开发人员获得上一步生成的干净备份文件的副本,而不仅仅是SQL Server(查询)访问testing数据库。 我的问题:从步骤6开始,如果备份文件本身是用hex编辑器打开的,我可以确定所有包含客户敏感数据库的页面/扩展盘区都被清零/删除吗? 如何覆盖索引,是否还会有“脏”的页面? 我确信有这个章节和诗句的答案,但我似乎无法在网上find它。 后续问题:我正在备份和恢复50 + GB,最终有一个500MB的数据库。 500MB仍然比我想要通过INSERT语句重放回空数据库更多。 有没有更好的方法来克隆300个表格的结构,还有50个表格上的数据结构? 我们每个月至less进行2次重要的模式更改(新build表,新build列,删除列等)。 目前的脚本可能需要10分钟才能运行,所以我现在很好,但如果可能的话,我想提高。

启用Windows防火墙后重新启动后,SQL镜像服务器不会连接

我正在尝试使数据库镜像在具有自动故障转移function的高安全模式下正常工作。 我已经在Windows Server 2012 R2上为我的主体和镜像命名了SQL Server 2014的实例。 我在Windows Server 2016上安装了另一个命名的SQL Server Express 2014实例,作为我的见证人。 我一直有很大的麻烦,这似乎与Windows防火墙的奇怪行为有关。 在镜像的初始设置过程中,我遇到了连接到数据库镜像安全向导中的次要和见证问题,以及尝试启动镜像时出现错误1418的问题。 在所有情况下,我必须在各种服务器上临时禁用Windows防火墙。 然后,我可以完成向导,以及启动镜像没有任何错误。 我已经在所有服务器上打开了端口1433和5022。 我也尝试根据我挖掘的其他信息开放135,137,138,139和1434端口,但是这并没有帮助。 唯一有效的工作是在整个configuration和启动镜像的过程中,closures所有三台服务器上的Windows防火墙。 然后我能够把它打开,镜子继续工作。 但是现在,如果我在主体上打开数据库镜像监视器并重新启动镜像服务器,镜像将不会重新连接,直到我再次禁用Windows防火墙。 一旦它重新连接,我可以重新打开防火墙,它将继续工作,直到下一次重新启动。 如果我在重新启动之前禁用了Windows防火墙,那么当服务器重新启动时,它将自动重新连接,然后我可以再次启用防火墙,即使在后续重新启动之后,仍然可以继续工作。 然后校长变成镜子,反之亦然,我在新镜子(前校长)上得到同样的问题。 然后我必须在新镜像上采取与上述相同的步骤来连接它。 现在,即使我说如果我禁用原始镜像上的Windows防火墙,重新启动,然后重新启用防火墙,镜像将能够自动重新连接后,后来重新启动,一旦我失败了镜子,如果我故障恢复到原始主体,重新启动后自动重新连接的能力将丢失,我将不得不再次禁用防火墙,重新启动并重新启用。 显然这种行为是远远不理想的。 我需要一切工作和连接,因为他们应该自动。 任何人都可以帮我解决这个问题吗?

无法Windows Update和WSUS损坏

一段时间以来,尽pipe3年多以来,WSUS和Windows Update都已经停止了运行Windows Server 2008(而不是R2)的单域控制器的工作。 尝试运行Windows Update时出现的错误是“80072efd”,我们当然知道这个错误,并且倾向于指向防火墙问题。 我们倾向于相信这不是问题,因为networking上有几台独立的PC,它们不是域的一部分,因此不使用DC作为通过连接的更新源到Windows更新就好了。 由于所有的连接都以相同的方式路由,所以这意味着防火墙不会出现问题,还有一个古老的说法,“防火墙上没有任何东西已经改变” – 它不会在DC上突然停止,域机器。 另外,虽然调查,我注意到WSUSpipe理单元不再加载,只是提示“重置服务器节点”这是行不通的。 除此之外,我已经在IIS中看了一下,可以看到它停止的WSUSpipe理“站点”。 我不能重新启动它,因为它说另一个网站正在使用该端口,从我可以告诉在IIS中不是这种情况。 我们在IIS中只有2个站点,一个使用80,另一个使用8530/1。 我也尝试删除和增加WsusPool在Recyling选项卡上的限制,作为一个technet的post提出这可能是原因,但即使重新启动IIS – 什么都没有。 我认为这是所有相关的Windows更新不起作用,但不能确定。 我在下面附上了WSUSpipe理单元中的错误: WSUSpipe理控制台无法通过远程API连接到WSUS服务器。 validation更新服务服务,IIS和SQL正在服务器上运行。 如果问题仍然存在,请尝试重新启动IIS,SQL和更新服务服务。 WSUSpipe理控制台无法通过远程API连接到WSUS服务器。 validation更新服务服务,IIS和SQL正在服务器上运行。 如果问题仍然存在,请尝试重新启动IIS,SQL和更新服务服务。 System.Net.Sockets.SocketException – 由于目标机器主动拒绝它,因此无法连接10.0.0.253:8530 源系统 堆栈跟踪:在System.Net.ServicePoint.ConnectSocketInternal(布尔connectFailure,套接字s4,套接字s6,套接字和套接字,IP地址和地址,ConnectSocketState状态,IAsyncResultasynchronous结果,在System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot,SocketAddress套接字地址) Int32超时,exception和exception)**这个exception嵌套在下面的exception** System.Net.WebException – 无法连接到远程服务器 来源Microsoft.UpdateServices.Administration 堆栈跟踪:位于Microsoft.UpdateServices.Administration.AdminProxy.GetUpdateServer(String serverName,Boolean useSecureConnection,Int32 portNumber)上的Microsoft.UpdateServices.Administration.AdminProxy.CreateUpdateServer(Object [] args)上的Microsoft.UpdateServices.UI.AdminApiAccess.AdminApiTools。 Microsoft.UpdateServices.UI.SnapIn.Scope.ServerSummaryScopeNode.GetUpdateServer(PersistedServerSettings设置)上Microsoft.UpdateServices.UI.SnapIn.Scope.ServerSummaryScopeNode.ConnectToServer()在Microsoft.UpdateServices GetUpdateServer(stringserverName,布尔useSecureConnection,Int32端口号)。在Microsoft.UpdateServices.UI.SnapIn.Scope.ServerSummaryScopeNode.OnExpandFromLoad(SyncStatus状态)上的UI.SnapIn.Scope.ServerSummaryScopeNode.ConnectToServerAndPopulateNode(Boolean connectedServerToConsole) 服务器昨晚重新启动照顾SQL / IIS和更新服务,但无济于事。 任何指针不胜感激。 就像我讨厌说的那样,自2013年以来,服务器一直在运行,WSUS和所有域计算机都在不断更新,直到看起来像是一个命运的日子,从我们可以看出,根本没有意识到的变化。

用nginx阻止urlencoded SQL注入

我在Apache服务器前inheritance了一个Nginx设置。 今天我发现了一些SQL代码打到了Apache的访问日志: GET /mgrayson/splice%27%29%20AND%20%28SELECT%204520%20FROM%28SELECT%20COUNT%28%2A%29%2CCONCAT%280x716b786b71%2C%28SELECT%20%28ELT… 在nginx中删除这种查询的最好方法是什么? 它基本上设置了一堆关键词来捕获和忽略%xx分隔符字符?: if ($query_string ~ “.*select.*from.*(“) { set $block_sql_injections 1; } 有没有更好的方法来阻止这个东西? 思考这个标准的缓解策略可能是一个长期解决的问题。 谢谢!

SQL Server 2016 SP1的SSL安全错误

我在Windows Server 2012 R2机器上运行SQL Server 2016 SP1。 据说,与SQL Server的早期版本不同,SQL Server 2016与开箱即用的TLS 1.2兼容….对吧? 无论如何,我的应用程序的一切工作正常,直到我禁用TLS 1.0和1.1,然后我得到这个错误: 无法打开数据连接。 错误:[Microsoft] [ODBC SQL Server驱动程序] [TCP / IP套接字] SSL安全错误 当我查看SQL Server ODBC 11驱动程序时,它们只适用于SQL Server 2014或更早版本。 是什么赋予了? 我不清楚如何更新ODBC是SQL Server 2016的TLS 1.1和1.2兼容,甚至不应该有这个问题(毕竟,TLS 1.0漏洞是复古2016年在这一点上)? SQL Server ODBC 11驱动程序下载:“用于SQL Server的Microsoft ODBC驱动程序11是单个dynamic链接库(DLL),包含运行时支持应用程序使用本机代码API连接到Microsoft SQL Server 2005,2008,2008 R2, SQL Server 2012,SQL Server 2014和Windows Azure SQL数据库“。 没有道理…我做错了什么? 我正在使用标准的SQL Server […]

随着时间的推移,客户机中的SQL Server速度变慢(在Centos 7主机上使用KVM进行虚拟化)

我们有一个新的服务器HP DL360,64GB RAM,2×8核心CPU,SAS HDD Raid1arrays和一个SSD Raid1arrays。 SSDarraysconfiguration了2个Samsung 850 Pro设备(未经HPauthentication)。 我们安装了一个CentOS 7 OS作为主机操作系统,而且我们只有一个虚拟机与Windows Server 2012和SQL Server 2012 ,C盘上只有一个存储设备(SSDarrays上的qcow2文件)。 存储和networking通过virt驱动程序访问。 在VM上IO性能也非常好。 分配给VM的内存:20 GB。 为虚拟机分配了10个CPU。 我们已经安装了一个Web应用程序(通过IIS),它访问了20-30个不同的公司(相同的数据库结构) 虚拟机在重启之后运行得非常好,但是及时(50分钟 – 3小时), 性能下降很大 。 如果我们单独重新启动SQL Server服务,我们还有几十分钟的性能提高。 旧的生产环境运行良好(但只有一个CPU,只有8 GB的RAM),但我们想要一个更大的机器! 所以目前还不清楚会发生什么。 当虚拟机开始运行缓慢时,CPU没有大的消耗,只是webapp运行不好。 我们没有需求的激增。 只有一件事似乎很奇怪,虚拟机所消耗的内存从未达到20GB的限制。 最高限制约为8GB。 我们优化了SQL Server,为SQL分配了15 GB(最大内存)…运行了所有types的testing和诊断工具(Toad Spotlight for SQL)。 一切都是绿色的。 我们不知道为什么服务器变慢。 我假设某种不兼容的hardware-kvm-guest虚拟机。 在KVM中运行时,是否会出现SQL Server设置的问题? 或者,也许SSD的主机上有兼容性问题? 任何想法都欢迎!

如何访问没有数据库的SQL Anywhere服务器来创build一个?

是否可以连接到不具有现有数据库的SQL Anywhere服务器来创build一个。 在SQL Anywhere Studio中,我总是需要定义一个现有的数据库。 问候马丁

Amazon AWS RDS – SQL Server,更灵活的缩放

我现在有一个AWS RDS SQL Server实例,使用它的应用程序在一天的特定时段内可以看到它的用途。 (9-10和6-7),在这些时候,我们看到数据库performance的巨大放缓。 现在我们显然可以扩大支持EC2的实例,但是这个时间框架看起来像是浪费了大量的资源。 有什么办法可以有一个更灵活的解决scheme? IE像弹性beanstalk允许我们在高峰时间添加额外的“节点”?

Home Postgress服务器configuration

我的主电脑(我的桌面)上安装postgresql服务器。 我正在通过node.js开发一个业余爱好项目,有时候我不能在我的桌面上从笔记本电脑上工作。 我将如何去设置我的笔记本电脑连接到我的桌面本地托pipe的postgresql数据库? 我不需要在家庭networking之外访问。 使用pg_hba设置: IPv4本地连接: 主机全部全部为0.0.0.0/0 md5 IPv6本地连接: 主机全部:: 0/0 md5

Dynamics NAV服务自动停止

我一直负责将Dynamics NAV 2013 R2移动到另一台服务器。 两台服务器都使用SQL Server 2012运行Server 2012 R2 。 我已经将数据库移动到新机器上,并运行NAV 2012 R2的安装程序来完成安装,但我无法启动NAV。 当我进入services.msc并手动尝试启动Microsoft Dynamics NAV Server [DynamicsNAV71]出现以下错误: 本地计算机上的Microsoft Dynamics NAV服务器[DynamicsNAV71]服务启动,然后停止。 有些服务如果没有被其他服务或程序使用,则会自动停止。 我已经查看了事件查看器里面的任何细节,但找不到任何东西。 一路上我犯了一个错误。 希望你们能抓住它。 这就是我所做的(一步一步的): 在旧服务器上备份当前NAV数据库 在新服务器上恢复备份 取得数据库的NT AUTHORITY\NETWORK SERVICE dbo 解决了NAV 2012 R2的安装程序(在旧服务器上运行的安装程序相同) 我在安装向导的Choose an installation option下Choose an installation option Server 。 然后我进入: 服务名称:DynamicsNAV71 服务帐号:networking服务 将规则添加到防火墙:是的 SQL服务器:新服务器的主机名 SQL实例:空,因为SQL服务器安装了“默认实例” SQL数据库:恢复的数据库的名称 安装程序完成后没有任何错误,但服务从未启动。 我已经证实: DynamicsNAV71与旧服务器上的实例名称相同 端口在Windows防火墙中打开 […]