06 2012 档案

摘要:0.参考文献:SQL Server Service Broker MSDN文档总览SQL Server 2005 Service Broker 初探Servic Broker对话会话1.Service Broker 编程Service Broker 功能通过 SQL Server 中的新对象启用,这些新对象可以由一组 T-SQL 扩展来创建和操作。为了数据库程序员的方便,使用了他们熟悉的用于配置其他数据库对象的 CREATE、ALTER 和 DROP DDL 语句来配置 Service Broker 应用程序。用于创建 Service Broker 对话以及在对话中发送和接收消息的命令是 Tr 阅读全文
posted @ 2012-06-29 19:42 xwdreamer 阅读(7718) 评论(1) 推荐(2) 编辑
摘要:1.差异备份的还原不备份结尾日志的情况下还原数据创建差异备份的放在我们已经在前面一篇博客SQL Server的备份中提到了,这里我们不再赘述,下面我们给出差异备份与还原的T-SQL方法,代码如下:--创建备份设备EXEC sp_addumpdevice 'disk', 'MyAdvWorks_1', 'd:\backup\MyAdvWorks_1.bak';EXEC sp_addumpdevice 'disk', 'MyAdvWorks_diff1', 'd:\backup\MyAdvWorks_diff1 阅读全文
posted @ 2012-06-28 11:58 xwdreamer 阅读(15100) 评论(0) 推荐(4) 编辑
摘要:0.参考文献1.恢复模式SQL Server 备份和还原操作发生在数据库的恢复模式的上下文中。恢复模式旨在控制事务日志维护。“恢复模式”是一种数据库属性,它控制如何记录事务,事务日志是否需要(以及允许)备份,以及可以使用哪些类型的还原操作。有三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式。通常,数据库使用完整恢复模式或简单恢复模式。可以在执行大容量操作之前切换到大容量日志恢复模式,以补充完整恢复模式。数据库可以随时切换为其他恢复模式。1.1恢复模式概述下表概述了这三种恢复模式。恢复模式说明工作丢失的风险能否恢复到时点?简单(SIMPLE)无日志备份。自动回收日志空间以减少空间需求 阅读全文
posted @ 2012-06-27 10:27 xwdreamer 阅读(10762) 评论(0) 推荐(3) 编辑
摘要:参考文献:1.圖文教你怎樣配置Database Mail+JOB(MS_SQL2005以上版本)(按照这个教程完成配置)2.SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件(官方教程,从老外那边翻译过来的,在smtp配置上没有文献1有价值)3.配置SQL Server Job运行成功或失败时发送电子邮件通知正文database mail配置具体可以参考文献1,配置的重点是邮件的smtp服务器配置,具体参考如下图1.在Outgoing mail server(SMTP)中,email address地址就是你用来给别人发送邮件的数据库邮件地址。而server 阅读全文
posted @ 2012-06-26 15:37 xwdreamer 阅读(4829) 评论(0) 推荐(0) 编辑
摘要:参考文献:http://zjland.blog.51cto.com/289954/58716http://msdn.microsoft.com/en-us/library/ms191439.aspx正文SQL Server Agent的重点是计划(Schedule)和作业(Job),我们创建作业,然后将作业添加到某一个计划中去,让Agent自动帮我们运行即可。比如我们这里需要实现自动备份数据库的功能。我们新建一个备份数据库的作业,然后将这个作业添加到一个每天晚上11点执行的计划中去,最后把这个计划交个Agent就可以了。创建作业并将作业添加到计划:在“对象资源管理器”中,连接到 SQL Ser 阅读全文
posted @ 2012-06-26 14:11 xwdreamer 阅读(2090) 评论(0) 推荐(1) 编辑
摘要:参考文献http://database.51cto.com/art/201009/224075.htm正文要想成功访问 SQL Server 数据库中的数据, 我们需要两个方面的授权:获得准许连接 SQL Server 服务器的权利;获得访问特定数据库中数据的权利(select, update, delete, create table ...)。假设,我们准备建立一个 dba 数据库帐户,用来管理数据库 mydb。1. 首先在 SQL Server 服务器级别,创建登陆帐户(create login)--创建登陆帐户(create login)create login dba with pa 阅读全文
posted @ 2012-06-25 22:17 xwdreamer 阅读(143628) 评论(1) 推荐(11) 编辑
摘要:参考文献:http://social.msdn.microsoft.com/Forums/en-US/sqlgetstarted/thread/ec2ed3ae-eae9-427f-b8ad-9605fe67477a1.在http://msftdbprodsamples.codeplex.com/releases/view/55330下载AdventureWorks2012 Data File,下载后的文件名是AdventureWorks2012_Data.mdf。2.使用sqlserver management studio来attach(附加数据库)。3.我们下载的只有.mdf文件,没有l 阅读全文
posted @ 2012-06-25 17:15 xwdreamer 阅读(9550) 评论(4) 推荐(0) 编辑
摘要:参考文献http://msdn.microsoft.com/zh-cn/library/ms188659.aspx服务器级别角色为帮助您管理服务器上的权限,SQL Server 提供了若干角色。这些角色是用于对其他主体进行分组的安全主体。服务器级角色的权限作用域为服务器范围。(“角色”类似于 Windows 操作系统中的“组”。)提供固定服务器角色是为了方便使用和向后兼容。应尽可能分配更具体的权限。SQL Server 提供了九种固定服务器角色。无法更改授予固定服务器角色的权限。从 SQL Server 2012 开始,您可以创建用户定义的服务器角色,并将服务器级权限添加到用户定义的服务器角色 阅读全文
posted @ 2012-06-25 16:02 xwdreamer 阅读(18920) 评论(0) 推荐(2) 编辑
摘要:参考文献:sql server系统表详细说明下列这些系统表都是存放在master数据库下的Views中,而不是在Tables中。 系统表数据库功能sysaltfiles 主数据库保存数据库的文件syscharsets 主数据库字符集与排序顺序sysconfigures 主数据库配置选项syscurconfigs主数据库当前配置选项sysdatabases主数据库服务器中的数据库syslanguages主数据库语言syslogins主数据库登陆帐号信息sysoledbusers主数据库链接服务器登陆信息sysprocesses主数据库进程sysremotelogins主数... 阅读全文
posted @ 2012-06-25 14:47 xwdreamer 阅读(1442) 评论(0) 推荐(0) 编辑
摘要:参考文献深入了解SQLServer系统数据库工作原理(转)正文数据库管理员(DBA)的一项基本的技能是对SQL数据库引擎的系统数据库的深刻理解。数据库开发人员了解SQLSERVER自带的系统数据库也是十分有用的。下面就列出了其中的一些系统数据库。(注:如果你决定研究一下这些系统数据库,那么你需要有一个开发数据库。)Master Master数据库保存有放在SQLSERVER实体上的所有数据库,它还是将引擎固定起来的粘合剂。如果不使用主数据库,SQLSERVER就不能启动,所以你必须要小心地管理好这个数据库。对这个数据库进行常规备份是十分必要的。建议在数据库发生变更的时候备份master数据库. 阅读全文
posted @ 2012-06-25 14:00 xwdreamer 阅读(9575) 评论(0) 推荐(0) 编辑
摘要:参考文献:1.MySql与oracle的JDBC测试程序2.查看sqlserver的端口号代码示例在我的机器上安装了多个版本的sqlserver数据库,那么如何区分这两个数据库服务器呢。这就要用到前一篇博客中提到的数据库服务端口号,详细见参考2。此处端口号5419对应的是sqlserver2008服务器,端口号5413对应的是sqlserver2012服务器。具体的数据库名称在连接字符串的后面给出。package edu.sjtu.erplab.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.s 阅读全文
posted @ 2012-06-23 16:12 xwdreamer 阅读(8926) 评论(0) 推荐(0) 编辑
摘要:背景 这几天想写一个使用java连接sqlserver的数据库连接测试程序。但是在查看数据库连接字符格式以后发现需要sqlserver数据库服务的端口号。在安装sqlserver的时候也没有提到端口号的问题,以前安装mysql的时候倒是见到过3306这个端口号,安装oracle的时候1521这个端口号也没有看到。不过oracle连接的时候都用的是1521,比如oracle的的数据库连接字符串格式为:jdbc:oracle:thin:@localhost:1521:SID。不知道安装两个oracle数据库是否还是1521这个端口号。通过存储过程查看 闲话莫提,我们直接讲解如何查看端口号。需要.. 阅读全文
posted @ 2012-06-23 15:49 xwdreamer 阅读(248899) 评论(3) 推荐(10) 编辑
摘要:在sqlserver中,有if exit()这样的语句,但是在oracle中却没有。如果直接使用drop table那么如果表不存在会报错,导致后续语句无法运行。因此可以通过一个存储过来来进行判断。主要是查询all_tables表的TABLE_NAME和OWNER,如果表存在,则执行execute immediate 'drop table TABLE_NAME';--判断表是否存在,如果存在则删除declare num number; begin select count(1) into num from all_tables where TABLE_NAME =... 阅读全文
posted @ 2012-06-18 13:08 xwdreamer 阅读(75039) 评论(2) 推荐(0) 编辑
摘要:runstats是《Oracle Database 9i/10g/11g编程艺术:深入数据库体系结构》作者编写的一个工具,能对做同一件事情的两个不同方法进行比较,得出孰优孰劣的结果。我们只需要提供两个不同的方法,余下的事情都由runstats负责。runstats只负责测量3个要素:墙上时钟或耗时时间:知道墙上时钟或耗时时间很有用,不过这不是最重要的信息。系统统计结果:会并排地i显示每个方法做某件事(如执行一个解析调用)的次数,并展示出两者之差闩定(latching):这是这个报告的关键输出。 要使用runstats,需要能访问几个V$视图,并创建一个表来存储统计结果,还要创建runst... 阅读全文
posted @ 2012-06-14 10:47 xwdreamer 阅读(3090) 评论(3) 推荐(3) 编辑
摘要:0.参考文献:Index Full Scan && Index Range Scanoracle-indexuniquescan与indexrangescan等的区别index range scan,index fast full scan,index skip scan发生的条件Oracle ROWID 方式访问数据库oracle优化3(访问Table的方式)1.oracle访问表的方式oracle 访问表中记录有三种方式:ORACLE采用三种访问表中记录的方式:全表扫描、通过ROWID访问表、索引扫描2.全表扫描(Full Table Scans, FTS) 为实现全表扫描 阅读全文
posted @ 2012-06-13 14:32 xwdreamer 阅读(5745) 评论(0) 推荐(0) 编辑
摘要:参照博客某社区600万用户数据导入MYSQL、MSSQL、Oracle数据库方法中“3.3为数据表添加年龄列(2012-6-13)”提到的方法创建测试数据库。1.无索引状态1.1统计 select count(*)然后执行query1,统计年龄在20到30之间的人数。set autotrace onselect count(*) from csdnuser3 where age between 20 and 30;查询与统计结果如下View Code COUNT(*)---------- 1429651执行计划---------------------------------------... 阅读全文
posted @ 2012-06-13 14:29 xwdreamer 阅读(2182) 评论(0) 推荐(0) 编辑
摘要:要生成在[min,max]之间的随机整数,package edu.sjtu.erplab.io;import java.util.Random;public class RandomTest { public static void main(String[] args) { int max=20; int min=10; Random random = new Random(); int s = random.nextInt(max)%(max-min+1) + min; System.out.println(s);... 阅读全文
posted @ 2012-06-13 10:33 xwdreamer 阅读(397493) 评论(12) 推荐(5) 编辑
摘要:数据来源根据博客:某社区600万用户数据导入MYSQL、MSSQL、Oracle数据库方法,我们得到了一个含有600多万条用户数据的oracle数据库。本文就是根据这个来验证数据库索引的特性。1.测试数据库CSDNUSERView Code CREATE TABLE "SCOTT"."CSDNUSER" ( "ID" int primary key not null, "USERNAME" VARCHAR2(256), "PASSWORD" VARCHAR2(256), "EMAIL& 阅读全文
posted @ 2012-06-11 23:18 xwdreamer 阅读(2257) 评论(0) 推荐(0) 编辑
摘要:参考文献http://blog.csdn.net/andyelvis/article/details/24468651、把主键定义为自动增长标识符类型MySql在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值。例如:create table customers(id int auto_increment primary key not null, name varchar(15));insert into customers(name) values("name1"),("name2");select id f 阅读全文
posted @ 2012-06-08 21:00 xwdreamer 阅读(99301) 评论(4) 推荐(5) 编辑
摘要:1.导入MySql数据库参考文献:http://zhuaxia.org/blog/post/1451.1.LOAD DATA INFILE语法因为获得的数据库文件是一个文本文件www.csdn.net.sql,因此需要用到mysql中的LOAD DATA INFILE命令,LOAD DATA INFILE的语法结构如下:View Code LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name' [REPLACE | IGNORE] INTO TABLE tbl_name [CHARACTER SET c. 阅读全文
posted @ 2012-06-08 13:32 xwdreamer 阅读(5042) 评论(2) 推荐(2) 编辑
摘要:参考文献Autotrace 用法总结Oracleautotrace使用说明1、启用Autotrace功能。1.1.作为sys或者sysdba登陆sqlplussqlplus sys/root@orcl as sysdba1.2.运行plustrce.sql脚本@D:\app\oracle\product\11.1.0\db_1\sqlplus\admin\plustrce.sql1.3.给用户授权grant plustrace to public;注意:可以把grant命令中的public替换为某个用户。1.4.set autotrace的使用SQL> set autotrace onS 阅读全文
posted @ 2012-06-07 20:00 xwdreamer 阅读(444) 评论(0) 推荐(0) 编辑
摘要:创建一个emp表:[SQL] create table emp as select object_id empno, object_name ename, created hiredate, owner job from all_objects 受影响的行: 53759时间: 4.172mssql解析:查询all_object表中的object_id,object_name,created和owner字段,并将其重命名为empno,ename,hiredate和job,... 阅读全文
posted @ 2012-06-07 19:33 xwdreamer 阅读(2718) 评论(0) 推荐(0) 编辑
摘要:构建器模式(Builder Pattern):View Code package edu.sjtu.erplab.builder;public class NutritionFacts { private final int servingSize; private final int servings; private final int calories; private final int fat; private final int sodium; private final int carbohydrate; // 构造器,静态内部类 ... 阅读全文
posted @ 2012-06-06 17:05 xwdreamer 阅读(1073) 评论(0) 推荐(0) 编辑
摘要:内部类是定义在另一个类中的类。内部类分类:局部内部类,匿名内部类,静态内部类。局部内部类匿名内部类静态内部类 有些时候,使用内部类只是为了把一个类隐藏在另外一个类的内部,而且并不需要这个内部类引用外围类对象,此时可以将内部类声明为static,以便取消产生的引用。下面是一个使用静态内部类的经典例子。考虑一下计算数组中最大值和最小是的问题。当然可以编写两个方法,一个求最大值,一个求最小值。但是这样做的后果是需要遍历数组两次。假如要求我们只允许遍历一次数组,那么怎么办?这样的好处是提高了效率。 其实遍历一次数组可以求出最大值与最小值,代码如下:View Code double min = Do.. 阅读全文
posted @ 2012-06-06 14:38 xwdreamer 阅读(1439) 评论(0) 推荐(0) 编辑
摘要:静态工厂方法的第四大优势在于,他们可以返回原返回类型的任何子类型的对象。发行版本1.5中引入的类java.util.EnumSet没有共有构造器,只有静态工厂方法。它们返回两种实现类之一,具体取决于底层枚举类型的大小:如果它的元素小于等于64,就像大多数枚举类型一样,静态工厂方法就会返回一个RegularEnumSet实例,用单个long进行支持;如果枚举类型元素个数大于64个,工厂就返回JumboEnumSet实例,用long数组进行支持。具体的工厂方法代码如下所示:View Code /** * Creates an empty enum set with the specifi... 阅读全文
posted @ 2012-06-06 12:53 xwdreamer 阅读(1552) 评论(1) 推荐(0) 编辑
摘要:今天买了Oracle Database 9i/10g/11g编程艺术:深入数据库体系结构(第2版)这本书,该书中的实例都是在SCOTT/TIGER模式下进行的,在我们安装数据库的时候,可以直接选择SCOTT这个模式,如果没有的话,也可以手动创建,这里提到了demobld.sql。那么如何使用demobld.sql文件来创建SCOTT这个模式中的表呢?首先使用sqlplus连接数据,连接代码如下:C:\Users\xuwei>sqlplus scott/tiger@orcl然后执行如下运行sql文件的代码SQL> @d:\demobld.sqldemobld.sql文件放在D盘根目录 阅读全文
posted @ 2012-06-05 18:54 xwdreamer 阅读(5016) 评论(1) 推荐(0) 编辑
摘要:参考文献深入Java集合学习系列:LinkedHashMap的实现原理 阅读全文
posted @ 2012-06-03 19:39 xwdreamer 阅读(4886) 评论(0) 推荐(0) 编辑
摘要:参考文献深入Java集合学习系列:ArrayList的实现原理 阅读全文
posted @ 2012-06-03 19:39 xwdreamer 阅读(7533) 评论(0) 推荐(0) 编辑
摘要:0.参考文献深入Java集合学习系列:HashSet的实现原理1.HashSet概述: HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持。它不保证set的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用null元素。HashSet中不允许有重复元素,这是因为HashSet是基于HashMap实现的,HashSet中的元素都存放在HashMap的key上面,而value中的值都是统一的一个private static final Object PRESENT = new Object();。HashSet跟HashMap一样,都是一个存放链表的数组。 Hash.. 阅读全文
posted @ 2012-06-03 19:38 xwdreamer 阅读(27545) 评论(0) 推荐(3) 编辑
摘要:参考文献:深入Java集合学习系列:LinkedHashSet的实现原理 阅读全文
posted @ 2012-06-03 19:38 xwdreamer 阅读(1016) 评论(0) 推荐(0) 编辑
摘要:参考文献引用文献:深入Java集合学习系列:HashMap的实现原理,大部分参考这篇博客,只对其中进行稍微修改自己曾经写过的:Hashmap实现原理1. HashMap概述: HashMap是基于哈希表的Map接口的非同步实现(Hashtable跟HashMap很像,唯一的区别是Hashtalbe中的方法是线程安全的,也就是同步的)。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。2. HashMap的数据结构: 在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两.. 阅读全文
posted @ 2012-06-03 17:16 xwdreamer 阅读(33169) 评论(8) 推荐(6) 编辑
摘要:参考文献http://hi.baidu.com/zdfgng/blog/item/dd5f88359a1cd0260b55a9ce.html题目假如要查询在a表中存在,但是在b表中不存在的记录,应该如何查询。为了便于说明,我们假设a表和b表都只有一个字段id,a表中的记录为{1,2,3,4,5},b表中的记录为{2,4},那么我们需要通过一个sql查询得到{1,3,5}这样的结果集。一般解法(效率低)看到这个题目,我们首先想到的可能就是not in这样的关键字,具体的查询语句如下:select ta.* from ta where ta.id not in(select tb.id from 阅读全文
posted @ 2012-06-01 13:29 xwdreamer 阅读(24546) 评论(3) 推荐(6) 编辑

点击右上角即可分享
微信分享提示