随笔分类 - SQL Server
摘要:计算磁盘IOPS的三个因素:1、RAID类型的读写比不同RAID类型的IOPS计算公式:RAID类型公式RAID5、RAID3Drive IOPS=Read IOPS + 4*Write IOPSRAID6Drive IOPS=Read IOPS + 6*Write IOPSRAID1、RAID10...
阅读全文
摘要:转载自:http://blog.csdn.net/smithliu328/article/details/9996149在2008之前如果我们想要将表作为输入参数传递给SQL Server存储过程使比较困难的,可能需要很多的逻辑处理将这些表数据作为字符串或者XML传入。在2008中提供了表值参数。使用表值参数,可以不必创建临时表或许多参数,即可向 Transact-SQL 语句或例程(如存储过程或函数)发送多行数据,这样可以省去很多自定义的代码。这样的操作对于存储过程内基于表函数的操作变得非常容易操作。表值参数是使用用户定义的表类型来声明的。所以使用之前要先定义表类型。/*创建表类型.*/CR
阅读全文
摘要:http://www.cnblogs.com/Amaranthus/archive/2011/09/16/2178747.htmlEach line in the param.txt file looks like this:D:\testfile.dat 2 0x0 81920The four parameters are broken down like this.ParameterDescriptionValuesFile NameDrive, path, and name of the test file.L:\testfile.datNumber of ThreadsThread p
阅读全文
摘要:http://msdn.microsoft.com/zh-cn/library/ms186865.aspx数据传输选项BUFFERCOUNT={buffercount|@buffercount_variable}指定用于备份操作的 I/O 缓冲区总数。可以指定任何正整数;但是,较大的缓冲区数可能导致由于 Sqlservr.exe 进程中的虚拟地址空间不足而发生“内存不足”错误。缓冲区使用的总计空间由下面公式确定:buffercount*maxtransfersize。MAXTRANSFERSIZE={maxtransfersize|@maxtransfersize_variable}指定要在
阅读全文
摘要:性能监控列表:• Memory: Pages/sec (从硬盘上读取或写入硬盘的页数(参考值:00~20)• Physical Disk: % Disk time 或 Physical Disk: Avg. Disk Queue Length (磁盘驱动器为读取或写入请求提供服务所用的时间百分比,如果只有%Disk Time比较大,硬盘有可能是瓶颈 ||表示磁盘读取和写入请求提供服务所用的时间百分比,可以通过增加磁盘构造磁盘阵列来提高性能( 80%潜在因素包括内存不足、低查询计划重用率和未经优化的查询。Context Switches/sec系统> 5000 x 处理器数潜在因素包括服务
阅读全文
摘要:日志序列编号(LSN)是事务日志里面每条记录的编号。当你执行一次备份时,一些LSN值就被同时存储在文件本身及msdb..backupset表中。你可以使用RESTORE HEADERONLY语法来从备份文件中获取LSN值。注意:在SQL Server 2000中,有一列叫做DifferentialBaseLSN。但在SQL Server 2005中,相同的列名称变成了DatabaseBackupLSN。正解的列名应该是DatabaseBackupLSN,这个名称才能表达出它的意义,你可以从SQL Server 2000的联机丛书中找到相关说明。FirstFSN值是备份设备中第一个事务的日志序列
阅读全文
摘要:demo 表数据如下id NAME1 beijing--sesson 1 ---session 2BEGIN TRANUPDATE kaka SET NAME ='shanghai' WHERE id='1' SELECT * FROM kaka查看锁详细信息-----SELECT * FROM sys.dm_tran_locks dtl WHERE dtl.request_session_id IN (64,63) resource_description 1:303...
阅读全文
摘要:一: 生成快照的俩种方式:PS: 修改MSpublications 中的俩个参数。@allow_anonymous = N'false' ,@immediate_sync = N'false' :当发布中添加新项目后,创建初始化快照时,快照将以增量方式创建@allow_anonymous = N'true' ,@immediate_sync = N'true' :当发布中添加新项目后,创建初始化快照时,该发布下面所有项目的快照将全部重新初始化如果是以增量方式创建的发布,在用脚本向发布中添加项目时,该发布相关的订阅需重新创建,即再次
阅读全文
摘要:我们都知道SQL server的worker thread是SQL server 用来执行task的工作线程。Worker threads 的数目缺省是SQL server 动态创建的,需要多少就会创建多少,直到到达“max worker threads”的上限。如果你想改变缺省的worker threads,那么可以使用下面的脚步修改:exec sp_configure'show advance',1goreconfigure with overridegoexec sp_configure'max worker threads',500goreconfigu
阅读全文
摘要:代码如下: USE master; GO CREATE ENDPOINT BrokerEndpoint STATE = STARTED AS TCP ( LISTENER_PORT = 4037 ) FOR SERVICE_BROKER ( AUTHENTICATION = WINDOWS ) ; GO那么我们就需要开发4037端口。 同样的道理,如果我们要配置数据库镜像、SOAP访问等,那么也需要创建端点,同时开通端点中的端口。 除了以上介绍的端口外,如果要做数据库复制之类的,需要在数据库服务器上设置共享文件夹以方便多台服务器的数据传输的话,那么就还需要开通Windows共...
阅读全文
摘要:工作中有个合并Mssql和Postgresql的数据到Mysql的需求。苦战完毕,记录下来以分享下各种蛋疼~~~ Let‘s go ahead step by step。 环境: Win2008 ; Mssql 2008 R2+SP3; Mysql ; 一年之计在于春,立春之日,诸位看官请先设置好mysql 的字段类型和字符集( set names utf-8) (1) Windows下,Mysql不区分大小写,但是导入导出文件时是区分的。参数lower_case_table_names的值可取 0,1,2。0库名表名区分大小写 ,1库名表名不分大小写 ,2使用指定的大小写, 但显示的时候都.
阅读全文
摘要:添加约束:alter table table1 add constraintpk_name primary key (name) --添加主健约束,名称作为主健; alter table table1 add constraintpk_nameunique (name) --添加唯一约束,名称不能重复; alter table table1add constraint df_address default('地点不详') for saddress --添加默认约束,地点不详; alter table table1add constraint ck_age check (ages
阅读全文
摘要:具有以下三种特点:1、列的数据类型为不带小数的数值类型2、在进行插入(Insert)操作时,该列的值是由系统按一定规律生成,不允许空值3、列值不重复,具有标识表中每一行的作用,每个表只能有一个标识列。3、判段一个表是否具有标识列可以使用 OBJECTPROPERTY 函数确定一个表是否具有 IDENTITY(标识)列,用法:Select OBJECTPROPERTY(OBJECT_ID('表名'),'TableHasIdentity')如果有,则返回1,否则返回04、判断某列是否是标识列可使用 COLUMNPROPERTY 函数确定 某列是否具有IDENTITY
阅读全文
摘要:--察看當前進程CPUselect * from sysprocessesorder by cpu----调查当前占用 cpu 资源最高的会话和其中执行的语句select spid,cmd,cpu,physical_io,memusage,(select top 1 [text] from ::fn_get_sql(sql_handle)) sql_textfrom master..sysprocesses order by cpu desc-- 获取上面的信息后,需要根据实际情况具体分析此语句,如排序操作是否利用了聚集索引等等Select SQL AS EXEC_SQL,OBJTYPE AS
阅读全文
摘要:在sql server中有一个profiler的工具用于追踪sql server的执行过程,可以监控sql server的的所有过程。假如我们使用SSMS来操作sql server,那么在profiler中反映的就是ssms这个图形界面所对应的命令。我们在troubleshooting的时候一般都要求客户抓取这个profiler最终的trace文件,该文件名后缀是.trc。但是我们得到的这个trace文件可能很大,往往有几万甚至几十万条记录,那么我们如何来分析这个trace呢?这个时候我们就需要引入一些工具,在这里我们用到的是ReadTrace工具,他的下载地址是:RML Utilities
阅读全文
摘要:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。否则将追究法律责任。http://terryli.blog.51cto.com/704315/169601通过上2篇博文,我们了解了分区表的理论,这一节就开始实战。本篇博文的内容如下:1,建立分区表2,查询分区3,归档数据4,添加分区5,删除分区6,查看元数据PS下:最近收到很多朋友的消息和邮件,大多是关于数据库的问题,没有一一答复,由于平时工作比较忙,博客更新的比较慢,在这里说声抱歉。OK,我们以一个销售数据库场景开始分区表实战。第一步:建立我们要使用的数据库,最重要的是建立多个文件组。CREATEDATABAS
阅读全文
摘要:详细信息请参考:F1帮助如何创建跟踪 (Transact-SQL)declare @datestr char(8)set @datestr=convert(char(8),getdate(),112)declare @filename nvarchar(256)set @filename=@makedir+@datestrdeclare @rc intdeclare @TraceID intdeclare @maxfilesize bigintset @maxfilesize = 500exec @rc = sp_trace_create @TraceID output, 0,@filenam
阅读全文
摘要:在使用SQL Server存储过程或者触发器时,通常会使用自定义异常来处理一些特殊逻辑。例如游标的销毁,事务的回滚。接下来将会详细的介绍SQL Server自定义异常的使用。 使用“raiserror”来抛出自定义异常。如下代码:在存储过程中,抛出自定义异常,然后在catch块中捕获自定义异常。IF EXISTS (SELECT * FROM SYSOBJECTS WHERE name='my_sp_test' AND TYPE='P') BEGIN DROP PROCEDURE my_sp_test;END;GOcreate procedure my_sp_t
阅读全文
摘要:当SQLServer数据库越来越庞大,而其中的表有非常多的时候,想要知道到底是哪些表最耗存储空间,到底该怎样统计各个表的存储大小呢?其实SQLServer提供了一个sp_spaceused的系统存储过程可以实现该功能,下面就是调用的SQL:create table #tb(表名 sysname,记录数 int ,保留空间 varchar(10),使用空间 varchar(10) ,索引使用空间 varchar(10),未用空间 varchar(10)) insert into #tb exec sp_MSForEachTa...
阅读全文
摘要:SQL2008 的收缩日志 由于SQL2008对文件和日志管理进行了优化,所以以下语句在SQL2005中可以运行但在SQL2008中已经被取消: (SQL2005) Backup Log DNName with no_log go dump transaction DNName with no_log go USE DNName DBCC SHRINKFILE (2) Go -------------------------------------------------------------- (SQL200: 在SQL2008中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完全模
阅读全文

浙公网安备 33010602011771号