在SQL Server 2008 R2(在Win2003上运行)上,我们遇到了通过域组进行login的问题 – login访问被授予服务器实例,但无法访问服务器上的某些数据库。 SQL服务器计算机是我们的AD域的成员,但不是域控制器。 我们在SQL Server上使用Windows身份validation。 我们为域组创buildSQL Serverlogin。 我们将用户映射设置为该服务器上的数据库XXX,我们启用angular色datareader,datawriter和ddladmin。 接下来会发生什么 – 属于这些组成员的域用户可以连接到SQL Server,但不能连接到这个数据库XXX。 如果用户“user1”尝试连接,他会得到错误“无法打开数据库XXX”login请求login失败login失败的用户“域\用户1”。 如果我手动将“domain \ user1”添加到数据库XXX并启用数据读取器,datawriterangular色,则user1没有任何连接问题。 奇怪的是,用户1可以连接到同一台服务器上的另外两个数据库 – 在这里也是通过一个AD域组,但是之前创build的一个不同的组,用户不是单独设置为这些数据库的用户。 这些数据库都是通过detach-attach从早期的SQL Server 2005安装中复制过来的,并且在SQL-2005上工作正常,而且现在也可以在SQL-2008 R2服务器上正常工作。 (它们在数据库属性中显示与有问题的数据库XXX相同的用户帐户)。 数据库XXX是在该R2服务器上创build的新数据库,AD域组也是新的。 我现在可以手动添加用户作为解决方法,但这不会永远工作,我需要一个提示,因为这里出了什么问题。 其他数据 – SQL Server服务在域pipe理员帐户上运行。 我发现了一篇描述SQL Server 2005完全相同的问题的文章: https : //connect.microsoft.com/SQLServer/feedback/details/248615/login-fails-when-user-is-granted-access-via-a -domain-group但是从2006年开始,对解决scheme没有任何线索,应该假定它已经被修复了。
我有一个托pipe的虚拟机,有大约20个客户端网站。 许多使用目前SQL Server 2008 R2(不是评估)的数据库。 由于即将到来的授权问题,我需要使用当前的主机切换到SQL Server的Web版。 是否可以在已安装SQL Server 2008 R2的盒子上安装SQL Server Web Edition? 如果这是不可能的,有人可以build议这个开关最好的过程?
我们最近将虚拟化SQL数据库迁移到主动/主动群集中的裸机解决scheme。 除了SQL Reports,一切都很好。 好吧,我们的设置在这里是与SQL和Reports相关的: XXYYSQ01是我们的旧虚拟SQL服务器,现在运行Reporting Services。 XXYYSQ1是一个新的SQL服务器,运行在裸机上。 它不包含我们试图访问的数据库。 XXYYSQ2是另一个新的裸机SQL服务器。 它运行我们正在寻找访问的数据库。 SQLCLUSTERDB \ DATABASE是托pipe我们希望访问的数据库的集群实例的名称。 现在,当有人访问他们的桌面上的报告服务网站,并试图运行一个报告,他们得到可怕的login失败,用户'NT AUTHORITY \ ANONYMOUS LOGON'错误。 因此,我为Reporting Services的服务用户添加了所需的SPN: H:\>setspn -L DOMAIN\ssrs-user Registered ServicePrincipalNames for CN=ssrs-user,OU=Systems,DC=domain,DC=local: MSSQLSvc/SQLCLUSTERDB.domain.local:DATABASE MSSQLSvc/SQLCLUSTERDB:DATABASE http/xxyysq01 刷新和….仍然无法正常工作。 我的Googlesearch引导我将服务用户作为操作系统的一部分添加到Act中,并且在身份validation用户权限之后模拟客户端 。 依然没有。 我前往错误日志。 XXYYSQ01提供以下内容: An account was successfully logged on. Subject: Security ID: NULL SID Account Name: – Account Domain: – Logon ID: […]
我们的应用程序运行在具有4核CPU,8GB RAM和Sql Server 2008 R2标准版(10.50.1600.1)(64位)的服务器上。 服务器专用于Sql Server,没有其他繁重的服务正在运行。 我们将最小/最大内存使用分别设置为4 / 6.4 GB。 AWEclosures,locked_page count始终为0. Sql Server的处理器关系自动维护,Windows的虚拟内存pipe理也设置为auto。 问题是,物理内存使用永远不会超过723 MB。 即使在后台运行重负载报告时也是如此。 我们正面临着巨大的locking等待。 服务器运行在我们认为是问题原因的虚拟机上,但在迁移到物理服务器后仍然存在。 什么可以限制内存使用量? 编辑(OS):Windows 8.1。 数据库以前在具有几乎相同的容量的虚拟Windows 2008服务器上运行。 为了testing目的,移到这个。 足够的应用程序configuration。 我试过页面locking。 将网页locking权限授予运行服务的NETWORKSERVICE用户,使用组策略设置。 然后打开AWE。 没有帮助。 编辑(locking):这有一个明显的原因。 我们的手持设备在Sql Server CE上离线传输数据。 一旦他们开始将他们的日常数据传输到主数据库,由于长时间运行的交易,其他客户端等待获取锁,主要是LCK_M_S。 尽pipePDA逐行传输数据,但由于索引,引擎大多会locking多个页面。 我们不知道如何解决这个问题,因为我们不能select不使用交易。 下面你可以看到来自同一个应用程序的两个安装的一些指标。 在这个问题中右列值属于服务器。 而左边的属于最大的实现。 第一个显然需要更多的记忆。 Total Mem (GB) 14 8 Mem Used by SQL Server (GB) 12,5 0,5 […]
我有一个BizTalk服务器和BizTalk通过WCF-SQL发送消息的SQL服务器。 BizTalk服务器已经调用了这个服务器一年以上没有问题。 我今天早上突然来不及(周五正在工作)。 调用WCF-SQL端点时得到的完整错误是: A message sent to adapter "WCF-SQL" on send port "MyPort" with URI "mssql://mySQLServer" is suspended. Error details: System.Transactions.TransactionManagerCommunicationException: Communication with the underlying transaction manager has failed. —> System.Runtime.InteropServices.COMException: The MSDTC transaction manager was unable to push the transaction to the destination transaction manager due to communication problems. Possible causes are: a […]
我试图委托KERBEROSauthentication从SQL Server到OLEDB上的文件服务器 。 是否有一个特定的服务原则名称用于将凭据从SQL Server委派给文件服务器? 例如,如果我运行一个SQL Server实例,我必须为它运行一个域用户名…我必须创build一个SPN例如: setspn -S MSSQLSvc/someserver.example.org:50000 example\SQL_srv_account setspn -S MSSQLSvc/someserver:50000 example\SQL_srv_account 那么,我会为运行SMB的LanmanServer / Server服务设置什么? 我想我的问题是,如果我的SMB服务器在端口445上运行,那么我的命令应该如何设置SPN? setspn -S <what-goes-here?>/someotherserver.example:445 example\SMB_srv_account setspn -S <what-goes-here?>/someotherserver:445 example\SMB_srv_account <what-goes-here?>不会是cifs吗? PS这是一个在serverfault和dba stackexchange之间有一些重叠的问题。
我有两个SQL Server 2008 R2服务器,一个用于PROD,另一个用于DR。 我正在尝试为名为School的数据库添加日志传送。 迄今为止的步骤 备份学校数据库 使用UI还原数据库或使用以下SQL语句即 Restore database "School" from disk ='t:\Data\School.bak' with NoRecovery 。 结果是数据库卡在还原中 如果我Restore database "School" from disk ='t:\Data\School.bak' with recovery.恢复数据库与Restore database "School" from disk ='t:\Data\School.bak' with recovery. 数据库还原完成但日志传送失败。 我删除了数据库,并重新创build它使用Restore database "School" from disk ='t:\Data\School.bak' with NoRecovery但它仍然卡在**Norecovery** 。 有没有办法,我可以恢复数据库,以便不卡在恢复状态,我可以完成日志传送。
我们的数据库最近恢复了。 这引起了一些真正的悲伤。 是否有审计机制来确定谁执行了最近的恢复? 谢谢。
我需要能够复制类似于复制数据库向导在SQL Server中完成的数据库,但是以更自动化(即命令行)的方式。 我正在写一个小的应用程序在C#中,使一个网站(文件和数据库)的副本。 有没有办法执行SQL Server 2008中的复制数据库向导在命令行/ C#中执行的任何操作?
有没有办法来检查每个数据库的最后一次完整性检查运行? 我知道服务启动时它检查这些值,所以它们存在,他们可能写在数据库头信息。 顺便说一下,我想要一个T-SQL解决scheme。