-
MSSQLServer2014链接到MSSQLServer2000的解决方案及问题处理
开发与企业应用中,好几个版本SQLServer相互链接。分布式读取与存储,需要实现sp_addlinkedserver...
数据库操作教程 2022-09-23 17:58:56 -
SQLServer的链接服务器技术小结
一、使用MicrosoftOLEDBProviderForODBC链接MySQL安装MySQL的ODBC驱动MyODBC1、为MySQL建立一个ODBC系统数据源,例如:选择数据库为test,数据源名称为myDSN2、建立链接数据库EXECsp_addlinkedserver@server='MySQLTest',@srvproduct='MySQL',@provider='MSDASQL',@datasrc='myDSN'GOEXECsp_addlinkedsrvlogin@rmtsrvname='MySqlTest',@useself='false',@locallogin='sa',@rmtuser='mysql的用户名',@rmtpassword='mysql的密码'3、查询数据SELECT*FROMOPENQUERY(MySQLTest,'select*from表')下面这个不行:SELECT*FROMOPENQUERY(MySQLTest,'表')注意:不能直接用select*from链接服务器名.数据库名.用户名.表(或视图)四部分名称查询数据,可能是个Bug.二、使用M...
数据库操作教程 2022-09-23 17:56:08 -
详解SQLServer数据库链接查询的方式
SQLServer数据库链接查询的方式的相关知识是本文我们主要要介绍的内容,我们知道,通过连接运算符可以实现多个表查询。连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志...
数据库操作教程 2022-09-23 17:53:59 -
查询Sqlserver数据库死锁的一个存储过程分享
使用sqlserver作为数据库的应用系统,都避免不了有时候会产生死锁,死锁出现以后,维护人员或者开发人员大多只会通过sp_who来查找死锁的进程,然后用sp_kill杀掉。利用sp_who_lock这个存储过程,可以很方便的知道哪个进程出现了死锁,出现死锁的问题在哪里.创建sp_who_lock存储过程CREATEproceduresp_who_lockasbegindeclare@spidintdeclare@blkintdeclare@countintdeclare@indexintdeclare@locktinyintset@lock=0createtable#temp_who_lock(idintidentity(1,1),spidint,blkint)if@@error<>0return@@errorinsertinto#temp_who_lock(spid,blk)select0,blockedfrom(select*frommaster..sysprocesseswhereblocked>0)awherenotexists(select*frommas...
数据库操作教程 2022-09-23 17:47:30 -
常用SQL语句查询分享
--创建数据库(文件:主要数据文件mdf==1,次要数据文件ndf>=0,日志文件ldf>=1)--文件组:当1mdf,5个ndf(1,2,2),10个ldf(3,3,4),将它们分成多个组存放CREATEdatabasestudb;--创建表teacher,studentcreatetableteacher(tidint(10)primarykeyauto_increment,tnamevarchar(20),tageint(10));usestudb;createtablestudent(sidint(10)primarykeyauto_increment,snamevarchar(20),sageint(10),tidint(10)REFERENCESteacher(tid));--外键约束:你问张三的老师是谁??--selectteacher.tnamefromteacher,studentwherestudent...
数据库操作教程 2022-09-23 17:47:28 -
sqlserver锁表语句分享
锁定数据库的一个表SELECT*FROMtableWITH(HOLDLOCK)注意:锁定数据库的一个表的区别SELECT*FROMtableWITH(HOLDLOCK)其他事务可以读取表,但不能更新删除SELECT*FROMtableWITH(TABLOCKX)其他事务不能读取表,更新和删除SELECT语句中“加锁选项”的功能说明SQLServer提供了强大而完备的锁机制来帮助实现数据库系统的并发性和高性能。用户既能使用SQLServer的缺省设置也可以在select语句中使用“加锁选项”来实现预期的效果...
数据库操作教程 2022-09-23 17:35:06 -
SQLSERVER使用ODBC驱动建立的链接服务器调用存储过程时参数不能为NULL值
我们知道SQLSERVER建立链接服务器(LinkedServer)可以选择的驱动程序非常多,最近发现使用ODBC的MicrosoftOLEDB驱动程序建立的链接服务器(LinkedServer),调用存储过程过程时,参数不能为NULL值。否则就会报下面错误提示:对应的英文错误提示为:EXECxxx.xxx.dbo.Usp_TestNULL,NULL,'ALL'Msg7213,Level16,State1,Line1Theattemptbytheprovidertopassremotestoredprocedureparameterstoremoteserver'xxx'failed.Verifythatthenumberofparameters,theorder,andthevaluespassedarecorrect.对应的中文错误提示为:EXECxxx.xxx.dbo.Usp_TestNULL,NULL,'ALL'Msg7213,Level16,State1,Line1提供程序将远程存储过程参数传递给远程服务器'xxx'的尝试失败...
数据库操作教程 2022-09-23 17:35:04 -
SqlServer中常用的6个自定义函数分享
在日常应用中,往往根据实际需求录入一些值,而这些值不能直接使用,所以Sql中经常会对字段值进行一些常规的处理。这里搜集了(提取数字、英文、中文、过滤重复字符、分割字符的方法),方便日后查询使用...
数据库操作教程 2022-09-23 17:30:34 -
SQL比较一个集合是否在另一个集合里存在的方法分享
复制代码代码如下:DECLARE@cINTDECLARE@c2INTSELECT@c=COUNT(1)FROMdbo.SplitToTable('1|2|3|4','|')SELECT@c2=COUNT(1)FROMdbo...
数据库操作教程 2022-09-23 17:28:43 -
SqlServer中tempdb的日志机制原理解析及示例分享
测试用例我们分别在用户数据库(testpage),tempdb中创建相似对象t1,#t1,并在tempdb中创建创建非临时表,然后执行相应的insert脚本(用以产生日志),并记录执行时间用以比较用以比较说明tempdb”快”Code用户数据库testpageusetestpagegocreatetablet1(idintidentity(1,1)notnull,str1char(8000))declare@tdatetime2=sysutcdatetime()declare@iintset@i=1while(@i<100000)begininsertintot1select@i,'aa'select@i=@i+1endselect[extime]=DATEDIFF(S,@t,sysutcdatetime())tempdbusetempdbgocreatetable#t1(idintnotnull,str1char(8000))declare@tdatetime2=sysutcdatetime()declare@iintset@i=1while(@i<100000)begi...
数据库操作教程 2022-09-23 17:25:50 -
sqlserver合并DataTable并排除重复数据的通用方法分享
代码如下:复制代码代码如下:///<summary>///将两个列不同的DataTable合并成一个新的DataTable///</summary>///<paramname="dt1">源表</param>///<paramname="dt2">需要合并的表</param>///<paramname="primaryKey">需要排重列表(为空不排重)</param>///<paramname="maxRows">合并后Table的最大行数</param>///<returns>合并后的datatable</returns>publicstaticDataTableMergeDataTable(DataTabledt1,DataTabledt2,stringprimaryKey,intmaxRows){//判断是否需要合并if(dt1==null&&dt2==null){returnnull;}if(dt1==null&...
数据库操作教程 2022-09-23 17:25:18