代码改变世界

随笔分类 - SQL SERVER

MSSQL 2008 Saving changes is not permitted. THe changes you have made require the following table to be dropped and re-created.

2012-08-05 18:48 by 周国选, 1841 阅读, 收藏, 编辑
摘要: When I try to update the schema of a table I have received a error below.“Saving changes is not permitted. THe changes you have made require the following table to be dropped and re-created. You have either made changes to a table that can’t be re-created or enabled the option Prevent saving changes 阅读全文

SQL数据库中修改表的所有者

2011-12-05 09:22 by 周国选, 1390 阅读, 收藏, 编辑
摘要: 单个修改所有者sql语句如下:查询分析器输入:EXEC sp_changeobjectowner 'user.table', 'dbo'user.table的意思为:所有者.表名,比如oblog.oblog_user,以前的语句表示将table这张表的所有者由user改成dbo批量修改所有者语句如下:查询分析器输入:exec sp_msforeachtable 'sp_changeobjectowner ''?'', ''dbo'''即可把当面表的所有所有者换成dbo批量修改视图和存 阅读全文

SQL、T-SQL与PL-SQL的区别

2011-08-22 18:03 by 周国选, 19816 阅读, 收藏, 编辑
摘要: SQL是Structrued Query Language的缩写,即结构化查询语言。它是负责与ANSI(美国国家标准学会)维护的数据库交互的标准。作为关系数据库的标准语言,它已被众多商用DBMS产品所采用,使得它已成为关系数据库领域中一个主流语言,不仅包含数据查询功能,还包括插入、删除、更新和数据定义功能.T-SQL是SQL语言的一种版本,且只能在SQL SERVER上使用。它是ANSI SQL的加强版语言、提供了标准的SQL命令。另外,T-SQL还对SQL做了许多补允,提供了数据库脚本语言,即类似C、Basic和Pascal的基本功能,如变量说明、流控制语言、功能函数等。PL-SQL(Pro 阅读全文

SQL Server 2005利用分区对海量数据的处理

2009-06-12 09:56 by 周国选, 610 阅读, 收藏, 编辑
摘要: 超大型数据库的大小常常达到数百GB,有时甚至要用TB来计算。而单表的数据量往往会达到上亿的记录,并且记录数会随着时间而增长。这不但影响着数据库的运行效率,也增大数据库的维护难度。除了表的数据量外,对表不同的访问模式也可能会影响性能和可用性。这些问题都可以通过对大表进行合理分区得到很大的改善。当表和索引变得非常大时,分区可以将数据分为更小、更容易管理的部分来提高系统的运行效率。如果系统有多个CPU或是多个磁盘子系统,可以通过并行操作获得更好的性能。所以对大表进行分区是处理海量数据的一种十分高效的方法。本文通过一个具体实例,介绍如何创建和修改分区表,以及如何查看分区表。 1 SQL Server 阅读全文

在查询中的每个表后面都加一个nolock是否合适?

2009-04-28 13:25 by 周国选, 808 阅读, 收藏, 编辑
摘要: 背景:目前参与的一个项目,我发现一个问题,就是大家在写查询时,为了性能,往往会在表后面加一个nolock,或者是with(nolock),其目的就是查询是不锁定表,从而达到提高查询速度的目的。这点可能很多朋友在做开发时都会遇到,不过如果说系统中的每个查询语句中的表都加上nolock,您是否同意这么做呢?在回答这个问题前我先说下几个问题: 什么是并发访问:同一时间有多个用户访问同一资源,并发用... 阅读全文

在sqlserver 中with(nolock)详解

2009-04-28 11:34 by 周国选, 29462 阅读, 收藏, 编辑
摘要: 所有Select加 With (NoLock)解决阻塞死锁 在查询语句中使用 NOLOCK 和 READPAST 处理一个数据库死锁的异常时候,其中一个建议就是使用 NOLOCK 或者 READPAST 。有关 NOLOCK 和 READPAST的一些技术知识点: 对于非银行等严格要求事务的行业,搜索记录中出现或者不出现某条记录,都是在可容忍范围内,所以碰到死锁,应该首先考虑,我们业务逻... 阅读全文

SQL SERVER 2005中使用sql语句对xml 文件和其数据的进行操作(很全面)

2009-04-15 13:41 by 周国选, 1589 阅读, 收藏, 编辑
摘要: 由于数据库对xml数据直接处理有很多优势,05也对这方面加强了功能。 --用SQL多条可以将多条数据组成一棵XML树L一次插入--将XML树作为varchar参数传入用--insert xx select xxx from openxml() 的语法插入数据-----------------------------------导入,导出xml--------------------------... 阅读全文

SQL Server数据库并发问题详述

2009-02-27 11:30 by 周国选, 2522 阅读, 收藏, 编辑
摘要: 问题背景及特点: 我们在使用多用户数据库时常常会碰到数据更新失败、删除失等情况,如果有多个用户且同时访问一个数据库则当他们的事务同时使用相同的数据时可能会发生并发问题。 并发问题包括: 1.丢失或覆盖更新。(幻像读) 2.未确认的相关性(脏读)。 3.不一致的分析(非重复读)。 周详描述: 1.丢失更新 当两个或多个事务选择同一行,然后基于最初选定的值更新该行时,会发生丢失更新问题。每个事务... 阅读全文

SQL Server 安装:以前的某个程序安装已在安装计算机上创建挂起的文件操作

2007-06-04 09:09 by 周国选, 207 阅读, 收藏, 编辑
摘要: 安装SQL Server 遇到错误提示:以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机!。找了半天,没发现什么一场程序,该机器上以前没安装过SQL Server。看看系统安装了什么软件? 3721 上网助手什么的赫然在目!删掉!还是不行,搜索了一下,发现这篇Blog最有价值:3)打开regedit注册表编辑器,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager中找到PendingFileRenameOperations项目,并删除它。这样就可以清除安装暂挂项目。看看本 阅读全文