Questions tagged «sql-server-2012»

SQL Server 2012(主要版本11.00.xxxx)。还请标记sql-server。


1
结合全文本和标量索引
假设我们有一个1200万个名称和地址的数据库,这些数据库需要使用全文本进行搜索,但是每行也包含一个整数值,例如COMPANYID。该表在这1200万行中包含约250个不同的COMPANYID。 定义全文索引时,是否可以COMPANY在树中赋予每个索引自己的“分支”?

3
AlwaysOn可用性组log_send_rate
在所有在虚拟机和裸机上运行Windows 2012和SQL Server 2012的AlwaysOn设置上,我发现log_send_rate sys.dm_hadr_database_replica_states始终返回错误值。 例如(对于同步模式) sys.dm_hadr_database_replica_states.log_send_rate(ave = 36,571(kb / s在bol中列出)) Perfmon-SQLServer:可用性副本-发送到副本/秒的字节数(最大值= 486,000.000,平均= 259,000.000) Perfmon-SQLServer:Databases-刷新的日志字节/秒(最大值= 653,044.000,平均= 341,000.000) 我还没有看到任何关于此的帖子,但它似乎无法正常工作。正确的log_send_rate值对于监视AlwaysOn很有用。 其他人有没有经历过?

2
为所有用户创建的数据库设置简单的恢复模式并收缩日志文件
希望您能指出正确的方向。我不是T-SQL的经常用户,但是我做了一些Google搜索,并在下面找到了脚本。我纠正了一下脚本。 我希望脚本执行以下操作: 选择除系统数据库之外的所有数据库。 要将恢复设置为简单。 收缩每个db(.ldf)的日志文件,系统db除外 剧本: USE MASTER declare @isql varchar(2000), @dbname varchar(64) declare c1 cursor for select name from master..sysdatabases where name not in ('master','model','msdb','tempdb','ReportServer','ReportServerTempDB') open c1 fetch next from c1 into @dbname While @@fetch_status <> -1 begin select @isql = 'ALTER DATABASE @dbname SET RECOVERY SIMPLE' select @isql …

2
在计算字段上创建索引:字符串或二进制数据将被截断
我有一个Foo包含以下字段的表: ID bigint not null identity(1,1), SerializedValue nvarchar(max), LongValue as TRY_CAST(SerializedValue as bigint) 现在,我想在LongValue上创建一个索引,以便可以轻松地查找表示数字的序列化值。 create nonclustered index IX_Foo on Foo(LongValue); 这会向我吐出以下错误: 字符串或二进制数据将被截断。 是的,SerializedValue中有现有数据。但是,祈祷可以通过在计算字段上创建索引来截断什么呢?

5
SQL Server 2012永远在线备份,完全备份与仅复制
我需要快速说明仅复制备份还是完全备份,因为它与事务日志编号和还原有关(如果需要)。 我有始终打开多个数据库的SQL Server 2012安装程序。可用性组是使用副本上的首选备份设置的。 副本上只能进行仅复制和事务日志备份。这是否意味着如果需要还原事务日志,则需要在主数据库上进行完整备份吗? 谢谢

2
SQL Server性能:PREEMPTIVE_OS_DELETESECURITYCONTEXT主导等待类型
我昨天接到一个客户的电话,该客户抱怨他们的SQL Server上的CPU使用率过高。我们正在使用SQL Server 2012 64位SE。服务器正在运行Windows Server 2008 R2 Standard,2.20 GHz Intel Xeon(4核),16 GB RAM。 在确定罪魁祸首实际上是SQL Server之后,我在这里使用DMV查询在顶部等待实例。前两个等待是:(1)PREEMPTIVE_OS_DELETESECURITYCONTEXT和(2)SOS_SCHEDULER_YIELD。 编辑:这是“最等待查询”的结果(尽管有人违反了我的意愿今天早晨重新启动了服务器): 我们进行了大量的计算/转换,所以我可以理解SOS_SCHEDULER_YIELD。但是,我很好奇PREEMPTIVE_OS_DELETESECURITYCONTEXT等待类型以及为什么它可能是最高的。 最好的说明/讨论,我可以找到这个等待类型,可以发现在这里。它提到: PREEMPTIVE_OS_等待类型是离开数据库引擎的调用,通常是对Win32 API的调用,它们正在SQL Server外部执行代码以执行各种任务。在这种情况下,它将删除以前用于远程资源访问的安全上下文。相关的API实际上被命名为DeleteSecurityContext() 据我所知,我们没有任何外部资源,例如链接服务器或文件表。而且,我们不进行任何模拟操作,等等。备份是否可能导致备份激增或域控制器出现故障? 到底什么会导致这成为主要的等待类型?如何进一步跟踪此等待类型? 编辑2:我检查了Windows安全日志的内容。我看到了一些可能感兴趣的条目,但不确定这些是否正常: Special privileges assigned to new logon. Subject: Security ID: NT SERVICE\MSSQLServerOLAPService Account Name: MSSQLServerOLAPService Account Domain: NT Service Logon ID: 0x3143c Privileges: SeImpersonatePrivilege Special privileges …

1
UserDB选择结果的特定TempDB插入将SOS_SCHEDULER_YIELD中的结果转换为ENCRYPTION_SCAN
我们的其中一个生产系统出现了一个问题,即从我们的用户数据库向临时表插入一条插入语句。当我注释掉插入/选择时,有问题的存储过程会及时运行,因此我对问题的隔离很有信心。 当我取消注释有问题的插入/选择时,调用的一系列存储过程基本上停止了。在tempdb或我们的任何用户数据库中,我看不到“按年龄划分的热门交易”中的任何内容。当数据库处于“静止”状态时,我看不到活动监视器中有任何偏离活动监视器信息的东西,除了CPU的平坦度约为20%。 行为如下:当我设置然后执行重现情况时,到达有问题的插入/选择时,我看到一个SOS_SCHEDULER_YIELD并有一个ENCRYPTION_SCAN。大约五个小时后,我将看到对存储过程的处理恢复并且该活动将完成(我在每个不同的操作周围放入了快速且肮脏的日志语句)。 我还用执行时的值替换了插入的选择部分中的变量,并运行选择查询本身,并在五秒钟内将其返回。 有问题的用户数据库的加密启用值为FALSE,tempdb也是如此。有问题的操作发生在大约65k行数据上,我仅用1k行进行了尝试,并且这种行为仍然存在,尽管花费的时间要少得多。 单个用户数据库是此行为的唯一实例。我已经通过该用户数据库的备份在本地复制了它。我们还有大约70个该软件的其他用户没有出现此问题。 鉴于上述信息,我的问题是,为什么我们的存储过程停止处理?由于可能希望获得一个准确的答案,因此调试此错误的正确步骤是什么?DMV之一中可能有某些东西,例如dm_tran_locks,dm_exec_requests,dm_tran_database_transactions,dm_os_schedulers,dm_exec_sessions,尽管它们为我提供了一些信息,但我并没有以指向解决方案的方式来解释或理解输出。 以下是有问题的插入/选择: INSERT INTO #TS_EVENT_DATA ( EVENT_FK, EVENT_TYPE_CR_FK, EVENT_ENTITY_CLASS_CR_FK, userDatabase_ID, DATA_NAME_FK, IMPORT_JOB_FK, PRODUCT_STRUCTURE_FK, ORG_ENTITY_STRUCTURE_FK, ENTITY_CLASS_CR_FK, ENTITY_DATA_NAME_FK, ENTITY_STRUCTURE_FK, DATA_SET_FK, DATA_TYPE_CR_FK, ORG_IND, TABLE_NAME, NET_VALUE1_NEW, NET_VALUE2_NEW, NET_VALUE3_NEW, NET_VALUE4_NEW, NET_VALUE5_NEW, NET_VALUE6_NEW, NET_VALUE1_CUR, NET_VALUE2_CUR, NET_VALUE3_CUR, NET_VALUE4_CUR, NET_VALUE5_CUR, NET_VALUE6_CUR, PERCENT_CHANGE1, PERCENT_CHANGE2, PERCENT_CHANGE3, PERCENT_CHANGE4, PERCENT_CHANGE5, PERCENT_CHANGE6, VALUE_UOM_CODE_FK, ASSOC_UOM_CODE_FK, VALUES_SHEET_NAME, UOM_CONVERSION_FACTOR, END_DATE_CUR, …

1
SSIS组织
我对SSMS很熟悉,但是我从未使用过.net,c#或visual studio(曾经做过其他事情:汇编程序,c,unix,vi,oracle等)。 我试图找出基本的2012 SSIS ETL(没有BI或数据仓库),却找不到任何能解释所有这些如何组合的东西: 目录 解决方案 项目 包还有其他吗? 说我只想使用SSIS建立一个简单的测试,将一个文件导入到一个表中,以上哪个是必需的,我按什么顺序创建它们? 另外,您是否具有指向SSIS 2012 ETL基本概述和/或如何撰写文章的良好链接。


2
在SSIS 2012中,将程序包标记为“入口点”程序包的目的是什么
在Visual Studio设计器中,您可以右键单击SSIS包,并将其指定为“入口点”包” 进行搜索时,我在MSDN上找到了该页面,该页面指出: 值1表示该程序包旨在直接启动。值为0表示该软件包将由具有Execute Package任务的另一个软件包启动。预设值是1。 启用和禁用此标志后,我已经能够直接执行包。 启用或禁用此标志的目的是什么?仅仅是记录您自己的SSIS软件包的意图,还是启用或禁用SQL Server / SSIS时其行为有所不同?

1
无法识别的系统进程使CPU饱和
今天,由于主站点“带宽”已消失,我们已切换到备用DC。 最强大的数据库服务器给我们带来了麻烦。它为服务器上的多个数据库产生了以下过程。一个数据库只是用于维护工具的小型临时数据库,因此不能复制或镜像。 有人知道或识别以下代码吗? () select table_id, item_guid, oplsn_fseqno, oplsn_bOffset, oplsn_slotid from [<dbname>].[sys].[filetable_updates_2105058535] with (readpast) order by table_id

3
是否可以独立安装SQL Server Management Studio Express?
我想知道是否将SQL Server Management Studio Express(主要用于Microsoft SQL Server)安装在独立的计算机上(没有任何SQL Services和其他东西)以连接到远程数据库吗? 我运行SQL Server 2012;我的一位经理告诉我,他们希望我为指定用户创建一个Web UI,以运行查询/更新数据库。这是我在PHP的能力范围内;但是我想着想,我可以提出一个建议,以消除对Web UI的需求,因为这将花费我们服务器管理员的大量时间,但是要在我们的网络计算机上安装SMSE来连接/管理数据库吗? 这可能吗?还是我必须完成创建显示模式,表等的WebUI的艰巨任务。

1
使用复制数据库向导时发生超时过期错误
微软让我相信,SQL Server 2012复制数据库向导是将SQL Server 2000数据库复制到SQL Server 2012的最佳方法。经过几个小时的努力,我得以解决一些问题,并且能够导入到将中等大小的SQL Server 2000数据库转换为SQL Server 2012。 但是,对于30GB的数据库,该向导始终会失败,并出现以下错误: 消息:传输数据时发生错误。有关详细信息,请参见内部异常。 StackTrace:在Microsoft.SqlServer.Dts.Tasks.TransferObjectsTask.TransferObjectsTask.TransferDatabasesUsingSMOTransfer() 处的Microsoft.SqlServer.Management.Smo.Transfer.TransferData() InnerException->超时已过期。在操作完成之前超时或服务器没有响应。 CREATE DATABASE失败。列出的某些文件名无法创建。检查相关错误。 StackTrace: 位于System.Data.SqlClient.SqlConnection.OnError(SqlException异常,布尔值BreakConnection), 位于System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() 在System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior,SqlCommand cmdHandler,SqlDataReader dataStream,BulkCopySimpleResultSet bulkCopyHandler,TdsParserStateObject stateObj) 我已经仔细检查过,这不是文件路径,权限或磁盘空间问题。我认为该CREATE DATABASE步骤需要2分钟左右的时间,并且向导假定操作已超时。我手动创建了一个具有相同文件路径的空数据库,并使用SQL进行了文件大小调整,这是可行的。有趣的是,一个1GB的数据库副本由于相同的错误而失败,并在第二次尝试中成功。 请帮忙。

2
可用性组如何与预定作业和SSIS包一起使用?
我在AlwaysOn可用性组中的数据库中设置了2个SQL Server。 我还设置了针对数据库运行的作业。在故障转移期间,如何确保作业将继续在辅助服务器上运行?我是否需要在两台计算机上都安装作业和SSIS软件包,并在辅助计算机上手动禁用它们...然后在发生故障转移时手动启用它们?还是有内置的功能来解决这个问题?

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.