SQL Server
YapingXin
航天/航空/军工装备行业,航电系统、遥测/测发控系统、系统故障诊断、预测与健康管理(PHM)高级系统架构师。
展开
-
SQL Server:验证数据库备份文件
最近有一次,在从一份数据库备份文件(.bak)时,遇到了以下错误:The media family on device is incorrectly formed. SQL Server cannot process this media family Error: 3241遇到这样的错误,可能是由两种原因引起的:(1) 在高版本的SQL Server数据库中备份得到备份文件,然后试图在低原创 2012-05-28 04:04:56 · 3876 阅读 · 0 评论 -
SQL Server: 对T-SQL语句进行性能分析
清除SQL Server的数据和过程缓冲区在对SQL语句进行性能分析前,首先要执行以下命令(但禁止在在线服务器上执行此命令!)以清除SQL Server的数据和过程缓冲区:DBCC DROPCLEANBUFFERS;DBCC FREEPROCCACHE;GONotes:这两条命令的作用是清除SQL Server的数据和过程缓冲区,使得我们进行性能分析时,每次原创 2014-02-24 12:17:32 · 4182 阅读 · 0 评论 -
T-SQL Tips: update / delete 与 inner join 的组合
For example:update tblA set tblA.[Value]=tblB.[Value] from tblA inner join tblB on tblA.Key=tblB.Key;delete from tblA from tblA inner join tblB on tblA.Key=tblB.Key where tblB.[Value] = 0;原创 2013-01-31 22:31:24 · 4770 阅读 · 1 评论 -
T-SQL Tips: 存储过程示例(典范)
代码如下:SET ANSI_NULLS ON;SET QUOTED_IDENTIFIER ON;GO/* ===========================================================================CIU_PCUDefaultStreams_SPAuthor: Yaping XinCreate date: Novemb原创 2013-11-24 03:45:04 · 2930 阅读 · 0 评论 -
T-SQL Tips: dbo.ParseJSON Revision 17202 date 2013-11-24
更新《T-SQL Tips: 解析Json字符串》一文中提到的JSON解析函数:dbo.ParseJSONRevision: 17202Author: Yaping XinDate: Sunday, November 24, 2013 3:01:03 AMMessage:dbo.ParseJSON: support the output column for boole原创 2013-11-24 03:38:51 · 3809 阅读 · 0 评论 -
T-SQL Tips: convert varchar to varbinary
SQL Server 2008在SQL Server 2008、2008R2、2012及更新的版本中,这个转换非常容易,直接用 CAST 或者 CONVERT 语句就能转。详细说明请看:http://msdn.microsoft.com/en-us/library/ms187928.aspx代码示例:declare @hexString varchar(max);set @h原创 2013-11-01 09:28:36 · 4443 阅读 · 0 评论 -
T-SQL Tips: How to raise error in user defined function
在存储过程中,可以通过RAISERROR抛出一个错误。例如:RAISERROR('dbo.sp_LinkMessage is incomplete', 16, 127);但是,在自定义函数(User defined function)中,不能使用RAISERROR。详见:http://www.sommarskog.se/error-handling-I.html#UDF如果原创 2013-10-31 10:35:49 · 2177 阅读 · 0 评论 -
T-SQL Tips: convert varbinary to varchar
SQL Server 2008在SQL Server 2008、2008R2、2012及更新的版本中,这个转换非常容易,直接用 CAST 或者 CONVERT 语句就能转。详细说明请看:http://msdn.microsoft.com/en-us/library/ms187928.aspx举例:declare @hexBinary varbinary(max);set @hex原创 2013-11-01 09:20:32 · 3168 阅读 · 0 评论 -
T-SQL Tips: 用全局变量 @@version 查询服务器版本
语句:select @@version;结果:SQL Server 2005的查询结果示例:Microsoft SQL Server 2005 - 9.00.5057.00 (Intel X86) Mar 25 2011 13:50:04 Copyright (c) 1988-2005 Microsoft Corporation Standard Edit原创 2013-11-01 09:13:06 · 3825 阅读 · 0 评论 -
T-SQL Tips: 通过Json字符串传递一个数组
我们借助上一篇文章的Json解析函数,通过Json字符串传递一个数组。示例如下:Select * into #jsonTablefrom dbo.ParseJSON('{"item": { "Old_ID": 1, "New_ID":2 }"item": { "Old_ID": 3, "New_ID":4 }}');create table #inputParams(原创 2013-10-31 15:38:38 · 2606 阅读 · 0 评论 -
T-SQL Tips: Convert varchar to bigint
在SQL Server 2012或更高的版本中,可以使用TRY_CONVERT函数来进行这样的转换。见:http://msdn.microsoft.com/en-us/library/hh230993.aspx在SQL Server 2005、2008、2008R2版本中,我们可以自己写一个这样的函数。代码如下:IF EXISTS (SELECT * FROM sys原创 2013-10-31 07:24:21 · 3824 阅读 · 0 评论 -
T-SQL Tips: 解析Json字符串
定义一个用户自定义函数,用来解析Json字符串。代码如下:SET ANSI_NULLS ON;SET QUOTED_IDENTIFIER ON;GOIF NOT EXISTS( select * from sys.objects where object_id = OBJECT_ID(N'dbo.ParseJSON') AND type in (N'FN', N'IF原创 2013-10-31 15:22:18 · 4822 阅读 · 0 评论 -
SQL Server: 利用 SET STATISTICS IO 和 SET STATISTICS TIME 对T-SQL语句进行性能分析
我们可以用 SET STATISTICS IO 和 SET STATISTICS TIME 对T-SQL语句进行性能分析。方法如下:在SQL Server查询分析器里面,执行:SET STATISTICS profile ONSET STATISTICS io ONSET STATISTICS time ONGO-- // The SQL statement t原创 2013-06-21 19:02:27 · 5156 阅读 · 2 评论 -
SQL Server: Add column with default value and description in T-SQL
假设我要在表 dbo.tblBinaryCommand 中添加一个新字段 ProtocolId,并且在添加字段的时候指定数据类型为 bigint,不允许为空,默认值为 -1,我还想给这个字段加一段Description,如下:Message protocol id refer to Protocol definition table tblProtocol column ProtocolId.原创 2012-07-19 20:09:01 · 3308 阅读 · 0 评论 -
SQL Server: T-SQL Alternative to 'CREATE OR REPLACE' in PL/SQL
'CREATE OR REPLACE' SQL statement is used widely in PL/SQL (supported in Oracle, PostgreSQL, etc). It is very useful in SQL script files which help user to build up database objects.But in T-SQL (su原创 2012-06-12 16:31:56 · 1836 阅读 · 0 评论 -
SQL Server: Why Scope_Identity() vs @@identity
In SQL Server we have 3 methods to get the auto-generated identity:1. IDENT_CURRENT(‘tablename’)2. @@IDENTITY3. SCOPE_IDENTITY() But the methods above have some difference:原创 2012-06-04 17:38:51 · 1156 阅读 · 0 评论 -
SQL Server:INFORMATION_SCHEMA.columns vs sys.columns vs syscolumns
首先,sys.columns vs syscolumns,这个自不必多说。sys.columns是SQL Server从2005版本起引入的新的系统级视图。相关链接如下:Mapping SQL Server 2000 System Tables to SQL Server 2005 System Viewshttp://technet.microsoft.com/en-us/lib原创 2012-05-31 18:24:51 · 4388 阅读 · 0 评论 -
SQL Server: collation conflict between "Chinese_PRC_CI_AS" and "SQL_Latin1_General_CP1_CI_AS"
Issue: Cannot resolve the collation conflict between "Chinese_PRC_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation.Issue在某跨国企业,有一天,DBA在北京这边建立了一个用于测试的数据库服务器,这个DB Server我们就称为原创 2014-03-13 12:06:53 · 12060 阅读 · 2 评论