Articles of sql

SQL服务器间歇性连接问题每4或5天

我有一个.net Web应用程序调用SQL Server 2008在不同的服务器上运行。 从过去的几周,每隔4或5天后,Web应用程序连接到SQL Server成为一个问题。 Web应用程序无法间歇性地连接到SQL Server。 在Web应用程序服务器的事件查看器中,将logging以下消息: 与SQL Serverbuild立连接时发生networking相关或特定于实例的错误。 服务器未find或无法访问。 validation实例名称是否正确,并将SQL Serverconfiguration为允许远程连接。 (提供程序:命名pipe道提供程序,错误:40 – 无法打开连接到SQL Server)在System.Data.SqlClient.SqlInternalConnection 尝试从Web应用程序服务器创build到SQL Server的ODBC连接也失败,并显示类似的消息: Connection failed: SqlState:'01000' Sql server error: 68 [Microsoft ODBC Sql server driver][DBNETLIB] ConnectionOpen(Connect()) Connection failed: SQLState:'08001' Sql server error: 17 [Microsoft ODBC sql Driver]{DBNETLIB] Sql server does not exist or access denied 然而,其他机器(除了Web应用程序服务器)仍然能够调用相同的SQL服务器实例,也能够创build一个ODBC连接到SQL实例。 发生连接问题时,我也可以成功地从Web应用程序服务器ping到SQL Server。 […]

间歇性错误SQL Server错误67和17

我们在Windows Server 2012上运行Windows SQL Server 2012标准版。有一个SQL数据库,包含一个Access前端,我们从早期版本的Access和SQL迁移而来。 Access前端在大多数情况下与数据库通信都没有问题。 但是,有时访问只是停止响应,然后用户得到以下错误: Connection failed: SQLState: '01000' SQL Server Error: 67 [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen(Connect()). Connection Failed: SQLState: '08001' SQL Server Error: 17 [Microsoft][ODBC SQL Server Driver][DBNETLIB] SQL Server does not exist or access is denied. 维护Access和SQL数据库的人提供了以下总结:自发性问题同时影响到连接到SQL Server的每个人,并performance为缓慢或不存在的连接。 它在几分钟到几个小时内解决。 ODBC跟踪没有产生任何关于该问题的有用信息。 我们testing了多达5个并发用户,没有问题。 当我们观察星期五的问题时,数据库中只有四个用户,closures这些连接并不能立即解决问题。 在停机时间内,文件系统访问服务器的networking似乎没有问题。 根据这些信息,MS Access,ODBCconfiguration或数据库结构肯定不是问题。 这似乎是SQL Server本身的间歇性连接问题,可能是由于configuration问题,许可(如您所述),与其他软件/进程的冲突,或者由于其他SQL Server进程。 不幸的是,这是我的专业知识之外,我们没有专门的SQL Server或IT资源。 […]

SQL 2012中的备份压缩比差于SQL 2008

我们有启用了TDE的SQL 2008 Enterprise,并且已启用TDE并升级到SQL 2012。 一切工作正常,但我越来越差的备份压缩比在SQL 2008中。我明白TDE打开时压缩的限制。 但是,在启用TDE的情况下升级到SQL 2012时,这种限制更糟。 我期望在SQL 2012中获得与启用了TDE的SQL 2008相同的压缩比或更高的压缩比。 我已经做了相当多的研究,但没有运气来理解这个难题。 任何人都可以指向我的一些知识产权或文档为什么SQL 2012备份压缩比与TDE启用比SQL 2008更差?

RemoteApp:可以确保没有不需要的程序启动吗?

背景故事:在我们公司,我们购买了客户端/服务器进程pipe理软件,客户端从该进程pipe理软件直接与SQL服务器通信。 这在我看来是一个重大的安全缺陷,因为可以从所有客户端计算机上的registry中读取SQL服务器密码。 这个SQL用户可以访问整个数据库。 该软件是基于用户的,这显然只是安慰剂,并没有增加安全性。 该软件的制造商意识到这个问题,但只提供一个Web访问模块,以防止直接与SQL服务器通信,这将花费额外的~5000美元。 所以我想知道是否build立另一个Windows服务器安装客户端软件并将其发布为“RemoteApp”是一个好主意。 我想知道这是否足以阻止用户启动任何未发布的程序? 我知道,如果客户端软件启动任何额外的软件,用户也可以访问该软件。 PDF阅读器或其他文本编辑器的情况就是如此。 考虑到这些信息,我是否可以假设无法读取registry项和/或启动由RemoteApp用户上传的任何软件(networking嗅探器等)?

移动SQL后,不释放内存的查询

我们最近从一个虚拟机托pipe环境转移到另一个。 我们移动的机器是一个克隆,所以所有的设置是相同的前后移动。 然而,在我们的新环境中,我们的SQL服务器正在填充内存,而不是释放它,然后抛出事件ID 701:内存不足以执行查询,然后在足够的失败终止SQL服务之后。 我知道填充可用内存是SQL的典型行为,在我们第一次看到这一点后,我们确保最大内存被设置为低于系统内存总量,以便为OS进程留出空间(大约6GB,空间充足)。 但是,我们仍然得到这种行为和相同的错误。 看来,SQL正在填满内存,然后不释放它自己的查询然后崩溃。 有没有人看到这个问题或知道任何修复/故障排除步骤? 谢谢。

无法通过IP地址连接到SQL Server,但使用主机名工作

升级到最新版本的Windows(Windows 10生成10586)后,我不能再通过IP地址连接到远程SQL服务器。 这是我看到的错误: [SqlException(0x80131904):连接超时过期。 尝试使用login前握手确认时超时。 这可能是因为login前握手失败或服务器无法及时回应。 试图连接到这个服务器的时间是 – [Pre-Login] initialization = 18303; 握手= 14385; ] 这不是一个命名实例的SQL Server。 我能够连接没有问题,如果我使用机器的主机名。 什么可能导致这个? 在十一月更新之前的Windows 10上,连接没有问题。 Sql Server 2012(11.0.5058)Windows 10 Build 10586

不能连接到使用IP的SQL Server数据库

我已经在服务器A上创build了一个sql server数据库。 我总是使用Windows身份validation来连接,但现在我想连接到服务器B数据库。 然后,我添加了一个新的用户数据库,并打开Sql Authentication ON 。 现在,我可以使用以下命令连接到服务器A数据库: 1 ) Windows Authentication -Server name: PC\SQLEXPRESS or 2) SQL Authentication -Server name: localhost\SQLEXPRESS,1433 -Login: new_user -Password: example 但我不能连接我的公共IP,例如: 133.155.84.28 。 我必须使用本地主机。 这意味着我可以从服务器“B”连接数据库。 我去SQL Server Configuration Manager/Protocols for SQLEXPRESS/TCP IP/IP Adresses 。 在这里,你可以看到哪个IP地址让我login到我的本地SQLEXPRESS: 图片 我无法使用133.155.84.28和127.0.0.1都不能连接。 只有localhost 。 我该怎么办?

SQL Mirgations – 域信任还是不信任?

我正准备将18个SQL服务器从on \ colo迁移到AWS。 我们将在AWS中构build一个新的域名,并希望将旧的域名抛在后面。 我是否需要设置域信任为了我的SQL服务器没有停机? 目前在镜像configuration故障切换中进行设置。 我打算做一系列的域名信任,所以我可以把我们的域名结构扁平化,但我不确定什么最佳做法是什么时候离开一个新的旧域名。 唯一真正使用Windows服务帐户的是我们的SQL DB服务器。 有什么地方可以find信任有用吗? 任何信息都是有用的。 非常感谢! Windows Server 12 R2 + SQL 14标准版

SQL Server 2014 SP2不能在Windows Docker上启动

我想在Windows Docker上安装和使用SQL Server 2014 SP2。 但是SQL Server服务不启动。 重现步骤: 从https://www.microsoft.com/zh-CN/download/details.aspx?id=53167下载“Microsoft SQL Server 2014 Service Pack 2(SP2)Express”英文版。 执行“SQLEXPR_x64_ENU.exe”,解压缩到“SQLEXPR_x64_ENU”文件夹,然后取消安装程序。 如下所示写入Dockerfile。 执行“docker build -t sample”。 执行“docker run –name sample -i –rm sample”。 Dockerfile: FROM microsoft/windowsservercore MAINTAINER [email protected] COPY SQLEXPR_x64_ENU C:/SQLEXPR_x64_ENU/ WORKDIR C:/SQLEXPR_x64_ENU/ RUN SETUP.EXE /q /ACTION=Install /INSTANCENAME=MSSQLSERVER /FEATURES=SQLEngine /UPDATEENABLED=0 /SQLSVCACCOUNT="NT Service\MSSQLSERVER" /SQLSYSADMINACCOUNTS="foobar" /TCPENABLED=1 /NPENABLED=0 /IACCEPTSQLSERVERLICENSETERMS CMD [ "powershell" ] […]

SQL Server中的Firehose模式

它是什么,它如何阻止它从企业pipe理器取消我的更新?