Articles of sql server

SQL Server 2012连接超时已过期

我正在Windows Server 2012上运行MS-SQL Server。我不时得到这个exception: 服务器exception:System.Data.SqlClient.SqlException(0x80131904):连接超时已过期。 login后阶段过去的超时时间。 在等待服务器完成login过程和响应时,连接可能已经超时; 或者尝试创build多个活动连接时可能已超时。 试图连接到这个服务器的时间是 – [Pre-Login] initialization = 6; 握手= 9410; [login]初始化= 0; authentication= 1; [后login]完成= 5627; —> System.ComponentModel.Win32Exception(0x80004005):等待操作超时 当它发生时,我会在几分钟内得到数百个,过了一段时间后它恢复。 我在网上找不到任何有用的东西。 我将不胜感激任何帮助。 谢谢

在RHEL 6上使用sqlcmd和odbc驱动程序连接到MSSQL服务器失败

我花了最后一个小时尝试通过odbc驱动程序使用sqlcmd连接到一个mssql服务器。 我正在跟db的家伙说话,但他似乎没有线索发生什么事情..也许你可以帮我找出一些问题,我可以问那个家伙.. 我正在使用来自Microsoft的官方odbc驱动程序。 实际上,我们正在使用某种dynamic端口。 中间没有防火墙。 # odbcinst -q -d -n [PostgreSQL] [MySQL] [ODBC Driver 11 for SQL Server] 我尝试了不同的方法 错误代码0x2AF9: sqlcmd -S hostname\DEV04 -U username -P password Sqlcmd: Error: Microsoft ODBC Driver 11 for SQL Server : Login timeout expired. Sqlcmd: Error: Microsoft ODBC Driver 11 for SQL Server : A network-related or instance-specific error […]

SQL Server 2008 R2临时login问题

我们有一个成熟的SQL Server 2008 R2服务器,从许多C#Web应用程序中使用,每个都有连接池。 昨天晚上,在问题解决之前,所有Web应用程序都无法login到数据库6分钟。 这是用于各种login。 我查看了服务器上的事件日志,发现了很多消息: The client was unable to reuse a session with SPID [Various], which had been reset for connection pooling. The failure ID is 29. This error may have been caused by an earlier operation failing. Check the error logs for failed operations immediately before this error message. 在错误消息之前,我找不到一个失败的操作。 29的失败ID显然是指RedoLoginException […]

使用单个时间顺序分区回收文件组中的空闲空间

从这里移动(在那里没有coments) 题: 什么是回收空间大(数百GB)文件组与单个分区的时间顺序sorting,没有索引碎片,不能承受索引碎片正确的方式? 我听到很多关于收缩的坏消息(比如http://www.brentozar.com/archive/2009/08/stop-shrinking-your-database-files-seriously-now/ )。 索引碎片化和重build的时间复杂性是我最关心的问题 背景: 我有一个巨大的桌子(几TB),具有以下属性: 数据仅按时间顺序存储(列“C”) 索引基于维度“A”,然后是“C” 表是基于'A'分区的,每个分区都有它自己的文件组(具有10%的FileGrowth) 所以数据只能附加到每个分区,并且存储工作超快。 我们还想基于时间开始分区(例如,每个分区的分区和维度'A';每个分区在不同的文件组中)。 但是有两个问题: 我们不能浪费磁盘空间(例如,每个历史分区的可用空间有10%是永远不会再被触摸的)。 我们不能绝对负担任何索引碎片(就像我们的查询数据量非常大)。 能够在每个季度结束之后能够从文件组的最后删除可用空间将是很好的,然后例如将文件组标记为只读

为什么从Azure Blob存储恢复到SQL Server 2014时,出现“exception终止数据库终止”(错误3013)

我们的生产数据库服务器每天晚上使用SQL Server 2014 Standard中的BACKUP TO URL命令BACKUP TO URL数据库到Azure Blob存储。 我正在尝试将这些备份还原到我们在Azure中设置的新SQL Server VM,该SQL Server也运行SQL Server 2014 Standard。 我正在运行以下SQL命令: RESTORE DATABASE Example FROM URL = 'https://exampleaccount.blob.core.windows.net/livedbbackups/ExampleBackup-2015-10-15T01-13-08.bak'; WITH CREDENTIAL = 'AzureBackupCredential', MOVE 'Example' TO 'C:\Databases\Example.mdf', MOVE 'Example_log' TO 'C:\Databases\Example.ldf', STATS = 5; 当我这样做时,恢复运行10分钟以上,我可以看到它在SQL Server Management Studio的“消息”窗口中进展。 但是,在达到100%之前,会显示以下错误消息。 运行Microsoft SQL Server 2014的Azure VM上的输出 – Windows NT 6.3(Build 9600:)(pipe理程序)上的12.0.4213.0(X64)标准版(64位): 85 […]

使用FreeTDS连接到MS SQL Server:错误20002:“Adaptive Server连接失败”

我尝试使用FreeTDS从Linux服务器(RHEL v7)连接到运行MS SQL Server 2014的单独服务器。但是,尝试连接tsql时,出现以下错误(错误消息根据是否包含用户名和密码): $ tsql -S MYSERVER locale is "en_US.UTF-8" locale charset is "UTF-8" using default charset "UTF-8" Error 20002 (severity 9): Adaptive Server connection failed There was a problem connecting to the server $ tsql -S MYSERVER -U myusername -P mypassword locale is "en_US.UTF-8" locale charset is "UTF-8" using default charset "UTF-8" […]

configuration的Azure备份每15分钟向我发送一次运行状况检查报告

我将SQL Server 2014数据库configuration为备份到Azure存储帐户。 我也通过电子邮件通知 EXEC msdb.smart_admin.sp_set_parameter @parameter_name = 'SSMBackup2WANotificationEmailIds', @parameter_value = '[email protected]' 然而,这是每隔15分钟给我发一封电子邮件,告诉我一切正常。 如果有问题,我只想收到一封电子邮件。 问题:如果发生错误,我需要更改哪些电子邮件地址? 顺便说一句:我有一个服务器,我configuration了一段时间以前,我想要的行为相同的脚本 ,所以我知道这是可能的。 但是因为当时我用的是同样的脚本,所以我不知道configuration上的区别,也知道没办法弄清楚。

RDS 2012R2:RD连接代理HA – 无法连接到SQL

我正在尝试设置一个全新的RDS环境。 我试图按照这个指南: https : //msfreaks.wordpress.com/2013/12/09/windows-2012-r2-remote-desktop-services-part-1/并已经相当远,但我' m在configurationRD连接代理HA屏幕上失败。 这是我得到的错误: 数据库连接string中指定的数据库不能从RD连接代理服务器获得。 确保networking上的SQL Server可用,RD连接代理服务器上安装了SQL Server Native Client,并且RD连接代理具有对数据库的写入权限。 到目前为止,这是我所做的和尝试过的(没有特别的顺序): 在RDS服务器上安装了SQL Server Native Client(运行SQL Server 2014安装程序,刚刚安装了“客户端工具连接”和“SQL客户端连接SDK” 在启用了TCP / IP的RDS和SQL服务器上的SQL Serverconfigurationpipe理器中进行了validation 创build了一个名为“RDS连接代理”的AD组,添加了RDS服务器,并在SQL服务器中给了组的dbcreator权限(出于绝望,我也试图在SQL中给出组的sysadmin权限,但是没有去) closures两台服务器上的Windows防火墙进行testing; 不行 禁用两台服务器上的AV暂时testing; 不行 重新启动这两个服务器 尝试在SQL服务器上创build正确名称的空白数据库,然后再次运行HA向导; 不行 仔细检查两台服务器上是否安装了本地客户端; 似乎已安装 这是我正在尝试的数据库连接string: DRIVER=SQL Server Native Client 11.0;SERVER=SQLserver\SQLinstance;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;DATABASE=RDP_BROKER 两台服务器都是Win2012R2,而且SQL服务器在线并正在运行,因为我们有其他应用程序连接到它。 它是一个命名的实例,但根据我的search,这应该仍然工作。 我一直在search谷歌和serverfault,但几乎到处都说,我在做什么应该工作。 我觉得我缺less一些基本的东西。

更改SQL Server用户SID

我有SQL Server 2012,我正在使用域用户(从Active Directory)。 错误地将用户从AD中删除,创build新的具有相同的login名和密码(但具有不同的SID),删除并恢复原来的 – 最终重新创build具有旧SID的旧用户。 几乎一切似乎都很好,除了一个用户。 SQL Server以某种方式被一个用户(所有其他用户都很好)与错误的SID陷入困境,并没有从AD得到正确的SID。 我在两个地方都检查了SID – AD中的SID与SQL Server中的SID不一样。 由于此“SID不匹配”,此用户无法访问数据库。 如果它尝试,它会失败,并得到: “错误:18456,严重性:14,状态:5。 用户“DomainX \ UserX”login失败。 原因:找不到与提供的名称相匹配的login信息。 我从服务器和所有使用的数据库删除了用户,然后添加 – 并再次出现错误的SID! 而这个“新”用户仍然无法连接到数据库。 有两件事“磨我的齿轮”: 其他用户的SID如何匹配,只有一个不匹配? 如果其他用户没有问题(他们得到旧的SID),那么我可以假设在域控制器没有问题? 我已经find了很多有关两个现有用户(或孤立?)login的不同操作,但没有发现只是改变SID。 但主要问题是 – 如何更改MS SQL Server(版本11.0)中的一个用户的SID? 这甚至有可能吗? UPDATE 当我一直在想这个,我意识到我有一个错误的问题。 由于这个UserX是域用户,它不是SQL Server本地用户 – 这意味着我不能直接在SQL Server中更改SID。 我有两个相同的服务器(ServerA和ServerB),使用来自AD的相同用户。 在ServerB中,UserX具有正确的SID,并且可以在SQL Server中正常地进行身份validation(右侧的SID与AD中的方式相同)。 要清楚的是,UserX在ServerA中有错误的SID。 问题 – 如果此用户是来自Active Directory的域用户,那么在哪里以及如何更改其SID? 如果UserX可以在ServerB中进行身份validation,那意味着必须在Windows用户的ServerA中更改SID? 请纠正我,如果有些想法或想法走错了路。 更新2 我find了解决我的问题的办法,虽然没有回答这个问题。 对于任何感兴趣的人 […]

面对域组策略,如何作为虚拟账户的服务权限login?

我想使用虚拟帐户NT SERVICE \ MSSQLSERVER运行SQL Server服务的默认SQL Server安装程序。 这可以确保我的SQL Server在自己的机器上具有有限的访问权限,并且如果应该被黑客攻击,则不能访问networking资源。 但是,我们的域也有一个组策略,为其他几个(域)设置“login为服务”权限。 你可能已经猜到,或者甚至是经历过我的问题: 将域GPO应用于服务器(至less每天)时,它将撤消由SQL Server安装程序(或SQL Serverconfigurationpipe理器或其他本地计算机策略configuration)完成的“login为服务”权限分配。 然后在下一次SQL Server服务重新启动时(这可能是几个小时或几个月后),将阶段设置为错误“服务未启动”错误。 以下是我所知道的: 我无法将虚拟帐户添加到域GPO,因为它是机器本地SID。 域组策略会覆盖本地机器组策略,所以我将不得不对域组策略做些事情。 “用户权限分配”元素位于“计算机设置\ Windows设置\安全设置\本地策略设置”下,因此无法引用本地计算机帐户, 也许这是一个错误。 以下是我正在考虑的方法: 我可以删除应用login为服务的域GPO元素,并通过本地组策略(在一堆服务器上)执行此操作。 我可以将服务器移到没有应用此GPO元素的OU中。 目前违规的GPO是我的默认域策略,所以我不得不重构一些东西。 我可以在每台SQL Server计算机上运行一些工具,以便在域组策略运行之后重新build立“login即服务”权限,或者频繁地发生,以致于很less被发现。 有没有人有其他的build议或工作解决scheme给我?