-
如何解决SQL Server数据库的"User, group, or role already exists
所属栏目:[MsSql教程] 日期:2016-10-13 热度:115
问题场景 在SQL Server数据库迁移时,在另外一台服务器上恢复数据库备份文件之后,需要重新创建之前数据库上的用户帐户。在创建登录用户时,需要在User Mapping中给该用户针对具体的数据库进行授权,由于恢复出来的数据库中存在同名的用户帐户,创建时会出[详细]
-
SQL Server:使用rsync实现异地日志传送
所属栏目:[MsSql教程] 日期:2016-10-13 热度:192
微软有一个爱好叫绑定。我最痛恨的一个绑定是IIS与Windows的绑定升级IIS竟然要升级操作系统,服务器不是PC,系统不是想重装就可以重装。 在使用SQL Server日志传送进行异地备份时,又被微软的绑定策略坑了一次。日志传送只支持Windows文件共享这1种也仅此1[详细]
-
SQL Server访问Oracle查询性能问题解决
所属栏目:[MsSql教程] 日期:2016-10-13 热度:76
1. 问题 系统有个模块,需要查询Oracle数据库中的数据。目前是通过建立链接服务器实现的。 SQLServer访问Oracle实现 可参考这篇文章http://www.cnblogs.com/gnielee/archive/2010/09/07/access-oracle-from-sqlserver.html 目前的查询语句就是一个简单的带[详细]
-
如何清理SQL Server日志释放文件空间
所属栏目:[MsSql教程] 日期:2016-10-13 热度:153
【问题场景】有一个数据库,它的名字叫CNBlogsText,日志文件霸占了23G硬盘空间,而事务日志已经截断(Truncate),实际日志内容很小,1G都不到。23G的空间只放1G不到的日志,就如同用一栋别墅养一只宠物,太奢侈了!秉承中华民族勤俭节约的美德,这种奢侈[详细]
-
详解SQL Server的差异备份还原
所属栏目:[MsSql教程] 日期:2016-10-13 热度:119
在SQL Server中还原差异备份,需要先还原在差异备份时间点之前的一个完整备份,在还原完整备份时要加上NORECOVERY参数,示例SQL语句如下: RESTORE DATABASE [数据库名称] FROM DISK = N'完整备份文件路径'WITH FILE = 1, NOUNLOAD, STATS = 10, NORECOVER[详细]
-
如何导出SQL Server中的所有Job
所属栏目:[MsSql教程] 日期:2016-10-13 热度:91
应用场景: 在将源SQL Server数据库服务器中的所有Job(作业)迁移至目标数据库服务器的过程中,需要先将这些Job导出为SQL脚本。 操作步骤: 1、在Microsoft SQL Server Management Studio中,选择SQL Server Agent-Jobs,按F7打开Object Explorer Details[详细]
-
SQL SERVER存储过程语法详解
所属栏目:[MsSql教程] 日期:2016-10-13 热度:172
SQL SERVER存储过程语法: Create PROC [ EDURE ] procedure_name [ ; number ] [ { @parameter data_type } [ VARYING ] [ = default ] [ OUTPUT ] ] [ ,...n ] [ WITH { RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ] [ FOR REPLICATION ] AS sq[详细]
-
怎么让sql server中的sql语句自动换行
所属栏目:[MsSql教程] 日期:2016-10-12 热度:53
怎么让sql server中的sql语句自动换行呢? 如下图: 工具--选项--所有语言 查看本栏目更多精彩内容:http://www.bianceng.cn/database/SQLServer/[详细]
-
Oracle与Sql Server复制表结构及数据的语句
所属栏目:[MsSql教程] 日期:2016-10-12 热度:144
1、Oracle create table 新表名 AS SELECT * FROM 源表名 2、Sql Server SELECT * into 新表名 from 源表名 查看本栏目更多精彩内容:http://www.bianceng.cn/database/SQLServer/[详细]
-
如何统计分析SQL Server Profiler 跟踪的SQL
所属栏目:[MsSql教程] 日期:2016-10-12 热度:131
--跟踪文件读入到表中分析 SELECT * INTO ZGSJY FROM fn_trace_gettable('E:wxxcdbprofiler.trc', default); --某时间内,最耗时SQL select TOP 100 SUBSTRING(Textdata,1,660) as '名称', count(*) as '数量', sum(duration/1000) as '总执行时间ms', av[详细]
-
Sql Server如何统计表中某年某月某个值有多少
所属栏目:[MsSql教程] 日期:2016-10-12 热度:153
比如:统计表AA中YWLX列在某年某月每种类型各有多少? selectyear(AA_YWRQ) as YEARS, month(AA_YWRQ) AS Months ,AA_YWLX,count(AA_YWLX) as Number from AA group by year(AA_YWRQ), month(AA_YWRQ),AA_YWLX 表中数据: 查询后的结果: 查看本栏目更多精[详细]
-
SQL Server中clustered与nonclustered有什么区别
所属栏目:[MsSql教程] 日期:2016-10-12 热度:195
CLUSTERED :聚集索引。非聚集索引:NONCLUSTERED。 clustered是物理上实现数据排序,并且同一个表里只能有一个clustered索引,而nonclustered是逻辑上的排序。 微软的SQL Server 支持两种类型的索引:clustered 索引和nonclustered索引。 Clustered索引在[详细]
-
Sql Server的substring(expression, start, length)函数
所属栏目:[MsSql教程] 日期:2016-10-12 热度:158
Syntax for SUBSTRING: SUBSTRING(expression, start, length) expression 字符串、二进制字符串、文本、图像、列或包含列的表达式。请勿使用包含聚合函数的表达式。 start 整数或可以隐式转换为int 的表达式,指定子字符串的开始位置。 length 整数或可以[详细]
-
如何完全卸载Sql Server 2008
所属栏目:[MsSql教程] 日期:2016-10-12 热度:166
一、SQL2008卸载。 1、从控制面板卸载 1)点击计算机右下角开始,点击控制面板==》点击卸载程序==》在程序列表中找到Microsoft SQL Server 2008,右击 选卸载 2)卸载与2008相关组建,开始控制面板卸载程序。右击卸载(可以留意安装日期,同一日期安装的,[详细]
-
Sql Server中如何取出多个字段列中的最大值和最小值
所属栏目:[MsSql教程] 日期:2016-10-12 热度:113
现有表table1 , 四个int型 字段 F1,F2,F3,F4;现要查询得到四列中的最大值 , 并只需要返回最大值 方法一: select case when F12F34 then F12 else F34 end as MaxNum from(select case when F1F2 then F1 else F2 end as F12, case when F3F4 then F3 els[详细]
-
使用sql server日期函数获取指定格式的当前日期
所属栏目:[MsSql教程] 日期:2016-10-12 热度:53
使用sqlserver日期函数中的getdate()可以获取当现的日期,下面就将为您介绍这种使用sqlserver日期函数获取当前日期的方法。 但是如果我们只需要得到当前的日期,不需要时间部分,或者不需要日期只要时间部分,再或者我要只要字段中的日期以某种形式显示,[详细]
-
获取sql server与年、季度、月、周首尾有关的时间函数
所属栏目:[MsSql教程] 日期:2016-10-12 热度:172
--当前日期: 2013-12-31 select convert(varchar(10), getdate(),120) --当前日期+ 时间:2013-12-31 14:36:46.860 select getdate() --一个月的第一天:2013-12-31 00:00:00.000 select dateadd(mm,datediff(mm,0,getdate()),0) --本周的星期一:201[详细]
-
SQL SERVER中Case语句的用法
所属栏目:[MsSql教程] 日期:2016-10-12 热度:158
Case具有两种格式。简单Case函数和Case搜索函数。 --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END 这两种方式,可以实现相同的[详细]
-
如何解决SQL SERVER的一致性错误
所属栏目:[MsSql教程] 日期:2016-10-12 热度:134
如果DBCC CHECKDB发现了比较少的一致性错误,可以使用 DBCC UPDATEUSAGE(DatabaseName,dbo.ObjectName); 语句逐个针对表或索引中的每个分区更正行、已用页、保留页、叶级页和数据页的计数。但是如果数据库出现大量一致性错误。例如如下所示: DBCC results[详细]
-
如何使用Sqlserver 2012 Always on技术
所属栏目:[MsSql教程] 日期:2016-10-12 热度:112
副标题#e# 使用了Sqlserver 2012 Always on技术后,假如采用的配置是默认配置,会出现Primary server CPU很高的情况发生,比如默认配置如下: 需要自定义来解决这个问题。 我们先来看看上图中的这些选项的意义 主角色中的连接 允许所有连接 如果当前server[详细]
-
SQL SERVER PRINT语句如何换行
所属栏目:[MsSql教程] 日期:2016-10-12 热度:154
想在输出的PRINT语句里面换行,可以这样做 /*SQL的换行制表符 CHAR(9)换行符 CHAR(10)回车 CHAR(13)*/PRINT 'Test'+CHAR(13)+'Name'PRINT 'Test'+CHAR(10)+'Age'PRINT 'Test'+CHAR(9)+'Tel' --以文本格式显示结果SELECT 'AAA'+ CHAR(10)+'BBB'--AAA BBBSEL[详细]
-
SQL SERVER中如何手动增长日志文件和数据文件
所属栏目:[MsSql教程] 日期:2016-10-12 热度:108
手动增长日志文件,实际上就是修改日志文件的大小 size 的单位是MB 下面设置日志文件大小是2048MB ALTERDATABASE[GPOSDB] MODIFY FILE(name=GPOSDB_Log,size=2048) EXEC sys.[sp_helpdb] @dbname = [GPOSDB] -- sysname --收缩日志文件 USE [GPOSDB] GO AL[详细]
-
SQL SERVER truncate table后会不会重置表的自增值
所属栏目:[MsSql教程] 日期:2016-10-12 热度:153
今天清理业务库数据的时候,开发人员说可以使用truncate table把两个表的所有数据清理掉 这两个表都有自增ID,都做了表分区,单表200GB,使用 SELECT IDENT_CURRENT('') 的时候两个表 的当前自增值是3000012,这两个表几乎是一模一样的,除了一两个字段不[详细]
-
SQL SERVER参数化查询后不走筛选索引
所属栏目:[MsSql教程] 日期:2016-10-12 热度:132
DROP TABLE T_TESTCREATE TABLE T_TEST( ID INT IDENTITY PRIMARY KEY,STATUS BIT)INSERT INTO T_TEST SELECT 0GO 100000INSERT INTO T_TEST SELECT 1 CREATE INDEX IXF_T_TEST_STATUS ON T_TEST(STATUS) WHERE STATUS=1UPDATE STATISTICS T_TEST with ful[详细]
-
SQL SERVER分发代理在BULK INSERT时发生无限等待如何解决
所属栏目:[MsSql教程] 日期:2016-10-12 热度:169
场景: 服务器64位,SQL SERVER 2008R2SP1,32G内存,16个CPU,sql server分配内存大约29G。 发布一张小表,分发代理停止在正在将大容量复制到表xxx,该表仅有几十行数据,总量最多几百K 查询订阅服务器分发进程,显示bulk insert 呈suspend状态,等待类型[详细]