通过在 Microsoft SQL Server 中托管 CLR(称为 CLR 集成),开发人员可以在托管代码中编写存储过程.触发器.用户定义函数.用户定义类型和用户定义聚合函数, 改变了以前只能通过T-SQL语言来实现这些功能的局面.因为托管代码在执行之前会编译为本机代码,所以,在有些方案中可以大大提高性能. 1. 编写C#代码,编译成.NET 3.5的dll public class Program { [SqlTrigger(Name = @"UsersAudit", Targe…
原文:SQL点滴7-使用SQL Server的attach功能出现错误及解决方法 今天用SQL Server 2008的attach功能附加一个数据库,出了点问题,提示的错误是: Unable to open physical file "D:\Documents\Dalt\XXXX.mdf" Operating system error 5: "5(error not found)" (Microsoft SQL Server: Error 5120)"…
一.简介 Microsoft SQL Server 2005之后,实现了对 Microsoft .NET Framework 的公共语言运行时(CLR)的集成.CLR 集成使得现在可以使用 .NET Framework 语言编写代码,从而能够在 SQL Server 上运行,现在就可以通过 C# 来编写 SQL Server 自定义函数.存储过程.触发器等.我最初的目的是因为在 SQL Server 数据库中遇到数字的十进制与十六进制的互相转换问题,也看过一些方法吧,但是最后我却选择了用 CLR…
最近做一个项目,需要做一个SQL SERVER 2005的CLR的存储过程,研究了一下CLR的实现.为方便以后再使用,在这里总结一下我的实现流程,也供对CLR感兴趣但又不知道如何实现的朋友们做一下参考,如果有不同意见,望多指教.在这里先以实现CLR存储过程为例子来进行说明. 1.首先,启用数据库的CLR功能 sp_configure 'clr enabled', 1; GO RECONFIGURE; GO 2.即然是要创建CLR存储过程,那么…
Microsoft SQL Server 现在具备与 Microsoft Windows .NET Framework 的公共语言运行时 (CLR) 组件集成的功能.CLR 为托管代码提供服务,例如跨语言集成.代码访问安全性.对象生存期管理以及调试和分析支持.对于 SQL Server 用户和应用程序开发人员来说,CLR 集成意味着您现在可以使用任何 .NET Framework 语言(包括 Microsoft Visual Basic .NET 和 Microsoft Visual C#)编写…
放假之前老大跟我提起了一下2016有个有趣的功能叫 Temporal Table ,今天去看了一下资料整理一下. 这个功能看上去像是临时表,但是其实是系统维护的一个历史记录表.(在某个程度上面比起我们手动维护的历史表应该方便了一点的) 简单直接的说,它的界面看起来是这样的(就像是T1一样) 创建了之后,就会在下面有一个T1History的表中表来记录. 然后我们来试下怎么去玩这个功能.首先,确认你的Sql Server 版本是2016.然后我们通过一个这样的语句来创建表 Use Test go…
USE t; GO --开启某个数据库的CDC功能 exec sys.sp_cdc_enable_db GO --is_cdc_enabled栏位为1代表开启CDC功能了 SELECT is_cdc_enabled,CASE WHEN is_cdc_enabled=0 THEN 'CDC功能禁用' ELSE 'CDC功能启用'END 描述 FROM sys.databases WHERE NAME = 't' --开启单张表的CDC功能 EXEC sys.sp_cdc_enable_table…
本文转自:http://blog.netnerds.net/2008/02/create-a-basic-sql-server-2005-trigger-to-send-e-mail-alerts/ For as many times as I have read about sending e-mails using SQL Server triggers, I've rarely come across actual code samples. After someone asked for…
因工作需要写了个CLR存储过程枚举目录文件并返回结果集 using System; using System.IO; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data; using System.Data.SqlClient; using System.Data.SqlTypes; using Microso…
1) CLR不支持C#类方法重载(Method Overload) 今天打算写个枚举目录的C# CLR存储过程,结果发现原来CLR不支持方法重载. Msg 6572, Level 16, State 1, Procedure GetFileList, Line 12More than one method, property or field was found with name 'GetFileList' in class 'StoredProcedures.EnumerateSourceF…
最近因调研Linq to object 和Linq to Entity的数据组合查询问题,需要用到Sql Server Profiler检测在数据上执行的语句,在调试sql语句时,给了很大的帮助. 这里简述下SQL Server Profiler使用过程中常用到的功能.(转载自:http://www.cnblogs.com/sdner/p/8043612.html) 这里使用SQL Server 2008 R2版本 1. 在安装SQL Server 数据库时,请保证安装了SQL Server P…
1.TOP 子句 TOP 子句用于规定要返回的记录的数目. 对于拥有数千条记录的大型表来说,TOP 子句是非常有用的. SQL Server 的语法: SELECT TOP number|percent column_name(s) FROM table_name 2.’%%’查询 我们希望从上面的 "Persons" 表中选取居住的城市以 "A" 或 "L" 或 "N" 开头的人: 我们可以使用下面的 SELECT 语句:…
SQL Server 2016对INSERT INTO XXXX SELECT语句进行了优化,在某些情况下可以触发数据的并行插入,但是要求兼容模式是130(SQL Server 2016)以及在插入的时候加表锁(WITH(TABLOCK)).那是不是大部分情况都能触发,并不是.除了上面提到的两点必要条件,还有苛刻的限制条件:1)不能有额外的索引,目标表只能是堆或者聚集索引的存储模式:2)表不能有SEQUENCE字段或者IDENTITY字段:当然这两点是基于目标表是B树或者堆存储结构的表.SQL…
最近某项目突然要增加数据的获取,但是不能改程序.也没有同步的只读库,只好使用CDC来进行尝试. CDC的启用和停止全部用SQL实现,在这里给出主要的SQL步骤: /****** Script for SelectTopNRows command from SSMS ******/ --------------------------------(1.1)启动数据库CDC USE TestDB GO EXECUTE sys.sp_cdc_enable_db; GO ----------------…
--實現split功能的函數create function [dbo].[func_split]( @SourceSql varchar(max), @StrSeprate varchar(10))returns @temp table(a varchar(100)) --根據需要﹐可以改變定義長度as begin declare @i int set @SourceSql=rtrim(ltrim(@SourceSql)) set @i=charindex(@StrSepra…
转自:https://technet.microsoft.com/library/cc645993 转换箱规模限制 功能名称 Enterprise Business Intelligence Standard Web Express with Advanced Services Express with Tools Express 单个实例使用的最大计算能力(SQL Server 数据库引擎)1 操作系统支持的最大值 限制为 4 个插槽或 16 核,取二者中的较小值 限制为 4 个插槽或 16…
上个月,有个朋友问我说Sql Sever向Mysql迁移有什么好的经验分享,他们公司客户明确提出不再提供Windows服务器,现在计划Mysql迁移.我说Mysql迁移成本太高了,不妨可以了解一下SQL Server On Linux再做决定.于是,我把之前给运维分享的Word文档发给了他,告诉他,如果可以接受一些不支持的功能,选择成本,风险小的,如果项目中用到的技术知识刚好避开了那些不支持的功能,3~5个小时可以完成一个项目的迁移.我们公司也有案例,在Linux平台上,同时安装了Sqlserv…