Questions tagged «sql-server-2008-r2»

SQL Server 2008 R2(主要版本10.50.xxxx)。请同时用sql-server标记。

2
开发完成后重命名表的最佳方法
在SQL Server 2008 r2中重命名数据库表和列的最简单,最可靠的方法是什么?我们已经完成开发,由于某些原因,我们需要重命名一些表和一些列。 使用同义词是这样做的好方法吗?我们应该为哪些陷阱做好准备?它也有助于优雅地重命名列吗? 我们有很多与这些表相关的脚本,.net开发人员在应用程序中也引用了它们。



1
递归CTE性能
需要递归CTE性能方面的帮助。低于CTE的速度非常慢,因为它试图以回溯方式提取分层数据。表很大,每个根ID最多具有3个递归itemid。可能有大约200000或更多根ID。我知道对于大型数据集,递归CTE的速度很慢,因为锚中的每个rootid都会递归itemid。 架构: Create table RootItem (ItemId int primary key, RootIt int , insertdate datetime) 上表有超过一百万行。 CTE查询: ; With rootcte as ( select itemid from RootItem where rootid is null union all select r.itemid as RootId , i.itemid from RootItem i join rootcte r on i.rootid = r.itemid ) 我们无法修改表架构并使用继承权。我也尝试了while循环,但是那也很慢。 还有什么其他方法可以优化此查询? …

1
为什么禁用SQL Browser服务?
我在安装我们的产品的软件安装包中遇到间歇性问题(使用InstallShield / InstallScript编写)。在安装过程中,我们重新启动SQL Browser服务。在大多数情况下,这可以正常工作。但是偶尔-我还没有弄清楚如何可预测地重现-服务无法重新启动,并且在我的“服务”管理器中发现服务状态设置为“已禁用”。 有什么想法会导致该服务被禁用,以及如何防止它发生?

2
使用快照隔离功能,SQL Server数据库写入速度是否变慢?
我的系统中发生了很多僵局。 我想使用快照隔离来修复它们,但是我的DBA对此有保​​留。 他的关注点之一是快照隔离会减慢写入速度。这是因为它必须先写入缓存,然后再写入TempDb(行版本),然后才能返回到调用方。 “正常”写入可以只写入高速缓存,然后完成。 这是行版本控制的工作方式吗?还是比这更复杂?是否以某种方式并行执行这些操作? 还是快照隔离的写入速度较慢?

1
sp_send_mail的数据库权限出现问题
我正在尝试发送数据库邮件,但是却收到了EXECUTE permission denied on the object 'sp_send_dbmail' database 'msdb', schema 'dbo'.。我正在运行的代码如下: SELECT SUSER_NAME(), USER_NAME(); Create USER kyle_temp FOR LOGIN Foo EXECUTE AS USER = 'kyle_temp'; SELECT SUSER_NAME(), USER_NAME(); EXEC msdb.dbo.sp_send_dbmail @profile_name = 'Mail Profile', @recipients = 'test@test.com', @subject = 'Test', @body = 'Test' REVERT; DROP USER kyle_temp Foo登录显示它已映射到msdb中的Foo用户。当我查看msdb中的foo用户时,我看到它已检查“ DatabaseMailUserRole”,并且对dbo执行sp_send_dbmail。 我想念什么?

4
简单的SQL查询未完成[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 我还不太了解如何提出这个问题,因为我们还不了解,但是我想提早提出,因为这看起来像是不容忽视的事情。 本周,我们开始遇到数据库服务器的问题。它似乎是一个数据一致性问题,甚至在非常简单的查询和小型表上也通过超时来体现。我们通过在本周早些时候重新启动服务器来“解决”该问题,但该问题消失了,但是现在看来它又回来了,这次是在更关键的表上。例如,我刚刚进行了一些调查,并且正在查看这样的查询: SELECT * FROM table WHERE id = 1234 特定的ID。该表有大约30+百万行。但是,似乎只有一小部分记录会发生这种情况。我敢打赌,当我重新启动服务器或备份并在另一台服务器上还原数据库时,一切都会好的。但是我会努力的。 此时,我正在运行: DBCC CHECKTABLE ('table', NOINDEX) 但似乎它将永远持续下去。当我们第一次遇到问题时,我检查了违规表,一切都很好。这个新桌子更大了。 一些背景技术信息: SQL Server 2008 R2,Windows Server 2008 R2 AWS / EC2,m2.2xlarge,32 GB RAM,4 x 1TB RAID 0 几乎没有磁盘IO,似乎大多数数据库都在内存中 总数据库大小:100GB ELB卷是“全新的”。我们本周创建了它们。 编辑:我只是使用以下命令: SELECT sqltext.TEXT, req.session_id, req.blocking_session_id, req.wait_type, req.wait_time, req.last_wait_type, req.wait_resource, req.open_transaction_count, …

2
无法删除SQL Server 2008 R2登录
几天前,我已经创建了一个SQL Server登录名。现在,我需要删除相同的内容。因此,我进入了SQL Server Management Studio =>安全=>登录名,并选择了要删除的登录名。它显示一条信息性消息,内容为 删除服务器登录名不会删除与登录名关联的数据库用户。要完成此过程,请删除每个数据库中的用户。可能有必要先将模式的所有权转让给新用户。 忽略此消息,当我确认删除过程时,出现致命错误,提示: 登录“ iis_login”的删除失败。(Microsoft.SqlServer.Smo) 执行Transact-SQL语句或批处理时发生异常。(Microsoft.SqlServer.ConnectionInfo) 此登录名是1个工作的所有者。您必须先删除或重新分配这些作业,然后才能删除登录名。(Microsoft SQL Server,错误:15170) 当登录拥有所有作业(根据以上消息)时,如何删除登录。 问候,尼尔文。

2
我可以使用事务日志来重建数据库吗?
我们似乎丢失了一些数据,而且似乎没有可靠的备份。我们确实有巨大的事务日志,并且有人认为我们也许可以使用这些日志来回到某个特定点。 是否可以使用事务日志来帮助重建数据库? SQL Server 2008 R2,顺便说一句。 (x从stackoverflow发布)

2
与DBA讨论服务器升级项目-常见问题
我更多地是网络/ Windows管理员,我的任务是监督SQL Server升级项目。我需要与DBA会面,并讨论他们的升级需求。我不想完全失明,所以我想我先问你们。我们正在从SQL Server 2008迁移到SQL Server 2008 R2,并可能在可能的情况下迁移到Windows Server 2008 R2。作为一名DBA,您对这种升级有何担忧?您想同时看到什么吗?

3
有没有简单的方法来触发单个镜像数据库的自动故障转移?
我在具有自动故障转移配置的高度安全的sqlserver2008-R2单个实例上拥有3个镜像数据库。有没有一种方法可以触发仅1个数据库的自动故障转移? 我想模拟数据库实际上无法访问的位置,而不仅仅是单击SSMS中的“故障转移”按钮。我可以将端点停止在主数据库上,但这会使所有3个数据库无法访问,因为它们使用相同的端点。 如何仅禁用1分贝?

1
了解SQL Server权限
我针对我的SQL Server 2008 R2 Express Edition实例在SQL Server Management Studio中扎根。我正在尝试了解权限的工作方式。 我可以看到的是(通过许多这些实体的属性) 我的服务器登录名可以链接到数据库用户 我的数据库用户可以具有一个或多个数据库角色 数据库角色之一是拥有模式db_datawriter的db_datawriter 但是到那时,这条路变得很冷。模式db_datawriter在其属性下具有一个权限页面,该页面为空白。 究竟是什么定义了db_datawriter模式的权限?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.