
Sql Server
jamex
这个作者很懒,什么都没留下…
展开
-
SQL Server Error: The database principal owns a service in the database, and cannot be dropped
There are two options here.1. You map orphan user to login if user is required. sp_change_users_login2. Run below code and check which service user owns.select s.name as ServiceNamefrom sys...原创 2019-08-02 17:58:50 · 445 阅读 · 0 评论 -
SQL中CUBE/rollup 的区别
ROLLUP 运算符生成的结果集类似于 CUBE 运算符生成的结果集。下面是 CUBE 和 ROLLUP 之间的具体区别:CUBE 生成的结果集显示了所选列中值的所有组合的聚合。ROLLUP 生成的结果集显示了所选列中值的某一层次结构的聚合。ROLLUP 优点:(1)ROLLUP 返回单个结果集,而 COMPUTE BY 返回多个结果集,而多个结果集会增加应用程序代转载 2012-09-12 21:13:41 · 1985 阅读 · 0 评论 -
SQL Server汇总使用GROUPING,ROLLUP和CUBE
1.用 CUBE 汇总数据CUBE 运算符生成的结果集是多维数据集。多维数据集是事实数据的扩展,事实数据即记录个别事件的数据。扩展建立在用户打算分析的列上。这些列被称为维。多维数据集是一个结果集,其中包含了各维度的所有可能组合的交叉表格。CUBE 运算符在 SELECT 语句的 GROUP BY 子句中指定。该语句的选择列表应包含维度列和聚合函数表达式。GROUP BY 应指定维度列和关键转载 2012-09-12 21:12:06 · 880 阅读 · 0 评论 -
SQL Server中Rollup关键字使用技巧
首先创建测试表、添加数据。create table #t(a int,b int,c int,d int,e int)insert into #t values(1,2,3,4,5)insert into #t values(1,2,3,4,6)insert into #t values(1,2,3,4,7)insert into #t values(1,2,3,4,8)转载 2012-09-12 21:11:16 · 609 阅读 · 0 评论 -
SQL Server里面Deadlock 似乎无可避免
从SQL Server的Online Book里面描述Deadlock策略里面发现有下面的一种情况:Worker threads. A queued task waiting for an available worker thread can cause deadlock. If the queued task owns resources that are blocking all wor转载 2012-09-03 15:29:37 · 809 阅读 · 0 评论 -
SQL Server數據表提示NOLOCK和READPAST
對資料庫中的資料進行讀操作或修改時,資料庫引擎使用專門的控制類型來保持資料庫的完整性,稱為鎖機制。鎖機制通過確保包含在一個事務中的資料庫記錄在該事務提交之前不能被其他事務修改來保證資料庫的一致性。 在設計資料庫應用時,你應該記住各種不同類型的鎖及事務發生的不同隔離級別。通常情況下,SQL Server默認方式能夠很好地完成你要使用的功能,不過,有些時候利用SQL語句在資料表上手工添加關於鎖转载 2012-09-03 14:57:24 · 970 阅读 · 0 评论 -
SQL with(unlock)与with(readpast)
所有Select加 With (NoLock)解决阻塞死锁,在查询语句中使用 NOLOCK 和 READPAST处理一个数据库死锁的异常时候,其中一个建议就是使用 NOLOCK 或者 READPAST 。有关 NOLOCK 和 READPAST的一些技术知识点: 对于非银行等严格要求事务的行业,搜索记录中出现或者不出现某条记录,都是在可容忍范围内,所以碰到死锁,应该首先考虑,我们业务逻转载 2012-09-03 14:55:15 · 1372 阅读 · 0 评论 -
SQL Server 的事务和锁
最近在项目中进行压力测试遇到了数据库的死锁问题,简言之,如下的代码在 SERIALIZABLE 隔离级别造成了死锁:?1234567891011121314SELECT @findCount=COUNT(id)FROM MyTableWHERE [fk_related_id]=@Ar转载 2012-09-03 12:47:58 · 870 阅读 · 0 评论 -
SQL server 时间转化成字符串
在sql server数据库中,sql server日期时间格式转换字符串可以改变sql server日期和时间的格式,是每个SQL数据库用户都应该掌握的。日期时间转字符串:Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDATE(),转载 2012-08-28 18:09:07 · 1879 阅读 · 0 评论 -
Enable saving of changes that require table to be re-created SQL server 2008
One of the new things that happens in SQL Server 2008 is that it prevents saving table structure changes that require the table to be dropped and re-created. While this is a great feature to prevent a转载 2012-07-10 11:53:29 · 744 阅读 · 0 评论 -
SQL Server WAITFOR Delay 使用变量遇到的问题和解决办法
sql server2008帮助中, 有一段WAITFOR Delay 的示例, 是错误的!!! USE AdventureWorks;GOIF OBJECT_ID('dbo.TimeDelay_hh_mm_ss','P') IS NOT NULL DROP PROCEDURE dbo.TimeDelay_hh_mm_ss;GOCREATE PROCEDURE d原创 2012-03-20 23:31:49 · 3010 阅读 · 0 评论 -
SQL Server中临时表与表变量的区别
什么情况下使用表变量?什么情况下使用临时表?表变量: DECLARE @tb table(id int identity(1,1), name varchar(100)) INSERT @tb SELECT id, nameFROM mytable WHERE name like ‘zhang%’ 临时表: SELECT na转载 2012-02-09 15:27:27 · 726 阅读 · 0 评论 -
SQL Server逗号分隔字符串拆成临时表
【IT168 技术文档】在与数据库交互的过程中,我们经常需要把一串ID组成的字符串当作参数传成存储过程获取数据。很多时候我们希望把这个字符串转成集合以方便用于in操作。 有两种方式可以方便地把这个以某种符号分隔的ID字符串转成临时表。 方式一:通过charindex和substring。<!--#div_code img {border:0px}-->转载 2012-02-09 15:18:52 · 1183 阅读 · 0 评论 -
sqlserver游标概念与实例全面解说
引言 我们先不讲游标的什么概念,步骤及语法,先来看一个例子: 表一 OriginSalary 表二 AddSalary 现在有2张表,一张是OriginSalary表--工资表,有三个字段0_ID 员工号(NVARCHAR)、O_Name员转载 2012-02-09 15:32:53 · 590 阅读 · 0 评论 -
SQL Server中临时表与表变量的区别
我们在数据库中使用表的时候,经常会遇到两种使用表的方法,分别就是使用临时表及表变量。在实际使用的时候,我们如何灵活的在存储过程中运用它们,虽然它们实现的功能基本上是一样的,可如何在一个存储过程中有时候去使用临时表而不使用表变量,有时候去使用表变量而不使用临时表呢? 临时表 临时表与永久表相似,只是它的创建是在Tempdb中,它只有在一个数据库连接结束后或者由SQL命令DROP掉,才转载 2012-02-09 15:26:54 · 482 阅读 · 0 评论 -
SQL中用ROWCOUNT解决TOP子句不支持变量的问题
据传SQL 2005有了RowID的东西,能够解决TOP排序的问题。可惜还没有机会体验。在SQL 2000中写存储过程,总会碰到需要TOP的地方,而一旦碰到TOP,因为没办法把TOP后面的数字作为变量写到预编译的语句中去,所以只能够使用构造 SQL,使用Exec来执行。不说效率的问题,心里也总觉得这个办法很笨。实际上,在SQL 2000中完全万能够使用ROWCOUNT关键字解决这个问题。R转载 2012-01-30 15:31:53 · 1186 阅读 · 0 评论 -
SqlServer中decimal(numeric )、float 和 real 数据类型的区别[转]
decimal(numeric ) 同义,用于精确存储数值float 和 real 不能精确存储数值decimal 数据类型最多可存储 38 个数字,所有数字都能够放到小数点的右边。decimal 数据类型存储了一个准确(精确)的数字表达法;不存储值的近似值。定义 decimal 的列、变量和参数的两种特性如转载 2012-01-30 15:31:00 · 819 阅读 · 0 评论 -
Sql Server identity VS uniqueidentifier
Sql Server identity VS uniqueidentifier最常见的一个自动生成主键的方法: 1. IDENTITY属性把原始的种子值当作它第一个参数,把增量值当作它第二个参数值 2. 把你的字段指定为唯一标识符的类型和使用NEWID() 或者NEWSEQUENTIALID()函数的DEFAULT约束,若字段指定为唯一标识符的类型,则DEFAULT约束转载 2012-01-30 18:07:02 · 932 阅读 · 0 评论 -
sql like 通配符 模糊查询技巧及特殊字符
1,SQL like对时间查询的处理方法SQL数据表中有savetime(smalldatetime类型)字段,表中有两条记录,savetime值为:2005-3-8 12:12:00和2005-6-6 14:02:02我用下面语句什么也搜不出来 select * from soft where soft.savetime like'%2005-3-8%' SQL帮助中转载 2013-02-01 18:43:00 · 701 阅读 · 0 评论 -
把表中数据导成insert语句
前段时间做一个东西,做的时候用的是SQLServer2005,做完后经理说服务器是SQLServer2000,真是郁闷!不过不要紧,因为数据库有直接导出SQL语句的功能,把整个数据库导成SQL在SQLServer2000下执行就可以了。也许你回问:“在2005下导出的SQL可以在2000下执行吗?”,问的好,这也正是我要说的重点。答案是:SQL2005导出的格式有些与SQL2000不兼转载 2013-02-21 15:40:33 · 771 阅读 · 0 评论 -
SQL Server中删除用户时报错,提示:The database principal owns a schema in the database, and cannot be dropped
Description of the problem: When you tried to drop a user, you got this message:Error: 15138 The database principal owns a schema in the database, and cannot be dropped.Cause: That means, you ...转载 2019-08-02 17:54:37 · 1739 阅读 · 0 评论 -
Login failed知多少
说起Login failed我们首先会想起密码错误,但密码错误只是众多login failed中的一个,本篇将罗列各类login failed在ERRORLOG中的表现,以及如何提取这类错误信息。通过SQLServer身份验证连接数据库,先检查登录名是否存在,再验证密码是否正确,然后检查用户是否被禁用、是否被锁定、密码是否过期。可以用下面语句,重现各种Login failed情况 1 --解除...转载 2018-04-19 15:15:21 · 12454 阅读 · 0 评论 -
Database Mail in SQL Server 2008 R2
ContentsIntroduction Configure Database Mail - (Database Mail Configuration Wizard) Configure Database Mail - (Transact-SQL) Handling Security in Database Mail Send E-Mail from Database Mail Managin...转载 2018-04-19 15:05:09 · 5760 阅读 · 0 评论 -
SQL2000下非sysadmin固定服务器角色的成员执行xp_cmdshell
SQL2000下非sysadmin固定服务器角色的成员执行xp_cmdshell编辑 删除 首先我们增加一个login并缺省test_db数据库。 --add loginuse masterGoEXEC sp_addlogin 'njslt', 'njslt', 'test_db'Gouse test_dbGoEXEC sp_adduser 'njslt', 'njslt', 'db_owner...转载 2018-04-19 15:00:22 · 617 阅读 · 0 评论 -
How to set up and test a simple OLEDB Linked Server in Microsoft® SQL Server to allow retrieval of d
Resolving the problemIn order to set up a linked server from SQL Server the following checks need to be made.Make sure you have the correct Informix Client SDK (32 or 64 bit) for the SQL Ser转载 2015-07-28 18:29:17 · 1268 阅读 · 0 评论 -
.Net Sql Server use informix_odbc tips
Create a linked server to Informix from Sql Server 2008 R2 by using‘MS OLE DB Provider for ODBC Drivers’EXECmaster.dbo.sp_addlinkedserver@server = N'TEST02', @srvproduct=N'MSDASQL',原创 2015-07-28 18:07:08 · 882 阅读 · 0 评论 -
SQL Server 2008 收缩清空大日志文件方法总结
本文章来给大家总结一下关于SQL Server 2008 收缩清空大日志文件方,有需要了解SQL2000和2005中清空大日志文件的同学可进入参考参考。由于SQL2008对文件和日志管理进行了优化,所以在SQL2000和2005中可以运行的如下命令,但在SQL2008中不支持no_log清空日志。1.清空日志代码如下 DUMP TRANSACTION 库名 WITH NO_LOG 2.截断事务日转载 2015-07-05 15:56:03 · 672 阅读 · 0 评论 -
欢迎使用优快云-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl转载 2015-07-05 15:53:24 · 363 阅读 · 0 评论 -
SQL server 数据库被标记为RESTORING的处理方式
尝试数据库被标记为RESTORING的处理方式 /**** by select left('claro',2),in 西安,2009-03-27 00:29:23.450 Microsoft SQL Server 2005 - 9.00.1406.00 (Intel X86) Mar 3 2007 18:40:02 Copyright (c) 1988-200转载 2015-05-23 17:01:24 · 2050 阅读 · 0 评论 -
如何分离附加数据库 (SQL Server Management Studio)
分离数据库在 SQL Server Management Studio 对象资源管理器中,连接到 SQL Server 数据库引擎的实例上,再展开该实例。展开“数据库”,并选择要分离的用户数据库的名称。分离数据库需要对数据库具有独占访问权限。如果数据库正在使用,则限制为只允许单个用户进行访问: 右键单击数据库名称并指向“属性”。 在“选择页”窗格中,转载 2015-05-18 18:49:46 · 1312 阅读 · 0 评论 -
(转载)SQL Server 2005 日志文件过大处理
由于安装的时候没有计划好空间,默认装在系统盘,而且又没有做自动备份、截断事务日志等,很快LDF文件就达到十几G,或者几十G ,此时就不得不处理了。备份和计划就不说了,现在就说下怎么把它先删除吧:1:先分离数据库2:为了保险,先不要删除,把LDF文件重命名下3:附加数据库。4:OK。以上可能遇到的问题:1:有用户连接,无法分离(勾选“断开所有连接”)2:附件数数据库的转载 2015-05-18 18:46:52 · 450 阅读 · 0 评论 -
the database principal owns a service in the database -- can't drop a user
There are two options here. 1. You map orphan user to login if user is required. sp_change_users_login 2. Run below code and check which service user owns. select s.name as ServiceNa转载 2015-05-08 16:45:15 · 581 阅读 · 0 评论 -
Mapping a database user to a new SQL Server login
Maps an existing database user to a SQL Server login. This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify app转载 2015-05-08 16:41:25 · 772 阅读 · 0 评论 -
Mapping a database user to a new SQL Server login
Mapping a database user to a new SQL Server loginIn the following example, a database user is associated with a newSQL Server login. Database user MB-Sales, which at first is mapped toanother login,转载 2015-05-08 16:39:46 · 565 阅读 · 0 评论 -
SQL SERVER 強制指定使用索引
今天遇到一個查詢逾時的問題:兩段SQL,只差在WHERE,一個是WHERE COLUMN1='AAA',一個是WHERE COLUMN1='BBB',產生的執行計畫卻不一樣;一個用PK索引,一個用IX索引(叢集索引跟非叢集索引的差別?)查到兩種方法,INDEX()跟FORCESEEKINDEX('指定索引名稱')FORCESEEK 指定從哪個資料表搜尋--系統會自動選用IX_i转载 2013-04-09 19:14:29 · 1840 阅读 · 0 评论 -
SQL server 查询性能的问题
USE [SpoofSpam2]GO/****** Object: StoredProcedure [dbo].[GetMessageList] Script Date: 04/09/2013 18:00:34 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE PROCEDURE原创 2013-04-09 18:07:20 · 909 阅读 · 0 评论 -
SQL SERVER 与ORACLE 常用函数对比(转)
数学函数1.绝对值S:select abs(-1) valueO:select abs(-1) value from dual2.取整(大)S:select ceiling(-1.001) valueO:select ceil(-1.001) value from dual3.取整(小)S:select floor(-1.001) valueO:select f转载 2013-02-26 11:36:25 · 574 阅读 · 0 评论 -
SQL Server IDENTITY用法
create table test(id int identity(1,1),mc varchar(20))insert into test(mc) values('aaaaa')select @@identity,ident_current('TEST')SQL Server 2000中,有三个比较类似的功能:他们分别是:SCOPE_IDENTITY、IDENT_CURRENT转载 2012-01-30 18:04:59 · 7143 阅读 · 1 评论 -
SQL SERVER 如何备份数据到网络服务器
如何在SQL server 2005中将数据库备份路径设为网络路径 如:“\\BackupPC\dbback\” SQL server 2000中是可以的呀,怎么到2005就不好这样做的??? 现在备份数据库真麻烦,都要先备份到本机,然后再剪切到网上邻居的另一台电脑中,真郁闷!!!! 备份到异机?这是2000的做法. 写成存储过程,建立作业定时备份~~~ --在sql中映射转载 2012-01-13 18:12:38 · 1222 阅读 · 0 评论 -
如何在SQL server 2008中将数据库备份路径设为网络路径?
如何在SQL server 2008中将数据库备份路径设为网络路径? 其实很简单:1. 用Maintenance Plan 创建, 指定网络路径如: \\servername\foldername\2. 确保将数据库所在的server的计算机名(比如computer001)加到\\servername\foldername\所在的server 的对应目录的共享权限中,需有写的权限原创 2012-01-13 18:33:27 · 2910 阅读 · 0 评论